Contrariamente a quanto comunemente si pensa, l'eXtensible Markup Language (XML) non è l'ennesimo linguaggio di markup né l'evoluzione dell'ormai vecchio, ma sempre vivo, HTML. Esso è un meta-linguaggio di markup, cioè un linguaggio che permette di definire altri linguaggi di markup. A differenza di HTML, XML non ha tag predefiniti e non serve per definire pagine Web né per programmare. Esso serve esclusivamente per definire altri linguaggi.
In realtà, XML di per sé non è altro che un insieme standard di regole sintattiche per modellare la struttura di documenti e dati. Questo insieme di regole, dette più propriamente specifiche, definiscono le modalità secondo cui è possibile crearsi un proprio linguaggio di markup. Le specifiche ufficiali sono state definite dal W3C (Worl Wide Web Consortium) e sono consultabili a partire dall'indirizzo http://www.w3.org/XML.
Ma perché si sente tanto parlare di XML? Perché tutti ne parlano quasi come una rivoluzione in ambito informatico? Cosa è possibile fare con questo meta-linguaggio? Come è possibile definire ed utilizzare un proprio linguaggio di markup?
A queste domande cercherà di dare una risposta la presente guida, il cui obiettivo consiste nel fornire le idee generali delle tecnologie che ruotano intorno ad XML. Ma andiamo per ordine e cominciamo a vedere perché si è sentita l'esigenza di introdurre XML.