Stichting Benchmark GGZ
Download starterskit
Vacatures Meldt u aan voor de nieuwsbrief

XML validatie conform de XSD

“XML-validatie”, “XSD”; het zijn termen die velen wellicht niet gelijk begrijpen. Desondanks betreft het een onderwerp dat belangrijk is voor het snel en goed bij SBG aanleveren van bestanden. De XSD is een technische beschrijving die exact specificeert hoe een XML-bestand, dat bij SBG aangeleverd wordt, eruit mag zien. XML-validatie is het checken of een bepaald bestand aan deze technische specificaties voldoet en dus verwerkt kan worden door SBG.
 

Negentig procent  van de bestanden die SBG in eerste instantie binnenkrijgt stemt niet overeen met de opgestelde specificaties. Hierdoor loopt het ontwikkeltraject (samenstellen, testen en accepteren) aan beide kanten onnodig uit. Dat willen we voorkomen. Daarom vragen we de zorgaanbieder altijd om voorafgaand aan het insturen van een XML bestand eerst zelf het bestand te valideren.
 

Er zijn twee oorzaken dat XML bestanden die bij SBG aangeleverd worden niet overeenstemmen met de specificaties. De eerste en meest voorkomende oorzaak is dat het bestand niet door de zorgaanbieder zelf is gecontroleerd voordat het werd ingestuurd. In dat geval wordt het bestand door SBG niet verder in behandeling genomen.  De zorgaanbieder wordt hiervan op de hoogte gesteld via de implementatieconsultants.
 

Een tweede oorzaak is dat de zorgaanbieder het bestand wel voorafgaand heeft gecontroleerd, maar  met behulp van een andere validatietool dan SBG. Er bestaan verschillende validatietools, die op kleine punten kunnen afwijken. SBG valideert de XML bestanden met de toolset van Altova (XML Spy). Er zijn binnen de markt echter ook (freeware) alternatieven voor XML Spy. Met twee van deze alternatieve programma’s  heeft SBG goede ervaringen, namelijk XMLPad en XML Notepad 2007. Bij het gebruik van deze tools worden bijna alle validatiefouten inzichtelijk. De beperkingen van deze tools die geconstateerd worden, houden wij bij in dit document
 

Bij de validatie kunt u als volgt te werk gaan:

  • Selecteer een XML validatie tool;
  • Vertel onze implementatieconsultant van welke toolset u gebruik maakt;
  • Bestudeer bij gebruik van freeware oplossingen de onderstaande informatie om op de hoogte te zijn van bekende beperkingen.
     

Verschillende XSD validatie Tools 

Inleiding

De XML structuur die wordt uitgevraagd komt niet zomaar uit de lucht vallen. Deze structuur moet voldoen aan het XSD schema “SBG_XSD_20110204.xsd” welke te vinden is in de starterskit van SBG.
 

Wanneer het bestand gecreëerd is, dient het eerst gevalideerd te worden tegen het XSD schema voordat het wordt aangeleverd.
 

Hier wordt voor drie verschillende tools beschreven hoe er gevalideerd kan worden, namelijk:

  1. Altova XML Spy
  2. Microsoft XML Notepad 2007
  3. XMLPad 3 (WMHelp.com)  

Valideren in 2 stappen

1)     Na het openen van het bestand moet het XSD schema toegewezen worden aan het bestand zodat het programma weet aan welk schema de XML moet voldoen.

2)     Vervolgens doorloopt het programma aan de hand van het schema het XML bestand en controleert:

a)     De structuur van het bestand

i)      Worden de elementen aangeleverd?

ii)     Staan de elementen op de juiste plek?

iii)    Worden de vereiste elementen aangeleverd?

iv)    Komen de elementen niet vaker voor dan gedefinieerd in het schema?

v)     Worden de vereiste attributen aangeleverd?
 

b)    De gedefinieerde datatypes.

i)      Voldoen de waarden van de attributen aan het gedefinieerde datatype?

 XML programmatuur

Altova XML Spy

Altova XML Spy is een commercieel product van Altova.

Het product is verkrijgbaar op de website: www.altova.com
 

Valideren in Altova XML Spy gaat als volgt:
 

Open het te valideren XML bestand in Altova XML Spy en kies vervolgens:

XML > Check Well-Formedness (F7)  

Wanneer er in het berichtvenster gemeld wordt dat het bestand goed gevormd is kan het XSD schema aan het bestand worden toegevoegd.
 

Om dit te doen kies:

DTD / Schema > Assign Schema…  

Kies voor Browse… in het pop-up scherm en navigeer naar de locatie van het bestand in het bestandssysteem en klik op Openen.
 

Het bestand heeft nu schema waartegen het gevalideerd kan worden.
 

Kies voor:

XML > Validate XML (F8)  

