XML
-
Upload
abdul-simpson -
Category
Documents
-
view
36 -
download
1
description
Transcript of XML
XMLXMLeXtensible Markup LanguageeXtensible Markup Language
Ing. Luca Sabatucci
Struttura ad alberoStruttura ad albero
persona
nome cognome
data di nascita
giorno annomese
luogo di nascita
origine
radice
elementi
Struttura del file XMLStruttura del file XML Un documento XML è Un documento XML è
usato per descrivere usato per descrivere un albero gerarchico.un albero gerarchico.
Il primo elemento è Il primo elemento è chiamato radice.chiamato radice.
Un documento può Un documento può avere una sola radice.avere una sola radice.
Ogni elemento può Ogni elemento può contenere altri contenere altri elementi al suo elementi al suo interno.interno.
persona
data di nascita
giorno mese
origine
anno
RelazioniRelazioni La linea che collega La linea che collega
due elementi della due elementi della gerarchia individua gerarchia individua una relazione una relazione padre-figliopadre-figlio
L’elemento padre è L’elemento padre è quello che quello che ‘contiene’ gli ‘contiene’ gli elementi figlielementi figli
persona
data di nascita
giorno mese
origine
anno
Un esempio di file XMLUn esempio di file XML<?xml version="1.0"?><persona>
<nome>Luigi</nome><cognome>Pirandello</cognome><origine>
<data_di_nascita><giorno>28</giorno><mese>giugno</mese><anno>1867</anno>
</data_di_nascita><luogo_di_nascita>Agrigento</luogo_di_nascita>
</origine></persona>
tag
dato
dichiarazione XML
I TAGI TAG I tag XML hanno lo stesso aspetto I tag XML hanno lo stesso aspetto
dei tag HTMLdei tag HTML <persona><persona> <nome> <data_di_nascita>
Si distingue tra Si distingue tra tag iniziali < persona > tag iniziali < persona > e tag finali </persona >e tag finali </persona >
I TAGI TAG In HTML l’insieme dei tag che In HTML l’insieme dei tag che
possono essere usati è ben codificato.possono essere usati è ben codificato. A differenza del HTML, l’insieme dei A differenza del HTML, l’insieme dei
tag XML può essere definito tag XML può essere definito dall’utente.dall’utente.
Il nome di un tag può essere una Il nome di un tag può essere una qualunque stringa di testo che qualunque stringa di testo che rispetta certe regole.rispetta certe regole.
Nomi XMLNomi XML I nomi usati per i tag possono essere I nomi usati per i tag possono essere
costituiti da qualsiasi carattere costituiti da qualsiasi carattere alfanumericoalfanumerico a-z, a-z, A-Z, A-Z, 0-90-9 lettere accentate ò, à, èlettere accentate ò, à, è ideogrammi çideogrammi ç underscore _, trattino -, punto .underscore _, trattino -, punto .
Nomi XMLNomi XML Non possono essere usati:Non possono essere usati:
spazispazi virgolette “, apostrofi ‘, il simbolo $virgolette “, apostrofi ‘, il simbolo $ i simboli < e >i simboli < e > il simbolo % e il punto e vigola ;il simbolo % e il punto e vigola ;
Il nome usato per un tag è sensibile alla Il nome usato per un tag è sensibile alla differenza tra maiuscole e minuscoledifferenza tra maiuscole e minuscole Il tag <Persona> è diverso da <persona>Il tag <Persona> è diverso da <persona>
I datiI dati Tra un tag di apertura e un tag di Tra un tag di apertura e un tag di
chiusura possono essere inseriti:chiusura possono essere inseriti: altri tagaltri tag dei dati testualidei dati testuali contenuto mistocontenuto misto
<data_di_nascita><giorno>28</giorno><mese>giugno</mese><anno>1867</anno>
</data_di_nascita>
<p>lezione di
<b>XML</b></p>
AttributiAttributi Ad un tag possono essere associati Ad un tag possono essere associati
degli attributidegli attributi Un attributo consiste in una coppia Un attributo consiste in una coppia
nome-valore:nome-valore: <persona nome=‘Mario’ <persona nome=‘Mario’
cognome=‘Rossi’>cognome=‘Rossi’> <persona nome=“Valeria” <persona nome=“Valeria”
cognome=“Bianchi”>cognome=“Bianchi”>
CommentiCommenti I documenti XML possono contenere I documenti XML possono contenere
dei commenti e delle note.dei commenti e delle note. Un commento si può inserire usando Un commento si può inserire usando
la sintassi:la sintassi: <!-- Commento --><!-- Commento -->
La dichiarazione XMLLa dichiarazione XML I documenti XML dovrebbero iniziare I documenti XML dovrebbero iniziare
con una dichiarazione XML:con una dichiarazione XML: <?xml version="1.0" encoding="UTF-8"?>
dove: version identifica la versione di XML in uso.
Attualmente la versione in uso è la 1.0 encoding specifica quale tipo di codifica
deve essere usata all’interno del documento: XML supporta un grande quantità di set di caratteri.
Documenti ben formatiDocumenti ben formati Affinché un documento XML sia Affinché un documento XML sia
ben formatoben formato è necessario è necessario rispettare alcune regole sintattiche.rispettare alcune regole sintattiche.
1.1. ad ogni tag iniziale deve corrispondere ad ogni tag iniziale deve corrispondere un tag finaleun tag finale
2.2. gli elementi non possono sovrapporsigli elementi non possono sovrapporsi3.3. deve esistere esattamente un deve esistere esattamente un
elemento radiceelemento radice
Documenti ben formatiDocumenti ben formati4.4. i valori degli attributi devono essere i valori degli attributi devono essere
specificati tra apicispecificati tra apici5.5. i commenti e le istruzioni di i commenti e le istruzioni di
elaborazione non possono apparire elaborazione non possono apparire all’interno dei tagall’interno dei tag
6.6. non deve apparire nessun carattere < non deve apparire nessun carattere < o & all’interno dei caratteri di un o & all’interno dei caratteri di un elemento o di un attributoelemento o di un attributo
Regola 1Regola 1 Ad ogni tag iniziale deve Ad ogni tag iniziale deve
corrispondere un tag finalecorrispondere un tag finale <giorno>28</giorno> <mese>giugno</mese> <anno>1867</anno>
Regola 2Regola 2 Gli elementi non possono Gli elementi non possono
sovrapporsisovrapporsi Non valido:Non valido:
<giorno>28<mese>giugno</giorno></mese>
Valido:Valido: <giorno>28</giorno> <mese>giugno</mese>
Regola 3Regola 3 Deve esistere esattamente un Deve esistere esattamente un
elemento radiceelemento radice<?xml version="1.0" ?><persona>
<nome>Luigi</nome></persona><persona>
<nome>Mario</nome></persona><persona>
<nome>Valeria</nome></persona>
<?xml version="1.0” ?><elenco_persone>
<persona><nome>Luigi</
nome></persona><persona>
<nome>Mario</nome>
</persona><persona>
<nome>Valeria</nome>
</persona></elenco_persone>
Regola 4Regola 4 I valori degli attributi devono essere I valori degli attributi devono essere
specificati tra virgolettespecificati tra virgolette Non valido:Non valido:
<persona nome=Mario <persona nome=Mario cognome=Rossi>cognome=Rossi>
Valido:Valido: <persona nome=“Mario” <persona nome=“Mario”
cognome=“Rossi”>cognome=“Rossi”>
Regola 5Regola 5 I commenti e le istruzioni di I commenti e le istruzioni di
elaborazione non possono apparire elaborazione non possono apparire all’interno dei tagall’interno dei tag
Non valido:Non valido: <persona <!– una persona--> ><persona <!– una persona--> >
Valido:Valido: <persona> <!– una persona--><persona> <!– una persona-->
Regola 6Regola 6 Non deve apparire nessun carattere Non deve apparire nessun carattere
< o & all’interno dei caratteri di un < o & all’interno dei caratteri di un elemento o di un attributoelemento o di un attributo
Non valido:Non valido: <espressione> a > b </espressione><espressione> a > b </espressione>
Referenze ad entitàReferenze ad entità Per superare i limiti di non poter usare Per superare i limiti di non poter usare
certi caratteri (>,<,% caratteri certi caratteri (>,<,% caratteri accentati) come testo interno ai tag si accentati) come testo interno ai tag si usano delle combinazioni speciali usano delle combinazioni speciali chiamate referenze ad entitàchiamate referenze ad entità
< -> il carattere minore << -> il carattere minore < & -> il carattere && -> il carattere & > ->il carattere maggiore >> ->il carattere maggiore > " -> le virgolette" -> le virgolette ' -> apostrofo' -> apostrofo
Sezioni CDATASezioni CDATA Quando un documento XML contiene Quando un documento XML contiene
delle grosse porzioni di testo, usare le delle grosse porzioni di testo, usare le referenze ad entità può risultare referenze ad entità può risultare fastidioso.fastidioso.
Per semplificare la scrittura di documenti Per semplificare la scrittura di documenti XML si introducono le sezioni CDATAXML si introducono le sezioni CDATA
All’interno di una sezione CDATA può All’interno di una sezione CDATA può essere usato qualunque carattere si essere usato qualunque carattere si desidera, compreso quelli che desidera, compreso quelli che normalmente non possono essere usati.normalmente non possono essere usati.
Sezione CDATASezione CDATA Una sezione CDATA inizia con la Una sezione CDATA inizia con la
sequenzasequenza <![CDATA[<![CDATA[
e termina con la sequenzae termina con la sequenza ]]>]]>
Ad esempio:Ad esempio: <p> <![CDATA[ qui dentro posso usare tutti i <p> <![CDATA[ qui dentro posso usare tutti i
caratteri che desidero compreso > < % “ ’ caratteri che desidero compreso > < % “ ’ oppure i caratteri accentati à è ì ò ù ]]> </p>oppure i caratteri accentati à è ì ò ù ]]> </p>
Elementi vuotiElementi vuoti Quando un elemento non deve avere Quando un elemento non deve avere
nessun contenuto esso può apparire nessun contenuto esso può apparire in due forme.in due forme.
Nella forma estesa:Nella forma estesa: <elemento></elemento><elemento></elemento>
Oppure nella forma contratta:Oppure nella forma contratta: <elemento/><elemento/>
Documenti validiDocumenti validi Spesso la “ben formazione” di un Spesso la “ben formazione” di un
documento XML non è sufficientedocumento XML non è sufficiente Per determinate applicazioni può Per determinate applicazioni può
essere necessario definire ulteriori essere necessario definire ulteriori regole di composizione dei tagregole di composizione dei tag Ad esempio si può voler che il tag Ad esempio si può voler che il tag
<persona> contenga sempre un tag <persona> contenga sempre un tag <nome> e un tag <cognome><nome> e un tag <cognome>
Documenti validiDocumenti validi Un file XML si dice anche valido se Un file XML si dice anche valido se
rispetta una serie di regolerispetta una serie di regole Le regole generalmente vengono Le regole generalmente vengono
definite in file esterno chiamato DTDdefinite in file esterno chiamato DTD
Differenza tra XML e Differenza tra XML e HTMLHTML
HTML descrive sia l’aspetto che il HTML descrive sia l’aspetto che il contenuto di una pagina Web; XML invece contenuto di una pagina Web; XML invece descrive soltanto il contenuto.descrive soltanto il contenuto.
HTML ha una sintassi molto libera; XML HTML ha una sintassi molto libera; XML invece prevede che siano rispettate certe invece prevede che siano rispettate certe regole di composizione.regole di composizione.
HTML ha una sintassi chiusa, non possono HTML ha una sintassi chiusa, non possono essere definiti ulteriori tag, per essere definiti ulteriori tag, per aggiungere potenza ad HTML si devono aggiungere potenza ad HTML si devono usare altre tecnologia; XML invece è usare altre tecnologia; XML invece è totalmente configurabile.totalmente configurabile.
I caratteri UnicodeI caratteri Unicode Per superare i limiti imposti dal set Per superare i limiti imposti dal set
di caratteri ASCII (piuttosto ridotto) di caratteri ASCII (piuttosto ridotto) in XML su utilizza il set di caratteri in XML su utilizza il set di caratteri UNICODEUNICODE
Vedasi Vedasi www.unicode.orgwww.unicode.org
Esempio di utilizzo Esempio di utilizzo dell’UNICODEdell’UNICODE<?xml version = "1.0" encoding="UTF-8"?><?xml version = "1.0" encoding="UTF-8"?>
<!-- Figura 5.4: lang.xml --><!-- Figura 5.4: lang.xml --><!-- Uso dei caratteri Unicode --><!-- Uso dei caratteri Unicode --><!DOCTYPE welcome SYSTEM "lang2.dtd"><!DOCTYPE welcome SYSTEM "lang2.dtd"><welcome><welcome>
<from><from><!-- Deitel and Associates --><!-- Deitel and Associates -->دايتَلدايتَلأندأند<!-- entity --><!-- entity -->&assoc;&assoc;</from></from><subject><subject><!-- Welcome to the world of Unicode --><!-- Welcome to the world of Unicode -->أهلاًأهلاًبكمبكمفيِفيِعالمعالم<!-- entity --><!-- entity -->&text;&text;</subject></subject>
</welcome></welcome>
Utilizzo dei caratteri Utilizzo dei caratteri UnicodeUnicode
La DTD associataLa DTD associata<!ENTITY assoc <!ENTITY assoc
"أسّو"أسّوشِيَتXِيَتْس">1618;س">
<!ENTITY text <!ENTITY text "اليو"اليونيكود">06;يكود">
<!ELEMENT welcome (from, subject)><!ELEMENT welcome (from, subject)><!ELEMENT from ANY ><!ELEMENT from ANY ><!ELEMENT subject ANY><!ELEMENT subject ANY>
Ulteriori InformazioniUlteriori Informazioni Dove reperire ulteriori informazioni Dove reperire ulteriori informazioni
su XMLsu XML W3C (World Wide Web Consortium) W3C (World Wide Web Consortium)
http://www.w3.org/XML/http://www.w3.org/XML/ http://www.w3schools.com/default.asphttp://www.w3schools.com/default.asp http://www.html.it/xml/guida/index.htmlhttp://www.html.it/xml/guida/index.html www.xml.orgwww.xml.org