Uno sguardo ad XML

20 marzo 2006

*In collaborazione con Manthys

Da alcuni anni si sente parlare sempre più spesso di XML e sono in tanti a chiedersi cos’è questo linguaggio, a cosa serve, che relazione c’è con HTML. Qualcuno ha anche acquisito una visione distorta di XML, vedendo in questo linguaggio una nuova versione di HTML o addirittura un suo concorrente. In questo articolo offriremo una panoramica su XML e cercheremo di chiarire alcuni concetti legati a questo linguaggio e alla sua relazione con HTML ed il Web.

XML in sintesi

L’eXtensible Markup Language è un linguaggio di markup definito nel 1998 dal World Wide Web Consortium (W3C) il cui scopo è quello di consentire la definizione di altri linguaggi di markup. Un linguaggio di questo tipo è tecnicamente detto metalinguaggio e, nell’ambito XML, i linguaggi risultanti sono chiamati applicazioni XML.

Ma a cosa serve un linguaggio che definisce altri linguaggi? La cosa più immediata che viene in mente è la possibilità di definire il proprio linguaggio di markup per descrivere un qualsiasi documento: un articolo, un capitolo di un libro, una ricetta, ecc.

La caratteristica di XML, rispetto ad HTML, è che non viene definito alcun tag, ma vengono semplicemente date delle regole relative alla struttura di un documento e alla modalità di definizione dei tag. Ciascuno è libero di definire i tag di cui ha bisogno.

Cominciamo a vedere qualche esempio per chiarire le idee.

Documenti XML

Un documento XML non è altro che un file di testo abbastanza somigliante a prima vista ad un documento HTML. Diamo un’occhiata al seguente documento XML e proviamo a comprenderne la struttura:

<?xml version=”1.0″ ?>

<!– Esempio di ricetta in XML –>
<ricetta>
 <pietanza nome=”Pasta al burro” />

 <ingredienti>
  <ingrediente um=”grammi” qta=”500″>Spaghetti</ingrediente>
  <ingrediente um=”litri” qta=”2,5″>Acqua</ingrediente>
  <ingrediente um=”grammi” qta=”10″>Sale</ingrediente>
  <ingrediente um=”grammi” qta=”100″>Burro</ingrediente>
  <ingrediente um=”grammi” qta=”50″>Formaggio grattugiato</ingrediente>
 </ingredienti>

 <procedimento>

Portare ad ebollizione l’acqua salata ed immergere gli spaghetti girandoli di tanto in tanto con una forchetta. Dividere il burro nei piatti da servire a tavola. Dopo circa 7-8 minuti scolare gli spaghetti e distribuirli nei piatti con il burro. Aggiungere il formaggio grattugiato e servire in tavola.

 </procedimento>
</ricetta>

Un documento XML è composto da elementi organizzati gerarchicamente. Ciascun elemento è individuato da una coppia di tag di apertura e chiusura. Nel nostro documento XML abbiamo, ad esempio, elementi individuati dai tag <ingrediente> e </ingrediente> o <procedimento> e </procedimento>.

Alcuni elementi possono non avere un corrispondente tag di chiusura, come nel caso dell’elemento <pietanza>. In questo caso, tuttavia, l’unico tag deve prevedere la forma <pietanza />, detta tag vuoto.

Come avviene in HTML, ciascun tag può avere degli attributi, con la differenza che in questo caso l’uso dei doppi apici o dei singoli apici per racchiudere il loro valore è obbligatorio.

Alcuni elementi si trovano all’interno di altri elementi. È il caso degli elementi <ingrediente> che si trovano all’interno dell’elemento <ingredienti>. In questo caso si dice che l’elemento <ingrediente> è un sottoelemento di <ingredienti>.

In realtà tutti gli elementi del documento XML sono sottoelementi di <ricetta>. Questo elemento di più alto livello che deve sempre esistere ed essere unico in un documento XML è detto root.

Al di fuori dell’elemento root possono esistere soltanto commenti, racchiusi come in HTML tra <!– e –>, e direttive di elaborazione. Nel nostro documento è presente la direttiva <?xml version=”1.0″ ?> che indica la versione di XML utilizzata nel documento.

Nella creazione di documenti XML, un’attenzione particolare deve essere tenuta all’uso di maiuscole e minuscole. A differenza dell’HTML, XML è abbastanza pignolo su questo argomento e fa distinzione, ad esempio, tra i tag <ricetta> e <Ricetta>, considerandoli diversi.

Se vuoi aggiornamenti su Uno sguardo ad XML inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Uno sguardo ad XML

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy