XML is een taal om data te structureren. In XML wordt alle data in zgn. “tags” geplaatst om data te kunnen groeperen en structureren.
Een voorbeeld van een stukje XML:
<fruit>
<appel>
<kleur>groen</kleur>
<smaak>zoet</smaak>
</appel>
<sinaasappel>
<kleur>oranje</kleur>
<smaak>zoet</smaak>
</sinaasappel>
<grapefruit>
<kleur>geel</kleur>
<smaak>bitter</smaak>
</grapefruit>
</fruit>
Omdat xml zo gestructureerd is opgebouwd, is het uitermate geschikt om als communicatiemiddel te dienen.
Bovenstaand stukje xml kan het antwoord vormen op het verzoek: Geef mij informatie over fruit!
Als de informatie ontvangen is, kan vervolgens heel eenvoudig binnen fruit de smaak van sinaasappel of de kleur van grapefruit opgezocht worden.
XML wordt dan ook vaak gebruikt als uniform communicatiemiddel tussen systemen. De X van AJAX staat dan ook voor XML
In principe mogen voor de tags in XML alle mogelijke namen gebruikt worden. In sommige gevallen zijn hier echter regels voor opgesteld, en zijn de toegestane namen drastisch beperkt. Een voorbeeld hiervan is HTML, waar alleen de afgesproken opmaak-tags gebruikt mogen worden. Een ander voorbeeld is RSS, waar naast een beperking van de tags ook de volgorde en structuur is vastgelegd.