Versies vergeleken

Uitleg

  • Deze regel is toegevoegd.
  • Deze regel is verwijderd.
  • Opmaak is veranderd.

...

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. StatuscolourYellowtitleincomplete

Aangeraden opties zijn unit tests via script.

Voorbeeld in Java

In onderstaand voorbeeld is hetnmogelijk zowel met URL verwijzing als met de bronbestanden te werken. Deze kunnen gevonden worden op:


Codeblok
languagejava
themeRDark
titleXML-validatie in Java
linenumberstrue
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) {}