IMKL validatie
IMKL-testpagina
Via de IMKL-testpagina kan je IMKL-pakketten opladen en laten valideren. Bij het opladen doorloopt je pakket automatisch de IMKL-validatie.
Is het IMKL-pakket ongeldig? Dan krijg je de fouten en waarschuwingen te zien. Als één stap niet succesvol is, wordt de volgende stap niet uitgevoerd.
Is het IMKL-pakket geldig? Dan kan je het bekijken in de viewer, overeenkomstig het PMKL, met het GRB als achtergrondkaart.
Testpakketten staan los van een planaanvraag. Er wordt niet nagekeken of de IMKL-data (gedeeltelijk) binnen een planaanvraagzone vallen. De pakketten die je hier oplaadt, worden niet bijgehouden door KLIP.
De IMKL-testpagina is ook bereikbaar via de API voor testen IMKL.
Validatiestappen
1. Validatie van het zip-pakket
KLIP controleert eerst of het opgeladen bestand een geldig zip-pakket is.
2. Validatie van de optionele digitale ondertekening
Als KLB kan je het IMKL-bestand digitaal ondertekenen. Is er een digitale handtekening aanwezig? Dan wordt die gevalideerd.
Meer informatie over de digitale handtekening.
3. Validatie tegen het XSD-schema
Het IMKL-bestand wordt gevalideerd tegen het juiste XSD-schema:
imkl_3_0.xsdvoor IMKL 3.0IMKL2.3-20170505.xsdvoor IMKL 2.3
Het XSD-schema werd gegenereerd op basis van het IMKL-schema. In het document met de extra regels zie je welke elementen verplicht zijn (rood aangeduid).
Sommige elementen zijn verplicht. Voor bepaalde elementen kan je een NilReason opgeven, zoals beschreven in het document met de extra regels. Voeg je een NilReason toe? Dan moet je ook het attribuut xsi:nil toevoegen met waarde “true”.
Voorbeeld: <us-net-common:validFrom nilReason="unknown" xsi:nil="true" />
De mogelijke NilReasons zijn: inapplicable, missing, template, unknown of withheld.
4. Validatie van de extra regels
De extra validatieregels zijn opgenomen in het document met de IMKL extra validatieregels (zie IMKL 3.0 of IMKL 2.3).
5. Controle op identieke ID’s
voor Inspire Us elementen:
<net:inspireId> <base:Identifier> <base:localId>001</base:localId> <base:namespace>interstroom-be</base:namespace> <base:versionId>v1</base:versionId> </base:Identifier> </net:inspireId>
voor IMKL-elementen:
<imkl:imklId> <base:Identifier> <base:localId>EP001<\base:localId> <base:namespace>interstroom-be</base:namespace> </base:Identifier> <\imkl:imklId>
versionIdis optioneel.Binnen hetzelfde pakket en voor hetzelfde type element (bijvoorbeeld twee electricitycables) moet de combinatie van deze elementen uniek zijn.
De
namespaceis de identifier van je KLB-zone. Die geef je op via de GUI.
6. Validatie van referenties (href)
KLIP controleert of alle referenties in het href-attribuut verwijzen naar een bestaand IMKL-object.
7. Validatie van afhankelijkheden tussen IMKL-objecten
Validatie van cross-referenties
Voorbeeld: als een appurtenance verwijst naar een diepte-object, dan moet dat diepte-object ook verwijzen naar die appurtenance.
Validatie van de types van appurtenances
Voorbeeld: in een netwerk van het type water mogen enkel appurtenances van het type water zitten.
Incrementele validatie
De validatie verloopt incrementeel. Dat betekent dat de volgende stap niet uitgevoerd wordt als de vorige stap(pen) niet succesvol waren.
Ook binnen stap 6 geldt dit principe. Ontbreekt bijvoorbeeld een href-attribuut? Dan kan niet gevalideerd worden of de syntax van de URI correct is.
Validatieboodschappen bekijken
Je krijgt alle gevonden validatiefouten en waarschuwingen te zien.
Let op: dit zijn niet noodzakelijk alle fouten in het IMKL-pakket.
Bevat het pakket bijvoorbeeld een schemafout (stap 3) én een verkeerde referentie (stap 6)? Dan zie je enkel de schemafout. De tweede fout wordt niet ontdekt omdat de validatie na stap 3 is gestopt.