SlideShare una empresa de Scribd logo
1 de 33
XMLXML
eXtensible 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 unusato per descrivere un
albero gerarchico.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 elementicontenere altri elementi
al suo interno.al suo interno.
persona
data di nascita
giorno mese
origine
anno
RelazioniRelazioni
 La linea che collega dueLa linea che collega due
elementi della gerarchiaelementi della gerarchia
individua una relazioneindividua una relazione
padre-figliopadre-figlio
 L’elemento padre èL’elemento padre è
quello che ‘contiene’ gliquello che ‘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 dei tagI tag XML hanno lo stesso aspetto dei tag
HTMLHTML
 <persona><persona>
 <nome>
 <data_di_nascita>
 Si distingue traSi 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 possono essereIn HTML l’insieme dei tag che possono essere
usati è ben codificato.usati è ben codificato.
 A differenza del HTML, l’insieme dei tag XMLA differenza del HTML, l’insieme dei tag XML
può essere definito dall’utente.può essere definito dall’utente.
 Il nome di un tag può essere una qualunqueIl nome di un tag può essere una qualunque
stringa di testo che rispetta certe regole.stringa di testo che rispetta certe regole.
Nomi XMLNomi XML
 I nomi usati per i tag possono essere costituiti daI nomi usati per i tag possono essere costituiti da
qualsiasi carattere alfanumericoqualsiasi carattere alfanumerico
 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 allaIl 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 chiusuraTra un tag di apertura e un tag di chiusura
possono essere inseriti: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 degli attributiAd un tag possono essere associati degli attributi
 Un attributo consiste in una coppia nome-Un attributo consiste in una coppia nome-
valore:valore:
 <persona nome=‘Mario’ cognome=‘Rossi’><persona nome=‘Mario’ cognome=‘Rossi’>
 <persona nome=“Valeria” cognome=“Bianchi”><persona nome=“Valeria” cognome=“Bianchi”>
CommentiCommenti
 I documenti XML possono contenere deiI documenti XML possono contenere dei
commenti e delle note.commenti e delle note.
 Un commento si può inserire usando la sintassi:Un commento si può inserire usando la sintassi:
 <!-- Commento --><!-- Commento -->
La dichiarazione XMLLa dichiarazione XML
 I documenti XML dovrebbero iniziare con unaI documenti XML dovrebbero iniziare con una
dichiarazione XML: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 siaAffinché un documento XML sia benben
formatoformato è necessario rispettare alcune regoleè necessario rispettare alcune regole
sintattiche.sintattiche.
1.1. ad ogni tag iniziale deve corrispondere un tag finalead ogni tag iniziale deve corrispondere un tag finale
2.2. gli elementi non possono sovrapporsigli elementi non possono sovrapporsi
3.3. deve esistere esattamente un elemento radicedeve esistere esattamente un elemento radice
Documenti ben formatiDocumenti ben formati
4.4. i valori degli attributi devono essere specificati trai valori degli attributi devono essere specificati tra
apiciapici
5.5. i commenti e le istruzioni di elaborazione noni commenti e le istruzioni di elaborazione non
possono apparire all’interno dei tagpossono apparire all’interno dei tag
6.6. non deve apparire nessun carattere < o &non deve apparire nessun carattere < o &
all’interno dei caratteri di un elemento o di unall’interno dei caratteri di un elemento o di un
attributoattributo
Regola 1Regola 1
 Ad ogni tag iniziale deve corrispondere un tagAd ogni tag iniziale deve corrispondere un tag
finalefinale
 <giorno>28</giorno>
 <mese>giugno</mese>
 <anno>1867</anno>
Regola 2Regola 2
 Gli elementi non possono sovrapporsiGli elementi non possono sovrapporsi
 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 elemento radiceDeve esistere esattamente un elemento 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 specificatiI valori degli attributi devono essere specificati
