Lezione 3 Codifica di alto livello: dalla selezione degli elementi da marcare ad XML.

Slides:



Advertisements
Presentazioni simili
Linguaggio C e C++.
Advertisements

Introduzione ad XML Mario Arrigoni Neri.
HTML+XML= XHTML Il ritorno al futuro del WEB A cura di Barbara Lotti.
Lezione 1 Primi passi in HtML SCRIVERE TESTI di Sergio Capone
A. FERRARI Alberto Ferrari. L'HyperText Markup Language (HTML) (traduzione letterale: linguaggio di marcatura per ipertesti) è un linguaggio usato per.
1 Introduzione ad XML. 2 Problemi con SGML Complesso da comprendere ed utilizzare Non è pensato per la rete: mancano link ipertestuali e specifiche grafiche.
Lezione 18 MIDI e XML Programmazione MIDI (Prof. Luca A. Ludovico)
Introduzione ai CSS. Cosa è successo allHTML Perché usare i CSS Introduzione ai CSS Fondamenti.
PHP.
XSLT (eXtensible Stylesheet Language Transformation) Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis
Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La rappresentazione dellinformazione testuale e i linguaggi di codifica.
XML Prof. Alfredo Pulvirenti. XML XML (eXtensible Markup Language) è un meta linguaggio. Può essere definito come un insieme di regole e convenzioni che.
TW Analisi dei documenti n Classificazione dei componenti n Selezione dei componenti, costruzione della gerarchia, dei blocchi informativi e degli elementi.
I file l I File sono l unità base di informazione nellinterazione tra utente e sistema operativo l Un file e costituito da un insieme di byte attinenti.
Laboratorio di Applicazioni Informatiche II mod. A
XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.
Informatica.science.unitn.it Un esempio di architettura basata sulluso di XML e XSL per la pubblicazione di un sito web.
Linguaggi di marcatura e fogli stile Presentazione del corso.
Come scrivere una relazione di fisica.
XML e DTD. –il "PROLOG contiene: dichiarazione della versione di XML; commenti (facoltativi); dichiarazione del DOCUMENT TYPE. –il "DOCUMENT INSTANCE.
1 Anatomia di una pagina Un insieme di pagine web hanno generalmente una parte invariante (o poco): header, navigazione, footer una parte variabile: contenuti.
IDUL 2013 Marcature ad alto livello, corpora e XML.
Lezione 3 Codifica di alto livello: dai formati binari ad XML.
Lezione 4 XML.
IDUL 2011 Marcature ad alto livello, XML. DATA BASE E LINGUAGGI DI MARCATURA Una base di dati organizza dati altamente strutturati ed interconnessi in.
Laboratorio di Informatica
Un’introduzione a HTML (I)
Introduzione e nozioni fondamentali di sintassi
Linguaggi di markup1 LINGUAGGI DI MARKUP. Linguaggi di markup2 Documenti su Internet Internet permette (tra laltro) di accedere a documenti remoti In.
Lenci, Montemagni, Pirrelli Testo e computer – Carocci 2005 Capitolo 2
Lezione 5 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
informatica di base per le discipline umanistiche
Il linguaggio ASP Lezione 4 Manipolare i database con ASP Lutilizzo dei FORM per laggiunta dei dati.
Corso di PHP.
XSLT Trasformazioni XSL Ing. Luca Sabatucci. XSLT Uno dei vantaggi principali nell'utilizzo dell'Extensible Markup Language è la facilità con cui si possono.
Informatica Umanistica A.A. 2009/2010 eXtensible Markup Language (XML)
Importanza DTD La DTD (Document Type Definition) consente di dichiarare in maniera univoca la struttura di markup mediante la definizione dello schema.
Linguaggi di codifica.
1 IsaPress. 2 Obiettivo Realizzare uno strumento di facile uso per estrarre il contenuto da documenti binari di vario tipo in un formato utile per l'impaginazione.
1 IsaPress. 2 Obiettivo Realizzare uno strumento di facile uso per estrarre il contenuto da documenti binari di vario tipo in un formato utile per l'impaginazione.
HyperText Markup Language 17-23/6/08 Informatica applicata B Cristina Bosco.
CORSO AVANZATO INFORMATICA
Creare pagine web Xhtlm. Struttura di una pagina.
HTML Lezione 3 Stili.
BIOINFO3 - Lezione 201 Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere lormai celebre primo programma di prova.
Il Linguaggio HTML “Profe, ma io a casa l’HTML non ce l’ho!“
Il linguaggio HTML Antonella Schiavon – settembre 2008 rev. 1 – aprile 2011.
HTML HyperText Markup Language Linguaggio per marcare un’Ipertesto
Hyper-Text Mark-Up Language
Informatica Umanistica A.A. 2007/2008 LEZIONE 4 eXtensible Markup Language (XML) INTRODUZIONE.
XHTML Corso linguaggi per il web a.s. 2011/2012 ITIS A. Righi – Corsico Relatore – Aldo Guastafierro.
HTML I tag HTML (parte 1). I tag HTML  I comandi che il browser interpreta  Etichette per marcare l’inizio e la fine di un elemento HTML  Formato e.
CORSO Di WEB DESIGN prof. Leonardo Moriello
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Introduzione a Javascript
Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
HTML HTML e il web.
HTML e CSS C. Gena, C. Picardi, J. Sproston HTML e CSS.
Fondamenti di Markup Languages: Richiami di HTML © 2005 Stefano Clemente Stefano Clemente
LTW Annotazioni sul progetto Fabio Vitali. LTW Scopo del progetto Realizzare un sito Web per la lettura e la ricerca di testi e dati su un argomento specifico.
WWW Domande Fabio Vitali. WWW Fabio Vitali2 Domanda 1 Vorrei sapere se quando definiamo un tag a livello di working group, cioè per definire i tag comuni.
Informatica Umanistica LM - Scienze del Testo Docente Alessia Scacchi.
Documenti XML ben formati Altre componenti di un documento XML – Struttura dei documenti XML.
Basi di dati distribuite Prof. M.T. PAZIENZA a.a
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
2 Indice Un esempio Che cosa è A cosa serve Confronto con HTML Punti di forza La sua struttura.
Tecnologia per la comunicazione
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
HTML. Pagina HTML Struttura Titolo Hello World! Paragrafo apre il documento html contiene informazioni come il titolo della pagina, i meta tags, la codifica.
Transcript della presentazione:

