Tecnologie di Internet
Sintassi di XML
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 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 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 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”?>
Dott. Nicola Dragoni
4
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:
<TitoloLegge>Disciplina
sociale</TitoloLegge>
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:
• <DataFineLezione> </DataFineLezione>
• <DataFineLezione/>
Dott. Nicola Dragoni
5
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 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
Dott. Nicola Dragoni
7
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 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.
Dott. Nicola Dragoni
9
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
<
&lt;
&
&amp;
>
&gt;
“
&quot;
‘
&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 &quot;Osservatorio&quot;, ...
Dott. Nicola Dragoni
10
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 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 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>
...
<TitoloLegge>...</TitoloLegge>
<Articolato>
<Capo Num=“I”>
<Articolo Num=“1”>
<Rubrica></Rubrica>
<Comma Num=“1”>...</Comma>
<Comma Num=“2”>...</Comma>
</Articolo>
</Capo>
</Articolato>
</Legge>
elemento radice
Legge
TitoloLegge
Articolato
Capo
Articolo
Rubrica
Comma
Dott. Nicola Dragoni
14
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 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 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.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=“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 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 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.
Dott. Nicola Dragoni
21
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 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.
Dott. Nicola Dragoni
22
Tecnologie di Internet
Sintassi di 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.
Dott. Nicola Dragoni
23
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
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
Scarica

Sintassi di XML - Dipartimento di Informatica