Creazione di un documento XML: regole di base

La struttura visiva e logica di un documento XML, elementi e attributi, formato dei caratteri, la validità di un documento XML, DTD, il processing di un documento XML.

Come abbiamo detto nella lezione precedente, l’XML consente la definizione
di una forma lessicale e la creazione di una sintassi comune, in modo tale che
chiunque legga un documento XML sia in grado di interpretarlo ed eventualmente
modificare facilmente sia la struttura che le informazioni in esso contenutepossibilità
di scrittura e l’immediatezza nel visualizzare le informazioni.
In quest’ottica analizziamo la struttura visiva e logica di un documento XML.


La struttura visiva di un documento XML


Il documento XML ha una struttura gerarchica.

<?xml
version=”1.0″ encoding=”UTF-8″?>
<Address>
<Name>
<FirstName> John
</FirstName>
<LastName> Paul
</LastName>
</Name>
<Phone>
<business>
089-3939321 </business>
<home>
089-3423443 </home>
<mobile>
0170-4949233 </mobile>
</Phone>
</Address>


 


Un documento XML è composto da markup, posti tra parentesi < >
(esempio: <FirstName>), che descrivono un elemento,
e da contenuto (John).
L’esempio riportato contiene otto elementi: Address, Name, FirstName, LastName,
Phone, business, home, mobile. Gli elementi Address, Name e Phone contengono
altri elementi, mentre gli elementi FirstName, LastName, business, home, mobile
contengono dati testuali.



L’ XML presenta delle regole sintattiche precise che devono essere sempre rispettate:





  1. Inizia sempre con un prologo (<?xml version=”1.0″?>),
    che indica la versione di XML utilizzata.


  2. Opzionalmente può contenere l’encoding (<?encoding=”UTF-8″?>),
    ossia tutte le informazioni per identificare il set di caratteri usati nelle
    diverse lingue (ad esempio per identificare caratteri speciali come la "ñ"
    spagnola, o la "ä" tedesca o l’alfabeto cirillico, ecc.). Al
    momento, la versione certificata è XML 1.0, ma il consorzio degli standard
    W3C (www.w3c.org) sta lavorando alla
    definizione della versione 1.1.


  3. Contiene gli elementi, delimitati da tag di apertura (<) e tag
    di chiusura (>) e solitamente il contenuto di tali elementi (a meno
    che il documento XML sia solo struttura senza dati). Tra le semplici regole
    dell’XML non bisogna mai dimenticare che tutti i tag di apertura devono corrispondere
    a un tag di chiusura e a tag maiuscoli o minuscoli deve sempre corrispondere
    lo stesso formato.


  4. Un elemento inizia con uno start-tag <element> e termina con un end-tag
    </element>.



    All’interno dei documenti XML alcuni elementi possono essere vuoti, ovvero
    senza contenuto: vengono rappresentati convenzionalmente con una barra alla
    fine del tag vuoto (esempio: <business/>). Infine, è possibile
    inserire all’interno dei tag istruzioni di processing o commenti a beneficio
    dell’applicativo che legge i documenti.



    Cosa succede se è necessario inserire in un documento XML proprio
    il simbolo > o <, che come abbiamo detto identificano
    l’apertura o la chiusura di un tag? E’ necessario un modo alternativo di rappresentarlo,
    ossia delle entity reference, utilizzate per rappresentare i caratteri
    speciali, oppure per riferirsi a testi che si ripetono o variano spesso e
    per includere il contenuto di file esterni. Nel caso specifico il carattere
    > sarà rappresentato nella forma &gt;.



    Nel caso in cui all’interno di elementi sia necessario inserire dei commenti,
    la sintassi dell’XML vuole che questi vengano rappresentati con la grafica
    <!– commento –>, permettendo di inserire qualunque tipo di
    informazione aggiuntiva sui dati.




  5. Può opzionalmente contenere degli attributi, ossia delle specifiche
    di un elemento. Facciamo un altro esempio:

    <?xml
    version=”1.0″?>
    <weather-report>
    <date>August
    15, 2000
    </date>
    <time>08:00
    </time>
      <area>
    <city>Darmstadt</city>

    <region>Hessen</region>

    <country>Germany</country>
    </area>
    <measurements>
    <skies>fine</skies>
    <temperature
    scale="C">
    25</temperature>
    <wind>
    <direction>SW</direction>
    <windspeed>6</windspeed>
    </wind>
    </measurements>
    </weather-report>

     


    All’interno di un documento come questo – che riprende i dati di un bollettino
    meteorologico – prendiamo come riferimento l’elemento <temperature>.
    L’attributo è una specifica che si va a collocare all’interno del
    tag dell’elemento (<temperature scale=”C”>).




  6. Può contenere istruzioni di processing (PI) che costituiscono
    un altro espediente per fornire informazioni alle applicazioni per processare
    il documento XML. Come per i commenti, non costituiscono parte testuale del
    documento XML, ma il processore XML li trasferisce comunque all’applicazione,
    che li processa in maniera opportuna.
    Si presentano nella forma <?istruzione di processing?> (come
    ad esempio <?app1 fromhere=”ignore”?>).



La struttura logica di un documento XML



La struttura logica di un documento XML può essere pensata come una
struttura ad albero ed è definita in un documento chiamato DTD
(Document Type Declaration).
La DTD specifica la sintassi del documento XML, ossia il lessico e la struttura,
e può essere sia interna che esterna al documento stesso (si veda l’immagine
sottostante).



La DTD definisce la sequenza dei tag, la loro posizione gerarchica, gli attributi,
i tipi e i valori di default, i nomi dei file esterni che sono collegati al
documento e le entity reference.


Nella prossima lezione di questo tutorial su XML vedremo come esiste un’altra
forma di descrizione della struttura logica di un documento XML, chiamata XML
Schema, che può essere utilizzata in alternativa alla DTD.


I documenti XML devono essere necessariamente well-formed. Un documento
è well-formed solo se obbedisce alla sintassi di XML (i tag come
già detto devono essere necessariamente aperti e chiusi, le maiuscole/minuscole
devono essere rispettate, gli elementi vuoti, i commenti e le entity reference
devono avere una sintassi particolare).
Un documento well-formed si considera valido solo se fa riferimento ad
una DTD che lo descrive e se obbedisce alle specifiche riassunte in essa: corretta
sequenza e posizione degli elementi, attributi esatti e valori degli attributi
del giusto tipo. Potremmo definire le regole di XML la punteggiatura e la DTD
la sillabazione e i riferimenti grammaticali del linguaggio.


La struttura grafica di un documento XML



Proprio perché l’XML è un linguaggio che descrive la struttura
e il contenuto (a differenza del linguaggio HTML), possiamo notare che sia nella
struttura visiva che in quella logica non si fa alcun riferimento alla struttura
grafica del documento. Infatti lo stylesheet del documento XML, ossia
la forma che esso dovrà avere per una maggiore facilità di utilizzo
e per una migliore presentazione dei dati, sarà un documento di layout
solitamente esterno al documento che richiamerà gli elementi contenuti
nel documento XML originario.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome