Onderhoud Wegens upgrade omwille van een kritieke kwetsbaarheid zal confluence vandaag (18/12/2023) om 14u00 even onbeschikbaar zijn.
Inhoudsopgave
Inleiding
Een data aanlevering vertrekt het best met een bestaand en correct XML-bestand. Een dergelijk XML-bestand kan je openen en editeren met zo goed als elke tekst editor. Notepad++ is een voorbeeld van zo'n text editor die XML ondersteunt.
...
Het kiezen van een XML-bestand start de validatie direct. De details geven weer of er fouten gevonden zijn of niet. De header in het XML-bestand bepaalt tegen welk schema het wordt gevalideerd.
...
Eens op een link geklikt, downloadt er een ZIP-bestand. Best voorziet u hiervoor een specifieke map, bv. In je documenten “C:\Users\‹PC_GEBRUIKER›\Documents\xsd”. Als u deze ZIP uitpakt kan u het XML-schema vinden in de folder “…\xsd\kern”.
Eens het XSD-schema op zijn plaats staat, kan deze gebruikt worden door een validator naar keuze. Deze validator kan een webapp, script of software zijn en de keuze hiervan ligt volledig bij de gebruiker.
...
Codeblok | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
import javax.xml.XMLConstants; import javax.xml.transform.Source; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.*; import java.net.URL; import java.net.MalformedURLException; import org.xml.sax.SAXException; //import java.io.File; // Als er gebruik wordt gemaakt van een XSD-file ipv een URL import java.io.IOException; ... URL schemaFile = new URL("https://www.dov.vlaanderen.be/xdov/schema/latest/xsd/kern/dov.xsd"); // Andere schema's kunnen gevonden worden op https://www.dov.vlaanderen.be/portaal/?module=ocdov-xdov-validate // Voorbeeld met een lokaal bestand: // File schemaFile = new File("/location/to/localfile.xsd"); Source xmlFile = new StreamSource(new File("C:\\<PAD_NAAR_XML>\\mijn_xml.xml")); SchemaFactory schemaFactory = SchemaFactory .newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); try { Schema schema = schemaFactory.newSchema(schemaFile); Validator validator = schema.newValidator(); validator.validate(xmlFile); System.out.println(xmlFile.getSystemId() + " is geldig"); } catch (SAXException e) { System.out.println(xmlFile.getSystemId() + " is NIET geldig. Reden:" + e); } catch (IOException e) {} |
Validatie via DOV-webservices
Aan te spreken url: https://services.dov.vlaanderen.be/dov-xdov-server/import/validate (Type request: POST, Header: Content-Type: application/json)
Codeblok | ||||
---|---|---|---|---|
| ||||
curl -X POST -d "@validate-post-body.json" -k https://services.dov.vlaanderen.be/dov-xdov-server/import/validate -H 'Content-Type: application/json' --key my_key.key --cert my_cert.pem -v |
Een json-body moet hier mee gestuurd worden:
Codeblok | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"id": null,
"omschrijving": "opladen XML",
"gebruikersnaam": "<username>",
"datumOpladen": "2019-10-10",
"datumProcessed": null,
"aantalVerwerkt": 0,
"aantalFouten": 0,
"partner": "<kbonummer van uw organisatie>",
"invoerwijze": {
"code": "2",
"beschrijving": "edov"
},
"status": {
"code": "1",
"beschrijving": "niet verwerkt"
},
"options": [
{
"id": null,
"propertyValue": "true",
"property": {
"code": "20",
"beschrijving": "Boring"
}
},
{
"id": null,
"propertyValue": "true",
"property": {
"code": "21",
"beschrijving": "Opmerkingen bij een boring"
}
},
{
"id": null,
"propertyValue": "true",
"property": {
"code": "22",
"beschrijving": "Alternatieve namen"
}
},
{
"id": null,
"propertyValue": "true",
"property": {
"code": "101",
"beschrijving": "Informele stratigrafie"
}
},
{
"id": null,
"propertyValue": "true",
"property": {
"code": "103",
"beschrijving": "Lithologische beschrijving"
}
},
{
"id": null,
"propertyValue": "true",
"property": {
"code": "104",
"beschrijving": "Gecodeerde lithologie"
}
},
{
"id": null,
"propertyValue": "true",
"property": {
"code": "105",
"beschrijving": "Hydrogeologische stratigrafie"
}
},
{
"id": null,
"propertyValue": "true",
"property": {
"code": "108",
"beschrijving": "Geotechnische codering"
}
},
{
"id": null,
"propertyValue": "true",
"property": {
"code": "120",
"beschrijving": "Opmerkingen bij een interpretatie"
}
}
],
"bestand": {
"id": "<BESTAND-ID>",
"naam": "<BESTANDSNAAM>"
}
} |