tra virgolettetra virgolette
 Non valido:Non valido:
 <persona nome=Mario cognome=Rossi><persona nome=Mario cognome=Rossi>
 Valido:Valido:
 <persona nome=“Mario” cognome=“Rossi”><persona nome=“Mario” cognome=“Rossi”>
Regola 5Regola 5
 I commenti e le istruzioni di elaborazione nonI commenti e le istruzioni di elaborazione non
possono apparire all’interno dei tagpossono apparire all’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 < o &Non deve apparire nessun carattere < o &
all’interno dei caratteri di un elemento o di unall’interno dei caratteri di un elemento o di un
attributoattributo
 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 certiPer superare i limiti di non poter usare certi
caratteri (>,<,% caratteri accentati) come testocaratteri (>,<,% caratteri accentati) come testo
interno ai tag si usano delle combinazioniinterno ai tag si usano delle combinazioni
speciali chiamate referenze ad entitàspeciali chiamate referenze ad entità
 &lt; -> il carattere minore <&lt; -> il carattere minore <
 &amp; -> il carattere &&amp; -> il carattere &
 &gt; ->il carattere maggiore >&gt; ->il carattere maggiore >
 &quot; -> le virgolette&quot; -> le virgolette
 &apos; -> apostrofo&apos; -> apostrofo
Sezioni CDATASezioni CDATA
 Quando un documento XML contiene delleQuando un documento XML contiene delle
grosse porzioni di testo, usare le referenze adgrosse porzioni di testo, usare le referenze ad
entità può risultare fastidioso.entità può risultare fastidioso.
 Per semplificare la scrittura di documenti XMLPer semplificare la scrittura di documenti XML
si introducono le sezioni CDATAsi introducono le sezioni CDATA
 All’interno di una sezione CDATA può essereAll’interno di una sezione CDATA può essere
usato qualunque carattere si desidera, compresousato qualunque carattere si desidera, compreso
quelli che normalmente non possono esserequelli che normalmente non possono essere
usati.usati.
Sezione CDATASezione CDATA
 Una sezione CDATA inizia con la sequenzaUna sezione CDATA inizia con la sequenza
 <![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 > < % “ ’ oppurecaratteri che desidero compreso > < % “ ’ oppure
i caratteri accentati à è ì ò ù ]]> </p>i caratteri accentati à è ì ò ù ]]> </p>
Elementi vuotiElementi vuoti
 Quando un elemento non deve avere nessunQuando un elemento non deve avere nessun
contenuto esso può apparire in due forme.contenuto esso può apparire 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 documentoSpesso la “ben formazione” di un documento
XML non è sufficienteXML non è sufficiente
 Per determinate applicazioni può esserePer determinate applicazioni può essere
necessario definire ulteriori regole dinecessario definire ulteriori regole di
composizione dei tagcomposizione dei tag
 Ad esempio si può voler che il tag <persona>Ad esempio si può voler che il tag <persona>
contenga sempre un tag <nome> e un tagcontenga sempre un tag <nome> e un tag
<cognome><cognome>
Documenti validiDocumenti validi
 Un file XML si dice anche valido se rispetta unaUn file XML si dice anche valido se rispetta una
serie di regoleserie di regole
 Le regole generalmente vengono definite in fileLe regole generalmente vengono definite in file
esterno chiamato DTDesterno chiamato DTD
Differenza tra XML e HTMLDifferenza tra XML e HTML
 HTML descrive sia l’aspetto che il contenuto di unaHTML descrive sia l’aspetto che il contenuto di una
pagina Web; XML invece descrive soltanto ilpagina Web; XML invece descrive soltanto il
contenuto.contenuto.
 HTML ha una sintassi molto libera; XML inveceHTML ha una sintassi molto libera; XML invece
prevede che siano rispettate certe regole diprevede che siano rispettate certe regole di
composizione.composizione.
 HTML ha una sintassi chiusa, non possono essereHTML ha una sintassi chiusa, non possono essere
