Presentazione Xml

21
XML Che cos’è XML Obiettivi di XML Da che cosa è composto

Transcript of Presentazione Xml

Page 1: Presentazione Xml

XML

•Che cos’è XML

•Obiettivi di XML

•Da che cosa è composto

Page 2: Presentazione Xml

Che cos’è XML• È un linguaggio di markup,in alcuni aspetti simile

all’HTML,pensato per superare i limiti dell’HTML.• Elabora documenti strutturati e rappresenta dati

testuali molto complessi.• Non è un linguaggio di programmazione ma serve

per definire linguaggi applicativi, atti a descrivere la struttura di documenti.

• Utilizza dei tag o elementi che non sono predefiniti, ma non tiene conto del loro valore semantico, come avviene nell’HTML,quindi è il programmatore che li sceglie.

Page 3: Presentazione Xml

<tag/elementi> in XML

• I tag permettono di descrivere il documento sotto forma di albero

• I tag sono corredati di attributi che permettono di esprimere relazioni complesse tra i diversi rami dell’albero,permettendo la rappresentazione di strutture arbitrarie

• XML fornisce un meccanismo tramite cui il programmatore può costruire un linguaggio adatto alle proprie esigenze

Page 4: Presentazione Xml
Page 5: Presentazione Xml
Page 6: Presentazione Xml

Obiettivi• XML deve essere utilizzabile in modo semplice su Internet• XML deve supportare un gran numero di applicazioni• XML deve essere compatibile con SGML• Deve essere facile lo sviluppo di programmi che elaborino

documenti XML• Il numero di caratteristiche opzionali deve essere mantenuto al

minimo possibile, idealmente a zero• I documenti XML dovrebbero essere leggibili da un uomo e

ragionevolmente chiari• La progettazione XML dovrebbe essere rapida• La progettazione XML deve essere formale e concisa• I documenti XML devono essere facili da creare• L'economicità nel markup XML non è di nessuna importanza

Page 7: Presentazione Xml

Da che cosa è composto

• File XML

• DTD(Document Type Definition)

• Eventualmente da un file XSL(eXtensible Stylesheet Language)o una visualizzazione tramite CSS

Page 8: Presentazione Xml

File XML

Sintassi:• Ogni file inizia con la dichiarazione del linguaggio

e la propria versione.• Si ha un corpo del programma nel quale si

specificano gli elementi che a noi interessano• Ogni elemento va aperto e infine chiuso,non

sono ammessi elementi senza chiusura• Gli elementi devono essere correttamente

nidificati.

Page 9: Presentazione 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.

Page 10: Presentazione Xml

Esempio file XML

Page 11: Presentazione Xml

Document Type Definition

• Una caratteristica fondamentale dell’XML è l’estensibilità. L’autore di un documento XML può creare nuovi tag per descrivere i contenuti semantici dei propri dati.

• Ciò ha portato alla necessità di definire delle regole grammaticali, o vincoli, alle quali gli elementi devono attenersi.

• Queste regole grammaticali sono definite nelle specifiche XML e sono codificate nel Document Type Definition.

Page 12: Presentazione Xml

Definizione di elementi (1)• Per definire all’interno di una DTD la presenza di un elemento

(tag) occorre utilizzare la parola chiave ELEMENT, la quale accetta la seguente sintassi

dove:nome è il nome che il tag avrà nel documento XML (ovviamente deve rispettare le regole che rendono i documenti XML ben formati)regola_dtd indica il tipo di contenuto che questo tag avrà ed eventualmente la sua relazione con altri contenuti descritti nella DTD.

Page 13: Presentazione Xml

Definizione di elementi (2)I possibili valori che può assumere regola_dtd sono:• ANY: indica che il contenuto del tag può essere qualunque

cosa, cioè tag e/o testo.• PCDATA (Parsed Character Data): dichiara che il tag può

contenere solo e unicamente contenuto di tipo testo, sintatticamente corretto dal momento che i parser dovranno leggerlo e interpretarlo.

• EMPTY: comunica al parser che il tag sarà costituito solo di attributi e non conterrà al suo interno né testo né altri tag.

• GRUPPI DI ELEMENTI

Page 14: Presentazione Xml

Definizione di elementi (3)

Vediamo qualche esempio:• Tag chiamato Titolo che contiene al suo interno solo

testo: <!ELEMENT Titolo (#PCDATA) >• Tag chiamato Libro che può contenere sia testo che

tag: <!ELEMENT Libro ANY >• Tag chiamato Libro che non ha contenuto e

rappresenta le sue informazioni solo tramite attributi: <!ELEMENT Libro EMPTY >

Page 15: Presentazione Xml

Definizione di attributi (1)• Per definire gli attributi di un documento XML si usa il comando ATTLIST,

secondo la seguente sintassi:

dove:

• elemento è il nome del tag del quale stiamo definendo l’attributo

• nome_attributo è ovviamente il nome dell’attributo

• tipo è la definizione del tipo di valore associato all’attributo

• valore_default è un eventuale valore di default (predefinito)

Page 16: Presentazione Xml

Valori di default di attributi

• Quando si definiscono gli attributi per gli elementi è anche possibile dichiarare dei vincoli relativi alla presenza o meno degli stessi tag.

• Si utilizzano le seguenti parole chiave:

Page 17: Presentazione Xml

Esempio file DTD• <!ELEMENT farmacia (prodotti)>• <!ELEMENT prodotti

(nome,codice,scadenza,genere,princ_att,FormaFarmaceutica)>• <!ELEMENT nome ( #PCDATA)>• <!ELEMENT codice ( #PCDATA)>• <!ELEMENT scadenza ( #PCDATA)>• <!ELEMENT genere ( #PCDATA)>• <!ATTLIST genere tipo (antidolorifico|antibiotico|antistaminico|

antinfluenzale) #IMPLIED>• <!ELEMENT princ_att ( #PCDATA)>• <!ELEMENT FormaFarmaceutica ( #PCDATA)>

Page 18: Presentazione Xml

Fogli di stile

• CSS

Page 19: Presentazione Xml

Esempio con CSSnome{display:block; font-family: Arial, Helvetica; font-size:20px; color: green; }codice,scadenza,princ_att{ display:block;font-family: Arial, Helvetica; font-size:15px;

color: black;}prodotti{margin-top:20; display:block; border-style:double;text-align:center; position:relative; left:30%; width:30%;}.antidolorifico{color: red;}.Compresse{color: purple;}.Supposte{color: orange;}.Bustine{color: blue;}

Page 20: Presentazione Xml
Page 21: Presentazione Xml

Approfondimenti

• Parser(correttore di file XML)

• Namespaces(elementi con nomi uguali in un file ma con valori diversi)