XML Validierung / XML Schema / XML Schema - Datenvalidierung mit XProc

XML Schema - Datenvalidierung mit XProc

XML Schema - Datenvalidierung mit XProc

➪ Neben zahlreichen weiteren leistungsfähigen Features bietet XProc auch Ansätze zur effizienten XML Schema - basierten Datenvalidierung von XML-Dokumenten.

Die im folgenden dargestellte -Konfiguration geht von einem XML-Input-Dokument aus, das durch einen externen Aufruf übergeben wird; in diesem externen Aufruf ist auch die Ausgabedatei enthalten.


<?xml version="1.0" encoding="UTF-8"?> 
<p:declare-step 
  xmlns:p="http://www.w3.org/ns/xproc" 
  xmlns:c="http://www.w3.org/ns/xproc-step"
  version="1.0">
  <p:input port="source"     sequence="true"/>
  <p:input port="parameters" kind="parameter"/>
  <p:output port="result"    sequence="true"/>
  <p:validate-with-xml-schema>
    <p:input port="schema">
      <p:document href="C:/wg/xsd/Ort_Elemente.xsd"/>
    </p:input>
  </p:validate-with-xml-schema>
</p:declare-step>

Liegt die vorstehende Konfiguration in dieser Datei


C:/xmlcalabash-1.1.15-97/wgtest/XSD_VALIDATE.xpl

... dann kann mit einem vorinstallierten xmlcalabash die XML Schema - Datenvalidierung einfach durchgeführt werden:


cd C:/xmlcalabash-1.1.15-97/
java -jar xmlcalabash-1.1.15-97.jar 
     -i source=C:/wg/Ort_Elemente.xml 
     wgtest/XSD_VALIDATE.xpl

Das Ergebnis sieht dann auf der Systemausgabe so aus:


ERROR: err:XC0053:XProc error err:XC0053
ERROR:     cause: cvc-complex-type.2.4.a: 
Ungültiger Content wurde beginnend mit Element 
'preisX' gefunden. '{preis, Gesamt}' wird erwartet.
ERROR: It is a dynamic error if the assert-valid option 
is true and the input document is not valid.
ERROR: Underlying exception: cvc-complex-type.2.4.a: 
Ungültiger Content wurde beginnend mit Element 
'preisX' gefunden. '{preis, Gesamt}' wird erwartet.

wg / 28. November 2017



Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf:

Vorname
Nachname
Mailadresse





NVDL



Vielen Dank für Ihr Interesse an meiner Arbeit.


V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/XSD_XProc.html