Extensible Markup Language (XML) wordt gebruikt om gegevens te beschrijven. De XML-standaard is een flexibele manier om informatieformaten te creëren en gestructureerde gegevens elektronisch te delen via het openbare internet, maar ook via bedrijfsnetwerken.
XML-code, een formele aanbeveling van het World Wide Web Consortium (W3C), is vergelijkbaar met Hypertext Markup Language (HTML). Zowel XML als HTML bevatten markup-symbolen om de inhoud van pagina's of bestanden te beschrijven. In HTML-code wordt de inhoud van webpagina's (voornamelijk tekst en grafische afbeeldingen) alleen beschreven in termen van hoe deze moet worden weergegeven en hoe er interactie mee mogelijk is.
XML-gegevens staan bekend als zelfbeschrijvend of zelfdefiniërend, wat betekent dat de structuur van de gegevens is ingebed in de gegevens; wanneer de gegevens binnenkomen, hoeft er dus niet van tevoren een structuur te worden opgebouwd om de gegevens op te slaan; de structuur wordt dynamisch begrepen binnen de XML. Het XML-formaat kan worden gebruikt door elke persoon of groep van personen of bedrijven die informatie op een consistente manier willen delen. XML is eigenlijk een eenvoudiger en gemakkelijker te gebruiken subset van de Standard Generalized Markup Language (SGML), die de standaard is om een documentstructuur te creëren.
De basisbouwsteen van een XML-document is een element, dat wordt gedefinieerd door tags. Een element heeft een begin- en een eindtag. Alle elementen in een XML-document zijn vervat in een buitenste element, dat het root-element wordt genoemd. XML kan ook geneste elementen ondersteunen, of elementen binnen elementen. Hierdoor kan XML hiërarchische structuren ondersteunen. Elementnamen beschrijven de inhoud van het element, en de structuur beschrijft de relatie tussen de elementen.
Een XML-document wordt als "goed gevormd" beschouwd (d.w.z. leesbaar en begrijpelijk voor een XML-parser) als de opmaak in overeenstemming is met de XML-specificatie, als het op de juiste wijze is gemarkeerd en als elementen op de juiste wijze zijn genest. XML ondersteunt ook de mogelijkheid om attributen voor elementen te definiëren en kenmerken van de elementen in de begintag van een element te beschrijven.
Een XML-document kan bijvoorbeeld heel eenvoudig zijn, zoals het volgende:
<?xml version="1.0" standalone="yes"?>
<conversation>
<greeting>Hello, world!</greeting>
<response>Stop the planet, I want to get off!</response>
</conversation>
Toepassingen voor XML zijn eindeloos. Zo zouden computerfabrikanten het eens kunnen worden over een standaard of gemeenschappelijke manier om de informatie over een computerproduct te beschrijven (processorsnelheid, geheugengrootte, enzovoort) en vervolgens het formaat van de productinformatie beschrijven met XML-code. Een dergelijke standaardmanier voor het beschrijven van gegevens zou een gebruiker in staat stellen een intelligente agent (een programma) naar de website van elke computerfabrikant te sturen, gegevens te verzamelen en vervolgens een geldige vergelijking te maken.
De voordelen van XML leken kort na de introductie soms revolutionair van omvang. Als concept was het echter niet revolutionair. Het was ook geen wondermiddel. Doordat XML op zo veel gebieden van de technologie te pas en te onpas werd toegepast, werd de werkelijke waarde ervan aangetast en ontstond er veel onnodige verwarring. Misschien wel het schadelijkst is het voorspelbare gedrag van veel leveranciers die XML willen herschikken met hun eigen reeks bedrijfseigen extensies. Hoewel sommigen waarde aan XML willen toevoegen, proberen anderen gebruikers alleen maar aan hun producten te binden.
De kracht van XML ligt in zijn eenvoud. Het kan grote brokken informatie samenvoegen in een XML-document - zinvolle stukken die structuur en organisatie aan de informatie geven.