Tecnologie di Internet Sintassi di XML Struttura logica

  • Slides: 25
Download presentation
Tecnologie di Internet Sintassi di XML Ø Struttura logica di un documento XML Ø

Tecnologie di Internet Sintassi di XML Ø Struttura logica di un documento XML Ø Sintassi di elementi e attributi Ø Albero di un documento XML Ø Documento XML ben formato Dott. Nicola Dragoni

Tecnologie di Internet Sintassi di XML Struttura logica di un documento PROLOGO <? xml

Tecnologie di Internet Sintassi di XML Struttura logica di un documento PROLOGO <? 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> CORPO DEL DOCUMENTO Dott. Nicola Dragoni 2

Tecnologie di Internet Sintassi di XML Prologo • Il prologo contiene informazioni utili per

Tecnologie di Internet Sintassi di XML 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. Dott. Nicola Dragoni 3

Tecnologie di Internet Sintassi di XML Processing Instructions § I documenti XML vengono solitamente

Tecnologie di Internet Sintassi di XML 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 ? >. q 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”? > Dott. Nicola Dragoni 4

Tecnologie di Internet Sintassi di XML Corpo del documento: Elementi Un elemento XML è

Tecnologie di Internet Sintassi di XML 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: <Titolo. Legge>Disciplina sociale</Titolo. Legge> delle associazioni di promozione Alcuni elementi XML possono essere vuoti, cioè privi di valore; in questo caso si possono usare le seguenti due codifiche alternative ed equivalenti: • <Data. Fine. Lezione> </Data. Fine. Lezione> • <Data. Fine. Lezione/> Dott. Nicola Dragoni 5

Tecnologie di Internet Sintassi di XML Regole sintattiche Il tag di chiusura deve essere

Tecnologie di Internet Sintassi di XML 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. Dott. Nicola Dragoni 6

Tecnologie di Internet Sintassi di XML Altre regole. . . XML è case-sensitive, quindi

Tecnologie di Internet Sintassi di XML Altre regole. . . XML è case-sensitive, quindi c’è differenza tra caratteri maiuscoli e minuscoli. I seguenti elementi: <Titolo. Legge>Protezione dell’ambiente</Titolo. Legge> <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 Dott. Nicola Dragoni 7

Tecnologie di Internet Sintassi di XML Altre regole. . . Gli elementi devono essere

Tecnologie di Internet Sintassi di XML Altre regole. . . Gli elementi devono essere correttamente nidificati. • 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). Dott. Nicola Dragoni 8

Tecnologie di Internet Sintassi di XML Altre regole. . . I nomi dei tag

Tecnologie di Internet Sintassi di XML 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 W 3 C. Dott. Nicola Dragoni 9

Tecnologie di Internet Sintassi di XML Caratteri riservati Nel caso in cui sia necessario

Tecnologie di Internet Sintassi di XML 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. Carattere Entity-name < < & & > > “ " ‘ &apos; Esempio: se vogliamo scrivere la frase L’Osservatorio nazionale, denominato in seguito con “Osservatorio”, . . . dobbiamo codificarlo nel seguente modo: L&apos; Osservatorio nazionale, denominato in seguito con " Osservatorio" , . . . Dott. Nicola Dragoni 10

Tecnologie di Internet Sintassi di XML Attributi Gli attributi vengono utilizzati per aggiungere una

Tecnologie di Internet Sintassi di XML 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. Dott. Nicola Dragoni 11

Tecnologie di Internet Sintassi di XML Attributi: esempi <Prezzo Valuta=“Euro”>10</Prezzo> <Prezzo Valuta=‘Euro’>20</Prezzo> CORRETTI <Prezzo

Tecnologie di Internet Sintassi di XML Attributi: esempi <Prezzo Valuta=“Euro”>10</Prezzo> <Prezzo Valuta=‘Euro’>20</Prezzo> CORRETTI <Prezzo Valuta=Euro>10</Prezzo> <Prezzo>20</Prezzo Valuta=“Euro” > SBAGLIATI Dott. Nicola Dragoni 12