Lezione 3 Codifica di alto livello: dalla selezione degli elementi da marcare ad XML

Definizione della struttura di un documento: superare il livello 0 Il testo codificato al livello zero si presenta come un manoscritto in scriptio continua

Formato grafico e codifica L’uso del formato grafico per rappresentare una codifica di alto livello è insufficiente Non sufficientemente esplicito (cosa “significa” un corsivo ?) Difficilmente combinabile (corsivo+grassetto+apice+… = illegibilità) Non applicabile a certi elementi (p.es. fine pagina) o legato a determinate realizzazioni del testo (video a colori, stampa,…) Esteticamente debole

Perché codificare? dato vs informazione La codifica di alto livello trasforma il dato testuale grezzo in fonte esplicita di informazione (definizioni da un vocabolario della lingua italiana) informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere. dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati

Un’informazione è un dato strutturato... un esempio: 56100 su un foglio di carta è un dato e non significa molto ma se il foglio di carta viene fornito in risposta alla domanda “qual è il cap di Pisa?” oppure “qual è il numero del conto bancario del sig. X?”, allora il dato può essere interpretato come fonte di informazione

Perché “dati strutturati“ ? le informazioni sono più volatili, i dati più stabili I dati costituiscono una risorsa strategica, perché più stabili nel tempo di altre componenti (processi, tecnologie, ruoli umani): ad esempio, i dati delle banche o delle anagrafi la storia della scienza è caratterizzata dal continuo cambiamento di informazioni relative a dati relativamente stabili

