250 likes | 510 Views
Sintassi di XML. Struttura logica di un documento XML Sintassi di elementi e attributi Albero di un documento XML Documento XML ben formato. PROLOGO. CORPO DEL DOCUMENTO. Struttura logica di un documento. <?xml version="1.0"? encoding=“...” standalone=“...”>
E N D
Sintassi di XML Struttura logica di un documento XML Sintassi di elementi e attributi Albero di un documento XML Documento XML ben formato
PROLOGO CORPO DEL DOCUMENTO Struttura logica di un documento <?xml version="1.0"? encoding=“...” standalone=“...”> <!-- Questo è un documento XML --> <!DOCTYPE ...> <documento> <titolo>Documento XML</titolo> <data>22/03/2003</data> <testo>Documento testuale in XML</testo> </documento>
Prologo • Il prologo contiene informazioni utili per l’interpretazione del documento. • In particolare, può contenere: • Una dichiarazione che il documento è in formato xml (opzionale). • Una descrizione esplicita della struttura del documento (Document Type Definition) (opzionale). • Commenti e informazioni per applicazioni software che utilizzeranno il documento (zero o più). • Eventuali commenti.
Processing Instructions • I documenti XML vengono solitamente processati da applicazioni software. • Può essere necessario fornire a questi programmi informazioni necessarie per elaborare un documento (processing instructions). • Le processing instructions vanno inserite nel prologo del documento e sono sempre racchiuse tra <? e ?>. • Ad esempio, informare un browser che deve utilizzare un certo foglio di stile per visualizzare i dati in HTML (lo verdremo...). <?xml-stylesheet type=“text/css” href=“style.css”?>
Corpo del documento: Elementi Un elemento XML è l’insieme di un tag di apertura, un tag di chiusura e dei dati compresi fra i due tag. Esempio: <TitoloLegge>Disciplina delle associazioni di promozione sociale</TitoloLegge> • Alcuni elementi XML possono essere vuoti, cioè privi di valore; in questo caso si possono usare le seguenti due codifiche alternative ed equivalenti: • <DataFineLezione> </DataFineLezione> • <DataFineLezione/>
Regole sintattiche Il tag di chiusura deve essere sempre presente. In XML tutti gli elementi devono avere un tag di chiusura. Esempio: <Comma>1. ............... </Comma> <Comma>2. ............... </Comma> NOTA: ciò non è richiesto in HTML, dove alcuni elementi possono non avere il tag di chiusura, dato che la sintassi del linguaggio non lo richiede obbligatoriamente. Esempio: <p>Questo è un paragrafo. <b>Questo è un testo in grassetto.
Altre regole... XML è case-sensitive, quindi c’è differenza tra caratteri maiuscoli e minuscoli. I seguenti elementi: <TitoloLegge>Protezione dell’ambiente</TitoloLegge> <titololegge>Protezione dell’ambiente</titololegge> sono diversi tra loro! Il tag di apertura e il corrispondente tag di chiusura devono avere lo stesso nome anche in termini di maiuscole e minuscole: <TAG> </TAG> è corretto <TAG> </Tag> non è corretto
In XML un elemento può essere contenuto (nidificato) in un altro; nell’esempio che segue, l’elemento Comma è nidificato all’interno dell’elemento Articolo. • Esempio: • <Articolo> • <Comma>1. ........... </Comma> • </Articolo> • L’ordine di chiusura dei tag deve essere inverso rispetto all’ordine di apertura (in HTML non è sempre richiesto). • Esempio errato: • <Articolo> <Comma>1. ........... </Articolo> </ Comma > • Deve esistere un tag (unico) che contenga tutti gli altri e questo tag si dice tag root (radice). Altre regole... Gli elementi devono essere correttamente nidificati.
Altre regole... • I nomi dei tag possono essere inventati a nostro piacere, a patto che rispettiamo alcune regole di definizione dei nomi: • Devono iniziare con un carattere o con un underscore ( _ ). • Non possono iniziare con numeri. • Possono contenere un qualsiasi numero di lettere, numeri, trattini, punti, underscore. • Non possono contenere spazi. • Conviene evitare di utilizzare le tre lettere xml nei nomi dei tag perchè spesso queste corrispondono a nomi utilizzati anche da tecnologie elaborate dai gruppi di lavoro sull’XML del W3C.
Caratteri riservati Nel caso in cui sia necessario scrivere all’interno del testo del documento dei caratteri particolari (come <, >, &, ecc...) occorre fare riferimento al loro corrispondente entity-name, che consiste in una &, un nome e un punto e virgola finale. Esempio: se vogliamo scrivere la frase L’Osservatorio nazionale, denominato in seguito con “Osservatorio”, ... dobbiamo codificarlo nel seguente modo: L'Osservatorio nazionale, denominato in seguito con "Osservatorio", ...
Attributi Gli attributi vengono utilizzati per aggiungere una caratteristica o una proprietà ad un elemento. • Un attributo è una coppia nome-valore separata da un segno di uguale (=) che può essere presente all’interno del tag di apertura di un elemento, dopo il nome dell’elemento stesso. • Un elemento può contenere uno o più attributi. • Il valore di un attributo deve essere racchiuso fra “ ” o ‘ ’. • Ogni attributo è sempre associato ad un elemento, non ha vita autonoma. • Lo stesso attributo può ricorrere anche in più elementi.
Attributi: esempi <Prezzo Valuta=“Euro”>10</Prezzo> <Prezzo Valuta=‘Euro’>20</Prezzo> CORRETTI <Prezzo Valuta=Euro>10</Prezzo> <Prezzo>20</Prezzo Valuta=“Euro” > SBAGLIATI
Albero XML Ogni documento XML deve contenere un solo elemento radice, cioè un elemento che racchiude tutti gli altri elementi secondo una struttura di relazione padre-figlio, cioè strettamente gerarchica. L’elemento radice è il primo elemento di un documento XML. Le relazioni gerarchiche esistenti fra i vari elementi danno vita al cosiddetto albero XML.
Albero XML: esempio Versione testualeVersione grafica elemento radice <Legge> ... <TitoloLegge>...</TitoloLegge> <Articolato> <Capo Num=“I”> <Articolo Num=“1”> <Rubrica></Rubrica> <Comma Num=“1”>...</Comma> <Comma Num=“2”>...</Comma> </Articolo> </Capo> </Articolato> </Legge> Legge TitoloLegge Articolato Capo Articolo Rubrica Comma
Documento ben formato (1 di 3) Un documento XML si dice ben formato se: • Tutti i tag di apertura e chiusura corrispondono, anche nei caratteri maiuscoli e minuscoli. • Esempio: <Titolo>Tesi di Laurea</Titolo> • Ogni elemento (tag) deve essere chiuso esplicitamente, o con un tag di chiusura o con una forma contratta. • Esempio: <Libro isbn="2-266-04744-2"> • <Titolo>Il libro della Giungla</Titolo> • <Prezzo euro=“7”/> • </Libro>
Documento ben formato (2 di 3) • Tutti i tag sono correttamente nidificati. • Esempio: • <Articolo Num=“1”> • <Rubrica>Finalità e oggetto della legge</Rubrica> • <Comma Num=“1”>La Repubblica ...</Comma> • </Articolo> • Esiste un elemento radice che contiene tutti gli altri. • Esempio: <Legge> • ..... • </Legge>
Documento ben formato (3 di 3) • Tutti i valori degli attributi sono racchiusi fra apici o doppi apici. • Esempio: <Articolo Num=“1”> • Un elemento non può avere più attributi con lo stesso nome. • Esempio corretto: • <libro> • <autore>Rossi</autore> • <autore>Verdi</autore> • </libro> • Esempio scorretto: <libro autore=“Rossi” autore=“Verdi”/>
Esempio: documento ben formato <?xml version=“1.0”?> <Libro> <Titolo>XML tascabile</Titolo> <Editore>Mondadori Informatica Libri</Editore> <Prezzo Valuta=“Euro”>7.70</Prezzo> <Descrizione>Si tratta di un tascabile che accompagna il lettore nella scoperta della tecnologia XML e delle sue applicazioni concrete nello sviluppo di software.</Descrizione> <Struttura> <Pagine>288</Pagine> <Capitoli>12</Capitoli> <Appendici>2</Appendici> </Struttura> </Libro>
Esempio: documento non ben formato <?xml version=“1.0”?> <Libro> <Titolo>XML tascabile</Titolo> <Editore>Mondadori Informatica Libri</Editore> <Prezzo Valuta=Euro>7.70</Prezzo> <Descrizione>Si tratta di un tascabile che accompagna il lettore nella scoperta della tecnologia XML e delle sue applicazioni concrete nello sviluppo di software.</descrizione> <Struttura> <Pagine>288<Capitoli> </Pagine>12</Capitoli> <Appendici>2</Appendici> </struttura> </Libro> Esercizio: trovare gli errori!
Parser XML (1 di 2) Per elaborare un documento XML occorre un apposito programma software chiamato parser o processore XML. Operazioni svolte dal parser: • legge il documento XML • controlla se è ben formato, cioè controlla la sua sintassi • segnala eventuali errori • elabora il contenuto del documento
Parser XML (2 di 2) • Molti parser XML possono essere scaricati gratuitamente dal Web. • Alcuni applicazioni, come ad esempio il browser Microsoft Internet Explorer 5 (IE5), includono i loro parser XML. • Nel prossimo esempio utilizzeremo il parser XML di IE5, chiamato msxml. Fra i parser più noti figurano Xerces di Apache, Java API for XML Parsing (JAXP) di Sun Microsystem e XML for Java (XML4J) dell’IBM.
Il parser msxml (1 di 3) • Un documento XML contiene dati, non informazioni formattate. Quando un documento XML viene caricato in IE5, viene elaborato dal parser msxml. • Se il documento è ben formato, il parser mette a disposizione dell’applicazione (IE5) i dati, utilizzando il documento XML. • L’applicazione può formattare e rappresentare i dati o svolgere altre elaborazioni. • Creiamo per esempio un documento XML chiamato intro.xml.
Il parser msxml (2 di 3) • Carichiamo il file intro.xml in IE5: il browser visualizza i dati (come indica la videata sotto), applicando un foglio di stile (stylesheet) che formatta e colora i simboli di markup. • Il foglio di stile potrebbe applicare altri tipi di formattazione per rappresentare il documento XML, ma questa formattazione è quella di default scelta di Microsoft.
Il parser msxml (3 di 3) • Se un documento XML non è ben formato, il parser genera un errore.
Sintassi di XMLSommario • In questa lezione abbiamo appreso: • qual’è la struttura logica di un documento XML • cos’è un elemento XML • cos’è un attributo XML • la definizione di documento ben formato • che cos’è un parser XML (msxml) Esempi • Passi successivi: • la prossima lezione sarà dedicata allo spazio dei nomi, o Namespace.