definiti ulteriori tag, per aggiungere potenza ad HTMLdefiniti ulteriori tag, per aggiungere potenza ad HTML
si devono usare altre tecnologia; XML invece èsi devono usare altre tecnologia; XML invece è
totalmente configurabile.totalmente configurabile.
I caratteri UnicodeI caratteri Unicode
 Per superare i limiti imposti dal set di caratteriPer superare i limiti imposti dal set di caratteri
ASCII (piuttosto ridotto) in XML su utilizza ilASCII (piuttosto ridotto) in XML su utilizza il
set di caratteri UNICODEset di caratteri UNICODE
 VedasiVedasi www.unicode.orgwww.unicode.org
Esempio di utilizzo dell’UNICODEEsempio di utilizzo dell’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 -->
&#1583;&#1575;&#1610;&#1578;&#1614;&#1604;&#1583;&#1575;&#1610;&#1578;&#1614;&#1604;
&#1571;&#1606;&#1583;&#1571;&#1606;&#1583;
<!-- entity --><!-- entity -->
&assoc;&assoc;
</from></from>
<subject><subject>
<!-- Welcome to the world of Unicode --><!-- Welcome to the world of Unicode -->
&#1571;&#1607;&#1604;&#1575;&#1611;&#1571;&#1607;&#1604;&#1575;&#1611;
&#1576;&#1603;&#1605;&#1576;&#1603;&#1605;
&#1601;&#1610;&#1616;&#1601;&#1610;&#1616;
&#1593;&#1575;&#1604;&#1605;&#1593;&#1575;&#1604;&#1605;
<!-- entity --><!-- entity -->
&text;&text;
</subject></subject>
</welcome></welcome>
Utilizzo dei caratteri UnicodeUtilizzo dei caratteri Unicode
La DTD associataLa DTD associata
<!ENTITY assoc<!ENTITY assoc
"&#1571;&#1587;&#1617;&#1608;&#1588;&#1616;"&#1571;&#1587;&#1617;&#1608;&#1588;&#1616;
&#1610;&#1614;&#1578;&#1618;&#1587;">&#1610;&#1614;&#1578;&#1618;&#1587;">
<!ENTITY text<!ENTITY text
"&#1575;&#1604;&#1610;&#1608;&#1606;&#1610;"&#1575;&#1604;&#1610;&#1608;&#1606;&#1610;
&#1603;&#1608;&#1583;">&#1603;&#1608;&#1583;">
<!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 su XMLDove reperire ulteriori informazioni su 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

Más contenido relacionado

La actualidad más candente

Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
elliando dias
 

La actualidad más candente (20)

Curso JavaScript - Aula sobre DOM e Ajax
Curso JavaScript - Aula sobre DOM e AjaxCurso JavaScript - Aula sobre DOM e Ajax
Curso JavaScript - Aula sobre DOM e Ajax
 
Introdução a Banco de Dados
Introdução a Banco de DadosIntrodução a Banco de Dados
Introdução a Banco de Dados
 
Oracle Apex Overview
Oracle Apex OverviewOracle Apex Overview
Oracle Apex Overview
 
Pilha e Fila Estática
Pilha e Fila EstáticaPilha e Fila Estática
Pilha e Fila Estática
 
Introdução ao HTML e CSS
Introdução ao HTML e CSSIntrodução ao HTML e CSS
Introdução ao HTML e CSS
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Apostila XML, DTD, XSD e XSLT
Apostila XML, DTD, XSD e XSLTApostila XML, DTD, XSD e XSLT
Apostila XML, DTD, XSD e XSLT
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
Estrutura de Dados - PILHAS
Estrutura de Dados - PILHASEstrutura de Dados - PILHAS
Estrutura de Dados - PILHAS
 
1. flutter introduccion v2
1.  flutter introduccion v21.  flutter introduccion v2
1. flutter introduccion v2
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geral
 
