acronimo di Extensible Markup Language. In informatica, metalinguaggio semplificato sviluppato dal SGML per la diffusione dei documenti sul World Wide Web.Il linguaggio XML presenta un numero ridotto di marcatori predefiniti ma stabilisce le regole per la creazione di nuovi. In particolare esso considera che ogni marcatore sia definito da una coppia di tag, detti di "apertura" e di "chiusura" (
, ) e prevede la presenza di attributi. I marcatori accettabili all'interno di un documento XML possono essere, utilizzando una definizione del tipo di documento DTD (
Document Type Definition) o mediante un XML Schema, costruiti come un documento XML. Quest'ultimo può essere analizzato semplicemente considerando la sua correttezza sintattica, cioè la struttura dei marcatori, e verificando la sua corrispondenza con la definizione. Linguaggi derivati da XML sono definiti rendendo pubblico un DTD o un XML Schema. Tutti i documenti che dichiarano di rifarsi a quella spiegazione devono soddisfarla per poter essere superati. Esempi di linguaggi specifici derivati da XML sono ChemML per descrivere la composizione di sostanze chimiche, MathML per raffigurare formule matematiche, XMI per codificare modelli UML e XHTML, che ridefinisce i marcatori di
HTML secondo la sintassi di XML (in esso, infatti alcuni marcatori sono determinati da un solo tag). Diversamente da HTML, un documento in XML non fornisce alcuna indicazione su come esso debba essere rappresentato. Tali informazioni sono invece contenute in documenti XSL (
eXtended Stylesheet Language), che stabiliscono per ogni marcatore come il suo contenuto venga utilizzato per la costruzione di un documento scritto in un altro linguaggio, tipo HTML, e che verrà presentato a un utente con opportuni visualizzatori (per esempio un
browser web). Sfruttando lo stesso principio, si possono costruire applicazioni XML. Esse prevedono l'uso di un analizzatore, ed eventualmente di un validatore, che richiama procedure particolari ogni volta che incontra un marcatore, impiegando come parametri per l'esecuzione della procedura i valori degli attributi del marcatore o il suo contenuto.