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 CSS
nome{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)

Presentazione Xml

  • 1.
    XML •Che cos’è XML •Obiettividi XML •Da che cosa è composto
  • 2.
    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.
  • 3.
    <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
  • 6.
    Obiettivi • XML deveessere 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
  • 7.
    Da che cosaè composto • File XML • DTD(Document Type Definition) • Eventualmente da un file XSL(eXtensible Stylesheet Language)o una visualizzazione tramite CSS
  • 8.
    File XML Sintassi: • Ognifile 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.
  • 9.
    Attributi • Gli attributivengono 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.
  • 10.
  • 11.
    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.
  • 12.
    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.
  • 13.
    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
  • 14.
    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 >
  • 15.
    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)
  • 16.
    Valori di defaultdi 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:
  • 17.
    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)>
  • 18.
  • 19.
    Esempio con CSS nome{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;}
  • 21.
    Approfondimenti • Parser(correttore difile XML) • Namespaces(elementi con nomi uguali in un file ma con valori diversi)