XML is gemaakt om makkelijk data tussen computers en computerprogramma's of website's te kunnen uitwisselen. Een voorbeeld: je hebt heel veel muzieknummers op je computer. Nu wil je je muzieknummers overzetten naar een andere computer. Sommige muziekprogramma's, waaronder ITunes, bieden de mogelijkheid om je muziekbiliotheek om te zetten naar XML. Deze data kan dan makkelijk door een andere computer worden overgenomen, of soms zelfs door andere programma's. Dit komt omdat XML aan elk beetje data ook een label geeft, waarop staat waar de data precies goed voor is. Hoe dat precies werkt ga ik nu uitleggen.
XML is alleen maar ontworpen om en informatie in te ordenen, zodat deze makkelijk is te lezen door computers, en toch te begrijpen is door mensen. Waarom dan XML? XML is een programma- en platformonafhankelijke gegevensoverdracht, is gratis, open en je kunt zelf de tagnamen verzinnen. XML gaat steeds vaker worden gebruikt om gegevens op webpagina's weer te geven. XML zal HTML nooit helemaal gaan vervangen, maar XML gaat wel een grotere rol spelen. Overigens wordt XML gebruikt in veel interactieve dingen op sites, waaronder AJAX technieken.
Stel dat je 3 muzieknummers hebt, en je wilt deze overzichtelijk weergeven, dan wordt het in normale mensentaal ongeveer dit:
Muzieknummer 1:
Naam: Ordinary
Artiest: The Buzzhorn
Plaats van het bestand: C:/ordinary.mp3
Muzieknummer 2:
Naam: Rood
Artiest: Marco Borsato
Plaats van bestand: D:/muziek/rood.wma
Muzieknummer 3:
Naam: Wiskey in the Jarrow
Artiest: Metallica
Plaats van het bestand: D:/metal/witj.wma
Dit bovenstaande lijkt me vrij duidelijk. Computers kunnen er echter niet zomaar mee overweg. Computers zijn namelijk niet zo slim, en moeten weten waar de informatie begint, en waar die eindigt. Ook moeten ze weten wat het label en wat de informatie is. Je krijgt dan dit:
<muziekbibliotheek>
<muzieknummer>
<volgnummer>1</volgnummer>
<naam>Ordinary</naam>
<artiest>The Buzzhorn</artiest>
<bestand>C:/ordinary.mp3</bestand>
</muzieknummer>
<muzieknummer>
<volgnummer>2</volgnummer>
<naam>Rood</naam>
<artiest>Marco Borsato</artiest>
<bestand>D:/muziek/rood.wma</bestand>
</muzieknummer>
<muzieknummer>
<volgnummer>3</volgnummer>
<naam>Wiskey in the Jarrow</naam>
<artiest>Metallica</artiest>
<bestand>D:/metal/witj.wma</bestand>
</muzieknummer>
</muziekbibliotheek>
Zoals je ziet is deze net zo geordend als het eerste voorbeeld, maar worden de labels aangegeven tussen haakjes in plaats van voor een dubbele punt en is er ook een sluitlabel. Dit is nodig, omdat computers nu eenmaal 'dom' zijn. Je mag de labelnamen zelf verzinnen, maar het is natuurlijk wel handig als het label ook echt zegt waar de informarie goed voor is. Ook is er nog een label bijgekomen: muziekbibliotheek. Deze is nodig om aan te geven waar het geheel goed voor is.
We zijn nu echter nog niet klaar! Je moet in het bestand ook nog aangeven dat het XML is, waar het bestand begint en waar het eindigd. Ook moet je de gebruikte XML versie aangeven. Dit alleen omdat een computer te dom is om dat zelf te snappen. Dit moet dan helemaal vooraan:
<?xml version=1.0 ?>Op sommige sites kun je informatie aanleveren in XML formaat. Zo heb je bijvoorbeeld de Google Sitemaps. Daarbij moet je een XML bestand met alle URL's van je pagina aangeven, zodat Google ze beter kan doorzoeken. Ook RSS is een bekend voorbeeld. Hierbij leest een programma informatie vanaf een website in, en geeft deze overzichtelijk weer.
Bij de hierbovenstaande voorbeelden moet je die XML bestanden wel volgens een bepaald opbouw maken, en mag je niet zelf namen verzinnen. Dit komt omdat de computer anders niet weet met welk label jij welke informatie bedoeld Daarom zijn deze formaten van tevoren opgesteld met bepaalde vaste namen. Daar zijn de computers dan ook op ingesteld. Wil je meer over hoe je dat dan moet doen, kijk dan in de bijlage standaard XML formaten voor een aantal veel gebruikte standaarden, waaronder RSS en Sitemaps.