Programação web e o front-end
Programação web e o front-endProgramação web e o front-end
Programação web e o front-end
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 
Arquitetura MVC
Arquitetura MVCArquitetura MVC
Arquitetura MVC
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 
Curso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSSCurso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSS
 
Tratamento de exceções java
Tratamento de exceções   javaTratamento de exceções   java
Tratamento de exceções java
 
Servidor apache
Servidor apacheServidor apache
Servidor apache
 
[ Capella Day 2019 ] Capella integration with Teamcenter
[ Capella Day 2019 ] Capella integration with Teamcenter[ Capella Day 2019 ] Capella integration with Teamcenter
[ Capella Day 2019 ] Capella integration with Teamcenter
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de Informação
 

Similar a XML

Presentazione Xml
Presentazione XmlPresentazione Xml
Presentazione Xml
tave10
 
Guidaskinprimipassi
GuidaskinprimipassiGuidaskinprimipassi
Guidaskinprimipassi
guest2d3529
 
Laboratorio Di Basi Di Dati 12 P H P Gestione Di File X M L
Laboratorio Di  Basi Di  Dati 12  P H P   Gestione Di File  X M LLaboratorio Di  Basi Di  Dati 12  P H P   Gestione Di File  X M L
Laboratorio Di Basi Di Dati 12 P H P Gestione Di File X M L
guestbe916c
 
Job Finder
Job FinderJob Finder
Job Finder
beppe66
 
Job Finder
Job FinderJob Finder
Job Finder
beppe66
 

Similar a XML (15)

Xml Xslt
Xml  XsltXml  Xslt
Xml Xslt
 
Presentazione Xml
Presentazione XmlPresentazione Xml
Presentazione Xml
 
HTMLslide html
HTMLslide htmlHTMLslide html
HTMLslide html
 
HTMLslide
HTMLslide HTMLslide
HTMLslide
 
Guidaskinprimipassi
GuidaskinprimipassiGuidaskinprimipassi
Guidaskinprimipassi
 
Xml annessi e connessi
Xml annessi e connessiXml annessi e connessi
Xml annessi e connessi
 
Xml e Ajax
Xml e AjaxXml e Ajax
Xml e Ajax
 
Laboratorio Di Basi Di Dati 12 P H P Gestione Di File X M L
Laboratorio Di  Basi Di  Dati 12  P H P   Gestione Di File  X M LLaboratorio Di  Basi Di  Dati 12  P H P   Gestione Di File  X M L
Laboratorio Di Basi Di Dati 12 P H P Gestione Di File X M L
 
Job Finder
Job FinderJob Finder
Job Finder
 
Job Finder
Job FinderJob Finder
Job Finder
 
Job Finder
Job FinderJob Finder
Job Finder
 
Html base - classi prime - multimedia
Html base - classi prime - multimediaHtml base - classi prime - multimedia
Html base - classi prime - multimedia
 
Open web programming
Open web programmingOpen web programming
Open web programming
 
Introduzione ai css
Introduzione ai cssIntroduzione ai css
Introduzione ai css
 
Web base-01-html
Web base-01-htmlWeb base-01-html
Web base-01-html
 

