Post on 24-Jun-2015
transcript
XML
•Che cos’è XML
•Obiettivi di XML
•Da che cosa è composto
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.
<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
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
Da che cosa è composto
• File XML
• DTD(Document Type Definition)
• Eventualmente da un file XSL(eXtensible Stylesheet Language)o una visualizzazione tramite CSS
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.
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.
Esempio file 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.
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.
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
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 >
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)
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:
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)>
Fogli di stile
• CSS
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;}
Approfondimenti
• Parser(correttore di file XML)
• Namespaces(elementi con nomi uguali in un file ma con valori diversi)