Tecnologie di Internet Sintassi di XML Albero XML Ogni documento XML deve contenere un

Tecnologie di Internet Sintassi di XML 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. Dott. Nicola Dragoni 13

Tecnologie di Internet Sintassi di XML Albero XML: esempio Versione testuale Versione grafica <Legge>.

Tecnologie di Internet Sintassi di XML Albero XML: esempio Versione testuale Versione grafica <Legge>. . . <Titolo. Legge>. . . </Titolo. Legge> <Articolato> <Capo Num=“I”> <Articolo Num=“ 1”> <Rubrica></Rubrica> <Comma Num=“ 1”>. . . </Comma> <Comma Num=“ 2”>. . . </Comma> </Articolo> </Capo> </Articolato> </Legge> elemento radice Legge Titolo. Legge Articolato Capo Articolo Rubrica Comma Dott. Nicola Dragoni 14

Tecnologie di Internet Sintassi di XML Documento ben formato (1 di 3) Un documento

Tecnologie di Internet Sintassi di XML 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> Dott. Nicola Dragoni 15

Tecnologie di Internet Sintassi di XML Documento ben formato (2 di 3) • Tutti

Tecnologie di Internet Sintassi di XML 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> Dott. Nicola Dragoni 16

Tecnologie di Internet Sintassi di XML Documento ben formato (3 di 3) • Tutti

Tecnologie di Internet Sintassi di XML 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”/> Dott. Nicola Dragoni 17

Tecnologie di Internet Sintassi di XML Esempio: documento ben formato <? xml version=“ 1.

Tecnologie di Internet Sintassi di XML 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> Dott. Nicola Dragoni 18

Tecnologie di Internet Sintassi di XML Esempio: documento non ben formato <? xml version=“

Tecnologie di Internet Sintassi di XML 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> Dott. Nicola Dragoni 19

Tecnologie di Internet Sintassi di XML Parser XML (1 di 2) Per elaborare un

Tecnologie di Internet Sintassi di XML 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 Dott. Nicola Dragoni 20

Tecnologie di Internet Sintassi di XML Parser XML (2 di 2) • Molti parser

Tecnologie di Internet Sintassi di XML 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 (IE 5), includono i loro parser XML. • Nel prossimo esempio utilizzeremo il parser XML di IE 5, chiamato msxml. Fra i parser più noti figurano Xerces di Apache, Java API for XML Parsing (JAXP) di Sun Microsystem e XML for Java (XML 4 J) dell’IBM. Dott. Nicola Dragoni 21

Tecnologie di Internet Sintassi di XML Il parser msxml (1 di 3) • Un

Tecnologie di Internet Sintassi di XML Il parser msxml (1 di 3) • Un documento XML contiene dati, non informazioni formattate. Quando un documento XML viene caricato in IE 5, viene elaborato dal parser msxml. • Se il documento è ben formato, il parser mette a disposizione dell’applicazione (IE 5) 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. Dott. Nicola Dragoni 22

Tecnologie di Internet Sintassi di XML Il parser msxml (2 di 3) • Carichiamo

Tecnologie di Internet Sintassi di XML Il parser msxml (2 di 3) • Carichiamo il file intro. xml in IE 5: 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. Dott. Nicola Dragoni 23

Tecnologie di Internet Sintassi di XML Il parser msxml (3 di 3) • Se

Tecnologie di Internet Sintassi di XML Il parser msxml (3 di 3) • Se un documento XML non è ben formato, il parser genera un errore. Dott. Nicola Dragoni 24

Tecnologie di Internet Sintassi di XML Sommario Ø In questa lezione abbiamo appreso: •

Tecnologie di Internet Sintassi di XML Sommario Ø 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) Ø Passi successivi: la prossima lezione sarà dedicata allo spazio dei nomi, o Namespace. Dott. Nicola Dragoni 25