Extensible Markup Language (XML) is een standaard voor het definiëren van formele markup-talen voor de representatie van gestructureerde gegevens in de vorm van platte tekst. Deze representatie is zowel machineleesbaar als leesbaar voor de mens.
Met andere woorden: XML is een bepaalde manier om gegevens gestructureerd vast te leggen (bijvoorbeeld in een bestand, maar ook voor bijvoorbeeld doorsturen van informatie over het internet). Deze manier is gedefinieerd en mag iedereen gebruiken. Het is ontworpen om zowel door een programma als door een mens leesbaar te zijn.
XML is een vereenvoudigde vorm van SGML, Standard Generalized Markup Language een heel complexe standaard die gebruikt werd om ingewikkelde documenten vorm te geven.
Een eerder - heel slap - aftreksel van SGML is HTML HyperText Markup Language. HTML heeft voor een doorbraak in SGML-achtig vormgegeven tekst gezorgd, maar gegevens die op een HTML-pagina staan zijn voor computers echter niet als zodanig te herkennen.
XML zorgt nu juist voor die herkenbaarheid van gegevens. Voorbeeld: een XML-bestand dat een muziek-playlist beschrijft zou er als volgt uit kunnen zien:
<?xml version="1.0" encoding="ISO-8859-1"?> <playlist name="mylist"> <song> <title>Little Fluffy Clouds</title> <artist>the Orb</artist> </song> <song> <title>Goodbye mother Earth</title> <artist>Underworld</artist> </song> </playlist>
Het gaat in dit bestandsformaat dus meer om de structuur van informatie, dit in tegenstelling tot HTML, waarin het meer gaat om de presentatie van de informatie. In een HTML-bestand beschrijven de tags wel hoe informatie moet worden gepresenteerd maar niet wat deze informatie betekent. De afspraken over de te gebruiken tags in de "standaard" dialecten worden formeel vastgelegd in zogenaamde DTD's (Document Type Definitie) of in de nieuwere XML Schema Definities (XSD). Naast de te gebruiken tags wordt hierin ook beschreven welke gegevens acceptabel zijn en hoe ze precies moeten worden opgegeven (bijvoorbeeld postcode bestaat uit 4 cijfers, 1 spatie, 2 letters). Het verschil tussen DTD en XSD is dat XSD schema's hierin meer uitdrukkingskracht hebben; daarnaast is XSD zelf ook een XML dialect dat met alle XML-tools kan worden bewerkt.
Hoe de gegevens opgemaakt zullen worden geef je op met een XSL document Extensible Stylesheet Language. Het is ook enigzins mogelijk om een XML-document op de maken met een CSS-document. CSS is echter beter geschikt voor XHTML. Op zo'n manier geef je in XML middels XSD en XSL een keurige scheiding tussen opmaak en inhoud. Ook XSL is zelf een (standaard) XML-dialect.
Data in XML-formaat kan door middel van XSLT-transformaties worden omgezet naar andere formaten zoals HTML, WML of PDF. In het geval van de transformatie naar HTML kan deze bewerking zowel in de browser (op het moment van tonen) als van te voren gebeuren.
Hoewel in principe de XML tags vrij te kiezen zijn, is het bij uitwisseling van gegevens wel zo handig als er een gemeenschappelijke standaard wordt afgesproken. Op deze manier ontstaan er allerlei XML-dialecten, elk met een eigen specifieke toepassing. Een voorbeeld van een "standaard" XML-dialect is de zogenaamde RSS-standaard (Rich Site Summary of Really Simple Syndication) waarmee nieuwssites hun headlines kunnen uitwisselen. Van nieuwssites als NU.nl en SlashDot zijn bijvoorbeeld zogenaamde RSS-feeds beschikbaar.
Externe links