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 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:
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.