Publicatie:Valide XML
In deel 1 van deze handleiding werd uitgelegd dat XML zelfbeschrijvend is: je bent vrij om de namen van de tags in je XML-document zelf te kiezen, waardoor je de inhoud en structuur van je document heel nauwkeurig leesbaar kan maken voor een computersysteem. Catalogi en inventarissen hebben echter een strakke formele structuur waarbij elke beschrijving op de zelfde manier is opgebouwd. Wanneer je een inventaris in een XML-document codeert, gebruikt elke beschrijving dezelfde tags en hebben de XML-elementen een vaste volgorde. De grammatica van een in XML gecodeerde catalogus of inventaris wordt dus bij voorkeur a priori vastgelegd.
DTD & XML Schema
De grammatica van een XML-document kan je op twee manieren vastleggen: met een Publicatie:Document Type Definition (DTD) of met een Publicatie:XML Schema. Beide standaarden zijn computertalen die a priori de namen en de structuur van de elementen bepalen waaruit je XML-document kan bestaan. De code van een XML Schema wordt steeds opgeslagen in een apart bestand met de extensie .xsd. DTD's kunnen opgeslagen worden in een apart bestand (externe DTD), maar je kan de code van een DTD ook rechtstreeks opnemen in je XML-document (interne DTD). XML-documenten waarvan de grammatica vastgelegd wordt in een externe DTD's of XML Schema's bevatten steeds een link naar het betrokken DTD- of XSD-bestand. Deze link vind je terug bovenaan het XML-document, net onder de XML-verklaring . XML-documenten kunnen maar één grammatica hebben; ofwel een DTD, ofwel een XML Schema, maar niet allebei.
Opmerking: hoewel DTD nog steeds gebruikt wordt, is het een verouderde standaard aan het worden. Hij wordt doorgaans enkel nog gebruikt om de grammatica van XML-documenten met een eenvoudige structuur vast te leggen. De grammatica van XML-documenten met een complexe structuur wordt het best uitgelijnd in een XML Schema, een complexere en meer flexibele standaard. Ook transformaties van XML-documenten zijn enkel mogelijk door middel van een XML Schema.
Valideren
Valideren is controleren of de namen en de structuur van het XML-document conform zijn aan de grammatica waarnaar ze verwijzen. Valide XML beantwoordt aan twee voorwaarden:
- Je XML-document is welgevormd, d.i. het bevat geen fouten tegen de welgevormdheidscriteria uitgelijnd op de pagina Publicatie:Welgevormde XML.
- Je XML-document is formeel opgebouwd conform de grammatica uitgelijnd in de Publicatie:Document Type Definition (DTD) of het Publicatie:XML Schema.
Om na te gaan of je XML-document valide is, gebruik je een XML-validator. Een XML-validator controleert of je XML-document al dan niet welgevormd is en opgebouwd is conform de grammatica uitgelijnd in de DTD of het XML Schema waarnaar het document verwijst.
De meeste XML-editors bevatten standaard ook een functie om XML te valideren. Hieronder vind je enkele nuttige XML-editors:
Op het net vind je veel online XML-validators. Hieronder vind je een link naar de XML-validator van het World Wide Web Consortium (W3C):
Op de volgende pagina's vindt je meer informatie over hoe een DTD- en een XSD-bestand zijn opgebouwd.