XML

  • 1. XMLXML eXtensible Markup LanguageeXtensible Markup Language Ing. Luca Sabatucci
  • 2. Struttura ad alberoStruttura ad albero persona nome cognome data di nascita giorno annomese luogo di nascita origine radice elementi
  • 3. Struttura del file XMLStruttura del file XML  Un documento XML èUn documento XML è usato per descrivere unusato per descrivere un albero gerarchico.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 elementicontenere altri elementi al suo interno.al suo interno. persona data di nascita giorno mese origine anno
  • 4. RelazioniRelazioni  La linea che collega dueLa linea che collega due elementi della gerarchiaelementi della gerarchia individua una relazioneindividua una relazione padre-figliopadre-figlio  L’elemento padre èL’elemento padre è quello che ‘contiene’ gliquello che ‘contiene’ gli elementi figlielementi figli persona data di nascita giorno mese origine anno
  • 5. 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
  • 6. I TAGI TAG  I tag XML hanno lo stesso aspetto dei tagI tag XML hanno lo stesso aspetto dei tag HTMLHTML  <persona><persona>  <nome>  <data_di_nascita>  Si distingue traSi distingue tra  tag iniziali < persona >tag iniziali < persona >  e tag finali </persona >e tag finali </persona >
  • 7. I TAGI TAG  In HTML l’insieme dei tag che possono essereIn HTML l’insieme dei tag che possono essere usati è ben codificato.usati è ben codificato.  A differenza del HTML, l’insieme dei tag XMLA differenza del HTML, l’insieme dei tag XML può essere definito dall’utente.può essere definito dall’utente.  Il nome di un tag può essere una qualunqueIl nome di un tag può essere una qualunque stringa di testo che rispetta certe regole.stringa di testo che rispetta certe regole.
  • 8. Nomi XMLNomi XML  I nomi usati per i tag possono essere costituiti daI nomi usati per i tag possono essere costituiti da qualsiasi carattere alfanumericoqualsiasi carattere alfanumerico  a-z,a-z,  A-Z,A-Z,  0-90-9  lettere accentate ò, à, èlettere accentate ò, à, è  ideogrammi çideogrammi ç  underscore _, trattino -, punto .underscore _, trattino -, punto .
  • 9. 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 allaIl 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>
  • 10. I datiI dati  Tra un tag di apertura e un tag di chiusuraTra un tag di apertura e un tag di chiusura possono essere inseriti: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>
  • 11. AttributiAttributi  Ad un tag possono essere associati degli attributiAd un tag possono essere associati degli attributi  Un attributo consiste in una coppia nome-Un attributo consiste in una coppia nome- valore:valore:  <persona nome=‘Mario’ cognome=‘Rossi’><persona nome=‘Mario’ cognome=‘Rossi’>  <persona nome=“Valeria” cognome=“Bianchi”><persona nome=“Valeria” cognome=“Bianchi”>
  • 12. CommentiCommenti  I documenti XML possono contenere deiI documenti XML possono contenere dei commenti e delle note.commenti e delle note.  Un commento si può inserire usando la sintassi:Un commento si può inserire usando la sintassi:  <!-- Commento --><!-- Commento -->
  • 13. La dichiarazione XMLLa dichiarazione XML  I documenti XML dovrebbero iniziare con unaI documenti XML dovrebbero iniziare con una dichiarazione XML: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.
  • 14. Documenti ben formatiDocumenti ben formati  Affinché un documento XML siaAffinché un documento XML sia benben formatoformato è necessario rispettare alcune regoleè necessario rispettare alcune regole sintattiche.sintattiche. 1.1. ad ogni tag iniziale deve corrispondere un tag finalead ogni tag iniziale deve corrispondere un tag finale 2.2. gli elementi non possono sovrapporsigli elementi non possono sovrapporsi 3.3. deve esistere esattamente un elemento radicedeve esistere esattamente un elemento radice
  • 15. Documenti ben formatiDocumenti ben formati 4.4. i valori degli attributi devono essere specificati trai valori degli attributi devono essere specificati tra apiciapici 5.5. i commenti e le istruzioni di elaborazione noni commenti e le istruzioni di elaborazione non possono apparire all’interno dei tagpossono apparire all’interno dei tag 6.6. non deve apparire nessun carattere < o &non deve apparire nessun carattere < o & all’interno dei caratteri di un elemento o di unall’interno dei caratteri di un elemento o di un attributoattributo
  • 16. Regola 1Regola 1  Ad ogni tag iniziale deve corrispondere un tagAd ogni tag iniziale deve corrispondere un tag finalefinale  <giorno>28</giorno>  <mese>giugno</mese>  <anno>1867</anno>
  • 17. Regola 2Regola 2  Gli elementi non possono sovrapporsiGli elementi non possono sovrapporsi  Non valido:Non valido:  <giorno>28<mese>giugno</giorno></mese>  Valido:Valido:  <giorno>28</giorno>  <mese>giugno</mese>
  • 18. Regola 3Regola 3  Deve esistere esattamente un elemento radiceDeve esistere esattamente un elemento 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>
  • 19. Regola 4Regola 4  I valori degli attributi devono essere specificatiI valori degli attributi devono essere specificati tra virgolettetra virgolette  Non valido:Non valido:  <persona nome=Mario cognome=Rossi><persona nome=Mario cognome=Rossi>  Valido:Valido:  <persona nome=“Mario” cognome=“Rossi”><persona nome=“Mario” cognome=“Rossi”>
  • 20. Regola 5Regola 5  I commenti e le istruzioni di elaborazione nonI commenti e le istruzioni di elaborazione non possono apparire all’interno dei tagpossono apparire all’interno dei tag  Non valido:Non valido:  <persona <!– una persona--> ><persona <!– una persona--> >  Valido:Valido:  <persona> <!– una persona--><persona> <!– una persona-->
  • 21. Regola 6Regola 6  Non deve apparire nessun carattere < o &Non deve apparire nessun carattere < o & all’interno dei caratteri di un elemento o di unall’interno dei caratteri di un elemento o di un attributoattributo  Non valido:Non valido:  <espressione> a > b </espressione><espressione> a > b </espressione>
  • 22. Referenze ad entitàReferenze ad entità  Per superare i limiti di non poter usare certiPer superare i limiti di non poter usare certi caratteri (>,<,% caratteri accentati) come testocaratteri (>,<,% caratteri accentati) come testo interno ai tag si usano delle combinazioniinterno ai tag si usano delle combinazioni speciali chiamate referenze ad entitàspeciali chiamate referenze ad entità  &lt; -> il carattere minore <&lt; -> il carattere minore <  &amp; -> il carattere &&amp; -> il carattere &  &gt; ->il carattere maggiore >&gt; ->il carattere maggiore >  &quot; -> le virgolette&quot; -> le virgolette  &apos; -> apostrofo&apos; -> apostrofo
  • 23. Sezioni CDATASezioni CDATA  Quando un documento XML contiene delleQuando un documento XML contiene delle grosse porzioni di testo, usare le referenze adgrosse porzioni di testo, usare le referenze ad entità può risultare fastidioso.entità può risultare fastidioso.  Per semplificare la scrittura di documenti XMLPer semplificare la scrittura di documenti XML si introducono le sezioni CDATAsi introducono le sezioni CDATA  All’interno di una sezione CDATA può essereAll’interno di una sezione CDATA può essere usato qualunque carattere si desidera, compresousato qualunque carattere si desidera, compreso quelli che normalmente non possono esserequelli che normalmente non possono essere usati.usati.
  • 24. Sezione CDATASezione CDATA  Una sezione CDATA inizia con la sequenzaUna sezione CDATA inizia con la sequenza  <![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 > < % “ ’ oppurecaratteri che desidero compreso > < % “ ’ oppure i caratteri accentati à è ì ò ù ]]> </p>i caratteri accentati à è ì ò ù ]]> </p>
  • 25. Elementi vuotiElementi vuoti  Quando un elemento non deve avere nessunQuando un elemento non deve avere nessun contenuto esso può apparire in due forme.contenuto esso può apparire in due forme.  Nella forma estesa:Nella forma estesa:  <elemento></elemento><elemento></elemento>  Oppure nella forma contratta:Oppure nella forma contratta:  <elemento/><elemento/>
  • 26. Documenti validiDocumenti validi  Spesso la “ben formazione” di un documentoSpesso la “ben formazione” di un documento XML non è sufficienteXML non è sufficiente  Per determinate applicazioni può esserePer determinate applicazioni può essere necessario definire ulteriori regole dinecessario definire ulteriori regole di composizione dei tagcomposizione dei tag  Ad esempio si può voler che il tag <persona>Ad esempio si può voler che il tag <persona> contenga sempre un tag <nome> e un tagcontenga sempre un tag <nome> e un tag <cognome><cognome>
  • 27. Documenti validiDocumenti validi  Un file XML si dice anche valido se rispetta unaUn file XML si dice anche valido se rispetta una serie di regoleserie di regole  Le regole generalmente vengono definite in fileLe regole generalmente vengono definite in file esterno chiamato DTDesterno chiamato DTD
  • 28. Differenza tra XML e HTMLDifferenza tra XML e HTML  HTML descrive sia l’aspetto che il contenuto di unaHTML descrive sia l’aspetto che il contenuto di una pagina Web; XML invece descrive soltanto ilpagina Web; XML invece descrive soltanto il contenuto.contenuto.  HTML ha una sintassi molto libera; XML inveceHTML ha una sintassi molto libera; XML invece prevede che siano rispettate certe regole diprevede che siano rispettate certe regole di composizione.composizione.  HTML ha una sintassi chiusa, non possono essereHTML ha una sintassi chiusa, non possono essere definiti ulteriori tag, per aggiungere potenza ad HTMLdefiniti ulteriori tag, per aggiungere potenza ad HTML si devono usare altre tecnologia; XML invece èsi devono usare altre tecnologia; XML invece è totalmente configurabile.totalmente configurabile.
  • 29. I caratteri UnicodeI caratteri Unicode  Per superare i limiti imposti dal set di caratteriPer superare i limiti imposti dal set di caratteri ASCII (piuttosto ridotto) in XML su utilizza ilASCII (piuttosto ridotto) in XML su utilizza il set di caratteri UNICODEset di caratteri UNICODE  VedasiVedasi www.unicode.orgwww.unicode.org
  • 30. Esempio di utilizzo dell’UNICODEEsempio di utilizzo dell’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 --> &#1583;&#1575;&#1610;&#1578;&#1614;&#1604;&#1583;&#1575;&#1610;&#1578;&#1614;&#1604; &#1571;&#1606;&#1583;&#1571;&#1606;&#1583; <!-- entity --><!-- entity --> &assoc;&assoc; </from></from> <subject><subject> <!-- Welcome to the world of Unicode --><!-- Welcome to the world of Unicode --> &#1571;&#1607;&#1604;&#1575;&#1611;&#1571;&#1607;&#1604;&#1575;&#1611; &#1576;&#1603;&#1605;&#1576;&#1603;&#1605; &#1601;&#1610;&#1616;&#1601;&#1610;&#1616; &#1593;&#1575;&#1604;&#1605;&#1593;&#1575;&#1604;&#1605; <!-- entity --><!-- entity --> &text;&text; </subject></subject> </welcome></welcome>
  • 31. Utilizzo dei caratteri UnicodeUtilizzo dei caratteri Unicode
  • 32. La DTD associataLa DTD associata <!ENTITY assoc<!ENTITY assoc "&#1571;&#1587;&#1617;&#1608;&#1588;&#1616;"&#1571;&#1587;&#1617;&#1608;&#1588;&#1616; &#1610;&#1614;&#1578;&#1618;&#1587;">&#1610;&#1614;&#1578;&#1618;&#1587;"> <!ENTITY text<!ENTITY text "&#1575;&#1604;&#1610;&#1608;&#1606;&#1610;"&#1575;&#1604;&#1610;&#1608;&#1606;&#1610; &#1603;&#1608;&#1583;">&#1603;&#1608;&#1583;"> <!ELEMENT welcome (from, subject)><!ELEMENT welcome (from, subject)> <!ELEMENT from ANY ><!ELEMENT from ANY > <!ELEMENT subject ANY><!ELEMENT subject ANY>
  • 33. Ulteriori InformazioniUlteriori Informazioni  Dove reperire ulteriori informazioni su XMLDove reperire ulteriori informazioni su 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