Het bestand wordt gevalideerd tegen het schema. Wanneer het programma detecteert dat het XML bestand niet aan het XSD schema voldoet wordt er een melding weergegeven in het berichtvenster.
Door dubbel te klikken op de melding springt het programma naar de gevonden inconsistentie.
 

Microsoft XML Notepad 2007

Microsoft XML Notepad 2007 is Freeware en te downloaden op http://www.microsoft.com/download/en/details.aspx?id=7973.
 

Valideren in Microsoft XML Notepad 2007 gaat als volgt: 

Open het te valideren XML bestand in Microsoft XML Notepad 2007

Wanneer het programma detecteert dat de XML niet goed gevormd is stelt het voor om het programma in Notepad te openen. 

Wanneer het bestand geopend is betekent het dat het goed gevormd is en kan het XSD schema aan het bestand worden toegekend.
 

Om dit te doen kies:

XML > Schemas…  

Controleer of in de lijst in het pop-up scherm het betreffende XSD schema voorkomt.

Wanneer dit het geval is controleer of disabled niet is aangevinkt en klik OK.
 

Het scherm is opgebouwd uit meerdere schermen. Klik In het linker scherm genaamd Tree View het root-element  open en controleer of het een attribuut genaamd xmlns heeft.
 

Wanneer dit niet het geval is klik dan met de rechtermuisknop op het root-element en kies in het contextmenu voor Attribute > Child (Alt + Ins).
 

Noem het attribuut xmlns.
 

Nu moet er een waarde aan het xmlns attribuut worden toegekend waardoor het programma weet welk schema uit de lijst met schema’s het moet gebruiken om het bestand te valideren.
 

Dubbelklik hiervoor achter het attribuut xmlns en kies uit de lijst met voorgestelde waarden voor de waarde die bij het schema hoort dat van toepassing is op het bestand.
 

Het bestand wordt gevalideerd tegen het schema. Wanneer het programma detecteert dat het XML bestand niet aan het XSD schema voldoet wordt er een melding weergegeven in het berichtvenster.Door dubbel te klikken op de melding springt het programma naar de gevonden inconsistentie.
 

Voordelen van Microsoft XML Notepad 2007:

  • Het programma geeft alle inconsistenties in het bestand meteen weer in een lijst.
  • Het programma controleert datum velden tegen de systeemklok.

 Nadelen van Microsoft XML Notepad 2007:

  • Het is ingewikkelder om een XSD schema toe te kennen aan het bestand.
  • Er is geen source editor, waardoor het programma bestanden die geen goed gevormde XML bevatten niet geopend kunnen worden.
     

WMHelp.com XML Pad

XML Pad is Freeware en te downloaden op www.wmhelp.com
 

Valideren in XML Pad gaat als volgt:
 

Open het te valideren XML bestand in XML Pad.
 

Het programma controleert automatisch of het bestand goed gevormd is. Hiervoor hoeft geen handeling uitgevoerd te worden.
 

Wanneer er in het berichtvenster gemeld wordt dat het bestand goed gevormd is kan het XSD schema aan het bestand worden toegevoegd.
 

(LET OP voor een juiste validatie in XML PAD moet er gebruik gemaakt worden van een aangepaste XSD (zonder de SBG: namespace). De aangepaste XSD is hier te downloaden .)
Om de aangepaste XSD te koppelen, kies uit het menu:

XML > Assign Schema / DTD…  

Kies voor W3C Schema optie in het pop-up scherm en klik vervolgens op Browse…

Navigeer naar de locatie van het bestand in het bestandssysteem en klik op Openen.

Het bestand heeft nu schema waartegen het gevalideerd kan worden.
 

Kies voor:

XML > Validate (F7)  

Het bestand wordt gevalideerd tegen het schema. Wanneer het programma detecteert dat het XML bestand niet aan het XSD schema voldoet wordt er een melding weergegeven in het berichtvenster.
Door dubbel te klikken op de melding springt het programma naar de gevonden inconsistentie.
 

Voordelen van XML Pad:

  • Het programma geeft alle inconsistenties in het bestand meteen weer in een lijst.

 Nadelen van XML Pad:

  • Wanneer er een schema in het bestand staat is het erg lastig om een nieuw schema aan het bestand toe te kennen. Hiervoor moet het schema dat reeds in het bestand staat handmatig uit de broncode worden verwijdert.
  • Het programma controleert datum velden wel tegen een correct formaat, maar niet tegen de systeemklok. Hierdoor zullen data die niet voorkomen op de kalender, maar wel in het juiste formaat staan genoteerd ten onrechte als valide worden aangezien.
  • Wanneer het bestand niet goed gevormd is en er een schema aan het bestand toegekend wordt, verwijdert het programma alle elementen op het root-element na.