Perché codificare? I motivi della codifica di alto livello Un testo come flusso di caratteri e parole è una fonte di dati linguistici Il testo è un’entità altamente strutturata, nella quale i dati linguistici sono correlati secondo piani di organizzazione multipli struttura del testo l’ articolazione in sezioni, capitoli, titoli, ecc. struttura del contesto l’autore, la data di produzione, la finalità del testo, ecc. struttura linguistica (implicita nel testo!!) Lingua del testo, differenza testo/citazione … informazioni morfologiche, sintattiche, semantiche Strutture retoriche, argomentative, …

Come codificare? la codifica esplicita di informazione su un testo viene detta annotazione (o “markup”) del testo. Quali passi seguire per effettuare una annotazione? Individuare il livello di informazione da codificare strutturale, linguistica, ecc. Definire il repertorio dei tratti giudicati rilevanti per la codifica Scegliere un formato per associare la annotazione al testo

Scelta delle informazioni da annotare: un esempio La codifica morfo-sintattica oggetto: codificare esplicitamente la categoria grammaticale e le proprietà morfologiche delle parole di un testo. Da definire: quali attributi codificare (cat. grammaticale, persona, genere, numero, caso, ecc.) quali attributi sono compatibili (p.es. non ha senso marcare “Caso” su un elemento marcato “avverbio”) quali valori possono avere i diversi attributi (numero = SING, PLUR; caso = NOM, GEN, ecc.) Cosa fare con elementi ambigui (per es. come codificare “che” in “Che roba!”, “dico che piove”?) e come specificare eventuali valori disgiuntivi (“X è CONG oppure PRON”) Quali criteri di applicazione al testo delle categorie selezionate: attribuire la codifica a tutto il testo, o a una parte? Fino a che livello di dettaglio?

Esempio: categorie morfologiche per l’italiano (Rank Xerox Research Centre) TAG | DESCRIPTION | EXAMPLE ---------------- +--------------------------------------- +--------------------- NSG | singular noun | casa, balsamo NPL | plural noun | case, ventottesimi PROP | proper name | Bernardo, Monte Isola ADJSG | singular adjective | buono, narcisistico ADJPL | plural adjective | belle, trecentocinquesimi VAUXINF | infinitive auxiliary "essere"/"avere" | esser, essere, aver, avere VAUXF | finite auxiliary "essere" or "avere" | è, sarò, saranno, avrete VAUXGER | gerund auxiliary "essere" or "avere" | essendo, avendo VAUXGER_CLIT | gerund auxiliary + clitic | essendogli VAUXIMP | imperative auxiliary | sii, sia, abbi, abbiamo VAUXIMP_CLIT | imperative auxiliary + clitic | siategliene, abbiatemi VAUXPPSG | singular past participle auxiliary | stato/a, avuto/a VAUXPPPL | plural past participle auxiliary | stati/e, avuti/e VAUXPPSG_CLIT | sg. past part. auxiliary + clitic | statone, avutavela VAUXPPPL_CLIT | pl. past part. auxiliary + clitic | statine, avutiti VAUXPRPARTSG | singular present participle auxiliary | essente, avente VAUXPRPARTPL | plural present participle auxiliary | essenti, aventi VINF | verb infinitive | sciupare, trascinar VINF_CLIT | verb infinitive + clitic | spulciarsi, risucchiarsi VF | finite verb form | blatereremo, rantolo VF_CLIT | finite verb + clitic | trattansi, leggevansi … | … | …

Come associare testo e codifica? Dovendo associare altre informazioni al testo, alcuni requisiti generali: Mantenere una chiara divisione tra il testo e la annotazione relativa (informazione vs. metainformazione); Esempio negativo: “Come Cong. andò V_intr che Cong. Maestro N … “ Permettere di scorporare testo e annotazione; Avere annotazioni ragionevolmente autoesplicative; Non consumare troppo spazio; Permettere all’utente facili aggiunte/modifiche Permettere l’uso del testo annotato su una varietà di sistemi informatici (tramite “formati aperti”) Limitare la obsolescenza (del formato dati e del supporto di registrazione)

