Transcript Presentazione del corso
Presentazione 1.5
Extensible Markup Language (XML)
Architettura dell'informazione | Prof. Luca A. Ludovico
Introduzione a XML
• XML (acronimo di eXtensible Markup Language ) è un metalinguaggio di markup, ovvero un linguaggio marcatore che definisce un meccanismo sintattico che consente di estendere o controllare il significato di altri linguaggi marcatori • Il nome indica quindi che si tratta di un linguaggio marcatore (markup language) estensibile (eXtensible) in quanto permette di creare tag personalizzati Architettura dell'informazione Prof. Luca A. Ludovico
Cos’è XML (e cosa non è)
• XML è contemporaneamente: – Linguaggio di personalizzati annotazione o etichettatura o marcatura (markup) che permette di creare gruppi di marcatori o etichette (tag set) – Formato standard per lo scambio dei dati – Metalinguaggio per creare documenti arricchiti da informazioni addizionali – Un supporto per la costruzione di formati specifici per gli usi più disparati (esempi: MathML, XHTML, ChemicalML, ecc..) • XML non è: – Un sostituto di HTML: le pagine web continueranno ad essere scritte in HTML. XML è un metalinguaggio, HTML è un linguaggio – Un linguaggio di programmazione: ogni documento XML contiene dati ed informazioni sui dati. Questi vengono poi estratti ed elaborati dalle varie applicazioni.
Architettura dell'informazione Prof. Luca A. Ludovico
Il background di XML
• Sottoinsieme di Standard Generalized Markup Language (SGML), nato negli anni ‘60 SGML XHTML MathML MusicXML … XML HTML • La sua adozione estensiva deriva dal successo dell’HMTL come linguaggio per descrivere pagine Web • Standard approvato dal World Wide Web Consortium (W3C, http://www.w3.org) Architettura dell'informazione Prof. Luca A. Ludovico
Pervasività di XML: alcuni esempi
• Dalla versione 2007 in avanti i software della suite Microsoft Office adottano principalmente i formati XML – .docx per Word, .pptx per PowerPoint, .xlsx per Excel – .odt e .odf di OpenOffice, principale competitor • Molti siti (tra cui ludovico.net) sono scritti in XHTML, un linguaggio basato su XML per creare pagine Web • Gran parte dei software per l’editing digitale della partitura supportano il formato MusicXML • Il formato EPUB (electronic publication) per gli e-book è XML Piè di pagina: spazio libero per eventuale nome struttura o altro
Benefici di XML
• Interscambiabilità su Internet (è plain text e supportato dal W3C) • Struttura gerarchica • Intelligibilità (è plain text e i marcatori sono evocativi) • Estensibilità • Enorme disponibilità di tool per la lettura, la creazione e la manipolazione dei documenti Architettura dell'informazione Prof. Luca A. Ludovico
I tag in XML
• In un documento XML possiamo “inventare” i tag
Lettura intuitiva dell’XML
• La prima linea del documento (opzionale) identifica lo stesso come un XML ed indica anche la versione • Il primo tag
• I restanti tag specificano il contenuto della nota in termini di titolo, mittente, destinatario e messaggio • L’ultimo tag conclude la descrizione della nota • I tag si dividono in: – Tag di apertura – Tag di chiusura (start tag):
Un esempio in XML
Elementi
• Un elemento XML è tutto ciò che è compreso tra un tag di apertura (incluso) ed il corrispettivo tag di chiusura (incluso)
Esempio: l’elemento
Esempio: l’elemento
Esempio di etichettatura
Start tag Elemento
Esempio
• Un elemento può contenere: – Altri elementi
Estensibilità degli elementi
• Gli elementi in XML sono estensibili • In questo modo è possibile mantenere compatibilità delle nuove versioni del formato con versioni precedenti del software (retrocompatibilità, o backward compatibility) • Es: Versione 1.0
Versione 2.0
Modello ad albero
• Gli elementi in XML sono in relazione (di contenimento, di paternità, …) tra di loro e queste relazioni determinano il modello del documento • Il documento è organizzato come un albero, in cui la relazione di contenimento tra elementi è equivalente alla relazione nodo sottonodo • Es:
Modello ad albero
Attributi
• Gli attributi sono informazioni aggiuntive che possono essere inserite negli elementi XML per completarne o arricchirne l’informazione
Attributi o elementi?
• Spesso le stesse informazioni possono essere rappresentate sia tramite attributi che tramite (sotto)elementi. Queste sono alcune tra le molte varianti ammissibili: Sottoelementi
Attributi o elementi?
• La scelta tra attributi o elementi ( quando si progetta il linguaggio ) è soggettiva, tuttavia le due soluzioni non sono in genere equivalenti – Quando invece di progettare il formato si aderisce a un sottolinguaggio XML specifico, le regole sulla codifica dell’informazione sono prefissate • Problemi con gli attributi: – Non possono contenere valori multipli
Esempi
Architettura dell'informazione Prof. Luca A. Ludovico
Regole sintattiche
• Tutti i tag aperti devono essere chiusi Corretto Non corretto
paragrafo1
paragrafo2
paragrafo1
paragrafo2 • I tag devono essere correttamente annidati, o innestati (nested) quindi l’ordine di chiusura deve essere inverso rispetto a quello di apertura Corretto corsivo e grassetto Non corretto corsivo e grassetto Architettura dell'informazione Prof. Luca A. Ludovico
Regole sintattiche
• Ogni documento XML deve avere uno ed un solo elemento radice. Corretto
– Ad esempio, se è necessario rappresentare tanti elementi
Regole sintattiche
• I valori degli attributi devono sempre essere inclusi tra apici Corretto
Well-formedness vs Validity
• Un documento è detto XML.
well-formed (ben formato) regole grammaticali fornite dal W3C, di cui sono esempio le regole sintattiche elencate.
se segue le Quindi, un documento è ben formato rispetto all’XML in generale, non rispetto a un particolare formato basato su • Un documento è detto valid (valido) se è conforme ad un DTD che ne specifica la struttura.
Per essere valido, il documento deve essere innanzi tutto ben formato > well-formedness è condizione necessaria, ma non sufficiente per la validity.
La validità si verifica rispetto a un particolare linguaggio basato su XML, ad esempio rispetto a MathML o XHTML.
Architettura dell'informazione Prof. Luca A. Ludovico
Well-formedness vs Validity
• In altri termini: – Un documento è detto well-formed (ben-formato) regole grammaticali fornite dal W3C.
se segue le – Un documento è detto valid (valido) se è conforme ad un DTD che ne specifica la struttura.
Architettura dell'informazione Prof. Luca A. Ludovico
Esempio di documento XML
Architettura dell'informazione Prof. Luca A. Ludovico
Esempio di documento XML
Esempio di documento XML