XML-skema- tutoriaal
Wat is 'n XML-skema?
'n XML-skema beskryf die struktuur van 'n XML-dokument.
Daar word ook na die XML-skema-taal verwys as XML-skema-definisie (XSD).
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>
Die doel van 'n XML-skema is om die wettige boustene van 'n XML-dokument te definieer:
- die elemente en eienskappe wat in 'n dokument kan verskyn
- die aantal (en volgorde van) kinderelemente
- datatipes vir elemente en eienskappe
- verstek en vaste waardes vir elemente en eienskappe
Waarom leer XML-skema?
In die XML-wêreld word honderde gestandaardiseerde XML-formate daagliks gebruik.
Baie van hierdie XML-standaarde word deur XML-skemas gedefinieer.
XML-skema is 'n XML-gebaseerde (en kragtiger) alternatief vir DTD.
XML-skemas ondersteun datatipes
Een van die grootste sterkpunte van XML-skemas is die ondersteuning vir datatipes.
- Dit is makliker om toelaatbare dokumentinhoud te beskryf
- Dit is makliker om die korrektheid van data te valideer
- Dit is makliker om datafasette te definieer (beperkings op data)
- Dit is makliker om datapatrone (dataformate) te definieer
- Dit is makliker om data tussen verskillende datatipes om te skakel
XML-skemas gebruik XML-sintaksis
Nog 'n groot voordeel van XML-skemas is dat dit in XML geskryf is.
- Jy hoef nie 'n nuwe taal te leer nie
- Jy kan jou XML-redigeerder gebruik om jou Skema-lêers te wysig
- Jy kan jou XML-ontleder gebruik om jou Skema-lêers te ontleed
- Jy kan jou Skema manipuleer met die XML DOM
- Jy kan jou Skema met XSLT transformeer
XML-skemas is uitbreidbaar omdat dit in XML geskryf is.
Met 'n uitbreidbare Skema-definisie kan jy:
- Hergebruik jou Skema in ander Skemas
- Skep jou eie datatipes afgelei van die standaardtipes
- Verwys na verskeie skemas in dieselfde dokument
XML-skemas Veilige datakommunikasie
Wanneer data van 'n sender na 'n ontvanger gestuur word, is dit noodsaaklik dat beide dele dieselfde "verwagtings" oor die inhoud het.
Met XML-skemas kan die sender die data beskryf op 'n manier wat die ontvanger sal verstaan.
'n Datum soos: "03-11-2004" sal in sommige lande geïnterpreteer word as 3.November en in ander lande as 11.Maart.
'n XML-element met 'n datatipe soos hierdie:
<date type="date">2004-03-11</date>
verseker 'n wedersydse begrip van die inhoud, omdat die XML-datatipe "datum" die formaat "JJJJ-MM-DD" vereis.
Goed gevorm is nie genoeg nie
'n Goed gevormde XML-dokument is 'n dokument wat aan die XML-sintaksisreëls voldoen, soos:
- dit moet begin met die XML-verklaring
- dit moet een unieke wortelelement hê
- beginmerkers moet bypassende eindmerkers hê
- elemente is hooflettergevoelig
- alle elemente moet gesluit wees
- alle elemente moet behoorlik geneste wees
- alle kenmerkwaardes moet aangehaal word
- entiteite moet vir spesiale karakters gebruik word
Selfs al is dokumente goed gevorm, kan dit steeds foute bevat, en daardie foute kan ernstige gevolge hê.
Dink aan die volgende situasie: jy bestel 5 bruto laserdrukkers, in plaas van 5 laserdrukkers. Met XML-skemas kan die meeste van hierdie foute deur jou validerende sagteware opgevang word.