Come associare testo e codifica? Alcune opzioni: Usare un formato solo testo (plain text o txt): ogni carattere è stampabile (tabelle ASCII, ISO-8859, UNICODE) Vantaggi formato “aperto”, indipendente dal sistema operativo e dal programma che lo ha creato massima portabilità e interscambiabilità dei testi (modificabili con normali editori di testo: notepad, scite, emacs…) Svantaggi Se l’annotazione è trasparente, tende a occupare molto spazio. Possibile confondere testo e annotazione (metatesto)

Come associare testo e codifica? i linguaggi di marcatura Codifica di alto livello con linguaggi di markup (linguaggi di marcatura) dal punto di vista del formato digitale un testo codificato con un linguaggio di marcatura è in formato solo testo  buona interoperabilità  Scarsa obsolescenza (specie se associato ad uno standard e non semplicemente ad un software) l’informazione strutturale è rappresentata attraverso l’aggiunta al testo di etichette (o tag) di marcatura, chiaramente identificabili Buona distinzione testo/metatesto Non un buon modo per risparmiare spazio (ma esiste sempre la possibilità di comprimere il file; non un problema di conservazione con gli hardware attuali; problema, in caso, di trasmissione via rete)

Un passo indietro: due tipi di marcatura del testo Marcatura procedurale (detta anche marcatura tipografica) che consiste in una serie di istruzioni operative che forniscono le specifiche di formattazione e impaginazione del testo per la visualizzazione e la stampa (vedremo in seguito LaTeX) Marcatura dichiarativa (detta anche marcatura logica o descrittiva) dove i codici di marcatura indicano la funzione assolta dal blocco di testo a cui si riferiscono, ad esempio titolo, paragrafo, nota, citazione ecc. senza fornire indicazione di come tali elementi del testo dovranno apparire fisicamente sulla pagina o sul video (es. SGML, XML)

Marcatura procedurale basata sull’aspetto ad ogni elemento del documento viene associata la procedura per visualizzarlo in maniera voluta: font, dimensione, corsivi, grassetti, margini, interlinea, ecc. dipendente dal sistema ogni sistema di visualizzazione impone le proprie regole e la propria sintassi associata agli elementi individuali ogni elemento ha le proprie procedure per la visualizzazione, che possono anche essere tutte diverse anche per elementi dello stesso tipo. non contestuale le regole di visualizzazione non dipendono dal contesto in cui vengono fatte, ma ognuna fa specie a sé non è possibile porre vincoli sulla "correttezza" di un documento.

Marcatura dichiarativa basata sul ruolo di ogni elemento viene descritto il ruolo all’interno del testo, più che le regole per la sua visualizzazione indipendente dal sistema poiché il markup descrittivo assegna ruoli (e non regole di visualizzazione) agli elementi del testo, questi sono intrinseci agli elementi stessi, e non alle funzionalità disponibili nel sistema di visualizzazione contestuale con il markup descrittivo è possibile definire delle regole che permettano o impediscano l’assegnazione di un ruolo ad un elemento del testo a seconda del contesto è possibile specificare regole di correttezza sui documenti, ad esempio che ad un'immagine segua necessariamente una didascalia, ecc.

Marcatura dichiarativa: vantaggi facilità nella creazione: l’autore si concentra sul ruolo organizzativo delle singole parti di testo, piuttosto che sul loro aspetto stampato indipendenza dalla formattazione: riformattare un documento secondo nuove regole richiede semplicemente di ricodificare dei parametri esterni, non di modificare in alcuna maniera il testo codificato flessibilità: riusare un testo codificato in un nuovo contesto è facile, perché non è necessario rimuovere la vecchia informazione per far posto alla nuova visioni di documenti dinamicamente riconfigurabili: è possibile selezionare viste diverse dello stesso documento

