XML

XML (eXtensible Markup Language) è una tecnologia testuale (text-based) relativa alla descrizione e la struttura di dati.
Nell'ambito dei documenti i computer gestiscono 2 tipi di file: binari e testo.
L'inconveniente principale riguardo i file binari è il fatto che sono proprietari, cioè che possono essere letti ed interpretati solo dal programma applicativo che l'ha creato.
D'altra parte l'inconveniente dei file di testo è l'impossibilità di formattare il testo: per esempio applicare il grassetto oppure inserirci un file immagine (informazioni che vengono comunemente chiamate meta data).

XML è il formato che racchiude in sé i vantaggi dei formati binari e testo: da una parte la capacità di salvare contenuti formattati (rich text) e dall'altra un formato che può essere letto da qualsiasi applicazione (universalmente interscambiabile).
Per questo motivo viene definito il linguaggio universale per eccellenza.

Il primo tentativo di creare un linguaggio simile è stato SGML (Standard Generalized Markup Language) nel lontano 1960, di cui XML non è altro che una semplificazione.

Ulteriori vantaggi nell'utilizzo dell'XML sono:

  • la completa separazione del contenuto dalla forma
  • multipiattaforma (può girare su qualunque sistema operativo)
  • metalinguaggio (XML permette di creare linguaggi derivati per gestire una specifica tipologia di dati)

La sintassi di un file XML è piuttosto semplice:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<impiegato>
    <nome>Mario</nome>
    <cognome>Rossi</cognome>
</impiegato>

Da questo esempio vediamo che la struttura di base di un file XML può essere suddivisa in 3 elementi fondamentali che sono:

  • La dichiarazione XML (composta di 3 elementi di cui il primo è obbligatorio, la versione)
  • Un unico elemento "radice", in questo caso <impiegato>
  • Una o più righe di dati racchiusi tra elementi di marcatura (tag) di apertura (Es. <nome>) e di chiusura (Es. </nome>)

Uno degli aspetti più interessanti di questo linguaggio è la possibilità di creare linguaggi derivati per gestire qualunque tipo di dato, come per esempio il formato XLIFF, che permette di "marcare" tutti gli elementi da tradurre all'interno di un documento per poi elaborarlo con editor in grado di leggere questo formato.

Ulteriori risorse

Sito XML.org