A linguaxe de etiquetaxe estendíbel (en inglés, Extensible Markup Language) ou XML é un subconxunto simplificado da SGML. Ten a capacidade de describir información de tipo documental mais tamén información baseada en datos puros.
Un arquivo XML ten unha estrutura variable, mais que segue unha norma estándarizada para considerarse dito arquivo coma válido. Así é frecuente, mais non obrigatorio que cada arquivo, comece pola sentenza:
<?xml version="1.0" encoding="UTF-8"?>
Indicando a versión e a codificación dos caracteres dentro do propio arquivo.
Cada arquivo conta con diversos elementos e atributos, cunha declaración que comeza co carácter < e finaliza con >. Se algunha destas etiquetas non está presente, o arquivo considérase erróneo.
Os arquivos XML teñen que ser tratados por unha interface, para poder ser procesados pola aplicación informática receptora. Este proceso trata a estrutura en forma de árbore e o traduce nunha secuencia de variables e datos entendible pola devandita aplicación. Este proceso coñécese co vocable inglés parsing. O proceso contrario, a partir dunha secuencia de variables e datos obtemos un arquivo XML correcto e ben estruturado, chámase serialización[1].
Dependendo da plataforma e tecnoloxías empregadas, estes procesos poden ser moi custosos en consumo de memoria ou rendemento. Noutros casos con mellor rendemento, porén penalízase a compresión do código, sendo este de maior complexidade. Para tentar solventar estes problemas téñense desenrolado interfaces específicas para cada linguaxe de programación.