L’XML (eXtensible Markup Language) è un nuovo linguaggio di markup sviluppato dallo XML Working Group del W3C a partire dal 1996 XML è uno dei più importanti sviluppi nella storia della computazione. Negli ultimi anni è stato adottato in campi molto diversi tra loro: legge, aeronautica, finanza, sicurezza, robotica, turismo, arte, design del software, fisica, letteratura, … XML è nato dallo sforzo di dare forza e struttura all’SGML (“Standard Generalized Markup Language”, ISO standard: ISO 8879:1986) nel web, in una forma che fosse però abbastanza semplice per gli utenti non esperti.

XML XML nasce dalla lunga storia dei sistemi di elaborazione di testi allo scopo di permettere l’elaborazione delle informazioni piuttosto che la loro visualizzazione in un documento XML, quindi, non e’ necessario fare alcun riferimento al modo in cui le informazioni verranno visualizzate: le regole per la visualizzazione saranno inserite in un foglio esterno chiamato foglio di stile XML permette all’utente di definire il proprio insieme di tag (elementi) e in questo senso può essere considerato un meta-markup language: i tag definiti dall’utente possono avere dei nomi che rispecchiano il contenuto del documento stesso

Struttura logica generale dei tag XML (HTML/SGML) <marcatore>testo a cui si riferisce</marcatore> <marcatore attributo=“valore”>testo a cui si riferisce</marcatore> <marcatore_aperto_e_chiuso/> Oltre al termine “marcatore” si usa “etichetta” o l’inglese “tag”; il termine tecnico è “elemento” A differenza che in SGML ed in HTML, in XML ogni marcatore aperto deve essere chiuso (XML è più restrittivo di SGML)

Markup XML per codifica strutturale <libro> <titolo>Le avventure di Pinocchio <sottotitolo>Storia di un burattino</sottotitolo> </titolo> <autore>Carlo Collodi</autore> <parte p_id=”1”> <titolo>Parte prima</titolo> <capitolo c_id=”I”> <titolo> Come andò che maestro Ciliegia, falegname, trovò un pezzo di legno, che piangeva e rideva come un bambino.</titolo> <capoverso num=”p1c1c1”>C'era una volta...</capoverso> <capoverso num=”p1c1c2”>- Un re! - diranno subito i miei piccoli lettori.</capoverso> <capoverso num=”p1c1c3”>No, ragazzi, avete sbagliato. C'era una volta un pezzo di legno.</capoverso> <capoverso num=”p1c1c4”>Non era un legno di lusso, ma un semplice pezzo da catasta, di quelli che d'inverno si mettono nelle stufe e nei caminetti per accendere il fuoco e per riscaldare le stanze.</capoverso> </capitolo></parte> </libro>

Markup doppio markup per la codifica di informazione strutturale + markup (parziale) per la codifica di informazione linguistica <libro> … <parte> <capitolo c_id=”I”> <titolo>Come <parola cat=“V” tempo=“passRem”>andò</parola> che <parola cat=“N” genere=“m” num=“s”>maestro</parola> Ciliegia, falegname, trovò <sintagma tipo=”nominale”><parola cat=“artInd” genere=m” num=“s”>un</parola> pezzo di legno</sintagma>, che piangeva e rideva come un bambino. </titolo> </capitolo></parte> </libro>

Problema: Markup incrociato Con la presenza di markup multiplo si pone il problema delle etichette incrociate <pagina pag_n=“1”>…Non era un legno di lusso, ma un semplice pezzo da catasta, di quelli <frase-rel>che d'inverno si mettono nelle stufe</pagina><pagina pag_n=“2> e nei caminetti per accendere il fuoco e per riscaldare le stanze.</frase-rel> <grassetto>AAA<corsivo>BBB</grassetto>CCC…</corsivo> La sintassi dell’ XML non permette questi incroci!!! (e neanche quella dell’ HTML, anche se i browser sono a questo proposito molto accomodanti)

