XML, lingua franca van het web?

0
55

Eigenlijk begon het met SGML jaren geleden. SGML staat voor Standard Generalized Markup Language en is de moeder van alle opmaaktalen. Uit SGML distilleerde men HTML, dé opmaaktaal voor het web die datzelfde web groot heeft gemaakt. HTML is echter aan het einde van zijn Latijn. We lopen zowat tegen het plafond aan van de mogelijkheden ervan. Gelukkig dient zich al een opvolger aan: XML.
internet
XML staat voor ‘Extensible Markup Language’ of ‘Uitbreidbare Opmaaktaal’. Het wordt door velen aanzien als de opmaaktaal van de volgende generatie webpagina’s. Die kans is heel groot, zeker sinds Microsoft zich helemaal tot XML heeft bekeerd. Meer nog, Office XP heeft als standaard bestandsformaat XML, ook al blijven de extensies van oudsher nog dezelfde. Om XML volledig tot zijn recht te laten komen, moet de nieuwe standaard ook ondersteund worden door de verschillende webbrowsers op de verschillende platformen zoals Windows, MacOS, Linux en Unix-varianten. Met de recentste versies van de bekendste webbrowsers is dit zonder meer het geval, inclusief de laatste versie van KDE Konqueror voor Linux. XML raakt meer en meer ingeburgerd, ook in webopmaakpakketten als Adobe GoLive 5.0 en Dreamweaver.

Wat is XML?

Dat is allemaal wel mooi, maar wat is XML eigenlijk? XML is veel meer dan een op SGML-gebaseerde mark-up taal. In de eerste plaats is XML een manier om gestructureerde data in een tekstbestand te stoppen, zodat de data leesbaar zijn onafhankelijk van de applicatie waarmee de data zijn opgemaakt. XML is een reeks regels en conventies om data te structureren. Als subset van SGML lijkt het een beetje op HTML, maar is veel uitgebreider. XML kunt u verder zien als een geheel van op elkaar afgestemde, modulaire technologieën. XLink bijvoorbeeld is de standaard om hyperlinks toe te voegen aan een XML-bestand. XPointer lijkt op een URL, maar verwijst naar een stukje data binnenin een XML-bestand. XML Namespaces is een specificatie die beschrijft hoe u een URL kan associëren met een tag of attribuut in een XML-document. Er zijn nog meer dergelijke technologieën in ontwikkeling.

XML en DTD

Wat zijn de grootste voordelen ten opzichte van HTML? Net zoals HTML is XML een subset van SGML, maar dan wel veel uitgebreider. Kenmerkend voor XML is dat de structuur en de inhoud gescheiden zijn van de opmaak. Dat biedt enorme perspectieven, ook in toepassingsgebieden die totaal niets te maken hebben met het weergeven van content of inhoud via een webbrowser.
XML gebruikt net zoals SGML DTD’s (Document Type Definition), dit in tegenstelling tot HTML. Bij HTML zijn alle documenten van hetzelfde type. Een DTD beschrijft de logische elementen en de bijbehorende structurele opbouw voor een klasse van documenten. XML kan dus verschillende structuren aan voor verschillende soorten documenten. Daarmee is een van de belangrijkste beperkingen van HTML van de baan. XML geeft de webontwikkelaar veel meer vrijheid en mogelijkheden. U kunt namelijk zelf tags en de betekenis ervan aanmaken, op voorwaarde dat ze zijn gedefinieerd in een DTD. Met HTML zit de webontwikkelaar in een vast keurslijf van vooraf gedefinieerde tags. In de loop der jaren is de HTML-standaard wel uitgebreid met nieuwe tags, zoals voor formulieren, frames, ‘cascading style sheets’ en dynamisch gegenereerde HTML-pagina’s. Het vaste stramien bleef echter een beperking voor de verdere ontwikkeling van webpagina’s. In HTML geeft tekst of gegevens een etiket, ’tag’ genoemd, om aan te geven hoe de opmaak van die gegevens eruit ziet. Stelt u zich even de titel voor van LAN Magazine in HTML. Die zou er kunnen uitzien als



De hoofdstuktitels van een on line boek over XML zouden er zó kunnen uitzien:



In XML geeft u niet echt aan hoe de opmaak is, wel wat de inhoud, functie of betekenis is van de gegevens. Gaan we even terug naar de hoofdstuktitel van het fictieve XML-boek. In XML zou



een mogelijk uitzicht kunnen zijn, waarbij u zelf de tag ‘hoofdstuktitel’ hebt gedefinieerd. In een XML-document staan dus enkel de gegevens en de structuur ervan. XML is dus meer dan een opmaaktaal. Het is een soort ‘metataal’, een systeem op een hoger niveau om andere talen te definiëren. Daarom zijn DTD’s juist zo handig. Het definiëren van extra tags in DTD’s laat u bovendien toe om zelfs vrij uitgebreide databases in XML op te slaan. U kunt immers van gelijk welke databasestructuur een DTD maken, waardoor elk veld een tag wordt. Het gevolg is trouwens dat zowel documenten als databases veel beter doorzoekbaar worden.

Soorten DTD

Er zijn twee soorten DTD’s. Aan de ene kant vinden we interne DTD’s. Die zijn bij kleinere documenten ruimschoots voldoende om alle tags te kunnen bevatten. Hou er wel rekening mee dat de XML-broncode bij gebruik van een interne DTD flink kan aandikken. Bovendien bevordert dit niet de overzichtelijkheid. Bij omvangrijke documenten, complexe documentstructuren en databases zou het gebruik van een interne DTD veel te omslachtig en onoverzichtelijk zijn. Daarom zijn er externe DTD’s, die opgeslagen worden met de extensie DTD en vanuit gelijk welke XML-webpagina kunnen worden aangeroepen. Om de overzichtelijkheid te behouden, doet u er goed aan steeds een externe DTD te gebruiken.

XML Schema

Het gebruik van DTD als schemataal om XML-documenten te beschrijven heeft zo zijn beperkingen. Zo kunt u wel de structuur en datatypes specificeren, maar geen integriteitregels. XML Schema, sinds begin 1999 officieel omgedoopt tot XSDL (XML Schema Definition Language) heeft meer mogelijkheden dan DTD en is juist heel goed in het specificeren van integriteitregels. Om de beperkingen van DTD te omzeilen zijn er verschillende andere schematalen ontwikkeld voor specifieke soorten documenten zoals XDR (XML Data Reduced) en SOX (Schema for Object-Oriënted XML) om er maar enkele te noemen.

Vorig artikelGechillenregeling Belgische domeinnamen uitgebreid
Volgend artikelStop een film in je luidspreker