XML Schema- zelfstudie
Wat is een XML-schema?
Een XML Schema beschrijft de structuur van een XML-document.
De XML Schema-taal wordt ook wel XML Schema Definition (XSD) genoemd.
XSD-voorbeeld
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Het doel van een XML-schema is om de juridische bouwstenen van een XML-document te definiëren:
- de elementen en attributen die in een document kunnen voorkomen
- het aantal (en volgorde van) onderliggende elementen
- gegevenstypen voor elementen en attributen
- standaard en vaste waarden voor elementen en attributen
Waarom XML-schema leren?
In de XML-wereld worden dagelijks honderden gestandaardiseerde XML-formaten gebruikt.
Veel van deze XML-standaarden worden gedefinieerd door XML-schema's.
XML Schema is een op XML gebaseerd (en krachtiger) alternatief voor DTD.
XML-schema's ondersteunen gegevenstypen
Een van de grootste kracht van XML Schema's is de ondersteuning voor gegevenstypen.
- Het is gemakkelijker om toegestane documentinhoud te beschrijven
- Het is gemakkelijker om de juistheid van gegevens te valideren
- Het is gemakkelijker om gegevensfacetten te definiëren (beperkingen op gegevens)
- Het is eenvoudiger om datapatronen (dataformaten) te definiëren
- Het is gemakkelijker om gegevens tussen verschillende gegevenstypen om te zetten
XML-schema's gebruiken XML-syntaxis
Een ander sterk punt van XML-schema's is dat ze in XML zijn geschreven.
- Je hoeft geen nieuwe taal te leren
- U kunt uw XML-editor gebruiken om uw Schema-bestanden te bewerken
- U kunt uw XML-parser gebruiken om uw Schema-bestanden te ontleden
- U kunt uw schema manipuleren met de XML DOM
- U kunt uw schema transformeren met XSLT
XML-schema's zijn uitbreidbaar, omdat ze in XML zijn geschreven.
Met een uitbreidbare Schema-definitie kunt u:
- Hergebruik uw schema in andere schema's
- Maak uw eigen gegevenstypen afgeleid van de standaardtypen
- Verwijzen naar meerdere schema's in hetzelfde document
XML-schema's Veilige datacommunicatie
Bij het verzenden van gegevens van een zender naar een ontvanger is het essentieel dat beide delen dezelfde "verwachtingen" hebben over de inhoud.
Met XML Schema's kan de afzender de gegevens beschrijven op een manier die de ontvanger zal begrijpen.
Een datum als: "03-11-2004" wordt in sommige landen geïnterpreteerd als 3 november en in andere landen als 11 maart.
Een XML-element met een gegevenstype als dit:
<date type="date">2004-03-11</date>
zorgt voor een wederzijds begrip van de inhoud, omdat het XML-gegevenstype "datum" het formaat "JJJJ-MM-DD" vereist.
Goed gevormd is niet genoeg
Een goed gevormd XML-document is een document dat voldoet aan de XML-syntaxisregels, zoals:
- het moet beginnen met de XML-declaratie
- het moet één uniek root-element hebben
- start-tags moeten overeenkomende eind-tags hebben
- elementen zijn hoofdlettergevoelig
- alle elementen moeten gesloten zijn
- alle elementen moeten correct genest zijn
- alle attribuutwaarden moeten tussen aanhalingstekens staan
- entiteiten moeten worden gebruikt voor speciale tekens
Zelfs als documenten goed gevormd zijn, kunnen ze nog steeds fouten bevatten, en die fouten kunnen ernstige gevolgen hebben.
Denk aan de volgende situatie: u bestelt 5 laserprinters bruto, in plaats van 5 laserprinters. Met XML-schema's kunnen de meeste van deze fouten worden opgevangen door uw validatiesoftware.