Principali differenze fra HTML e XML XML non è un sostituto del HTML: XML e HTML sono stati pensati per scopi diversi. XML è pensato per descrivere dati e porre l'attenzione su cosa sono (marcatura dichiarativa) HTML è pensato per visualizzare dati e porre l'attenzione su come presentarli (marcatura mista procedurale/dichiarativa) Tuttavia, è possibile tradurre tutto l’HTML in XML: il risultato si chiama XHTML HTML + Browser: sistema di visualizzazione di dati; XML + Processore XML + Applicazione = formato dati generale

SGML XHTML XML HTML funziona come

Le parti di un progetto XML Un documento in XML è in realtà la combinazione di tre parti. Ci riferiamo ad esse come tre documenti separati; spesso, ma non necessariamente, sono anche file separati in maniera fisica. Un documento dei contenuti cioé la parte che l’autore vuole esporre a chi la visualizza o utilizza; Un documento DTD (Document Type Definition) che specifica i macatori usati e la loro sintassi; Uno stylesheet (foglio di stile) che stabilisce come verrà visualizzato e presentato il contenuto. La DTD è opzionale e spesso viene caricata direttamente dal web tramite una chiamata all’interno del documento dei contenuti (meccanismo dei “Namespace”) Il foglio di stile è opzionale, e superfluo se il contenuto non deve essere visualizzato in modo particolare.

XML Un documento XML è costituito da composizioni di stringhe, ovvero sequenze di caratteri UNICODE. Caratteristica di XML è quella di essere CASE SENSITIVE, ovvero di fare differenza tra lettere maiuscole e minuscole. Pertanto il tag "Pino" è diverso dai tag "pino", "pIno", "PINO", ecc.

Parti di un documento XML Un documento XML si compone di due parti principali: il "PROLOG“ contiene: dichiarazione della versione di XML; commenti (facoltativi); dichiarazione del DOCUMENT TYPE. il "DOCUMENT INSTANCE“ contiene i dati veri e propri.

<?xml version="1.0" encoding="…" standalone="yes" ?> Esempio di Prolog un documento XML dovrebbe iniziare con <?xml version="1.0" encoding="…" standalone="yes" ?> se non si specifica il valore dell’attributo encoding la codifica è quella UNICODE standalone può assumere valori "yes" o "no" (il cui significato sarà chiaro in seguito) <?xml version="1.0"?> <!-- Documento di prova --!> <!DOCTYPE MEMO SYSTEM "memo.dtd"> nome del documento file con la descrizione della struttura

Esempio di Document Instance Un documento XML è un documento di testo ed è formato da tag che una volta aperti devono SEMPRE essere chiusi <memo> <da> <nome>Ugo</nome> <email>ugo@megaditta.it</email> </da> <a> <nome>Pina</nome> <email>Pina@casamia.it</email> </a> <oggetto>San Valentino</oggetto> <testo><paragrafo>Pina.... ti amo moltissimo! Tuo Ugo.</paragrafo> </testo> </memo>

<?xml version="1.0" standalone="no" ?> <memo> <from> <name>Rossi</name> <email>rossi@tin.it</email> </from> <to> <name>Verdi</name> <email>verdi@tiscalinet.it</email> </to> <oggetto>Esempio in XML</oggetto> <body> <paragrafo>bla bla</paragrafo> </body> </memo> N.B. L’uso del rientro variabile (“indentation”) non è parte della sintassi XML, ma un modo per aiutare gli esseri umani nella identificazione della struttura. Idem per l’uso dei colori, di grassetto, font, ecc.

XML - struttura ad albero Un documento XML definisce una struttura ad albero che si ottiene esaminando le relazioni di annidamento che esistono tra i tag Deve esistere un solo tag che non sia all’interno di nessun altro. Questo tag definisce la radice dell’albero (“root”) (nellì’esempio, “memo”). verdi@tiscalinet.it memo from to body oggetto name email paragrafo Rossi rossi@tin.it Verdi esempio in XML bla bla

Root (“radice”) e componenti Ogni documento XML ben formato (“well-formed”) ha un solo elemento radice/root Gli elementi non ROOT sono chiamati COMPONENTI del documento.