XProc / p:validate-with-xml-schema / XML-Schema-Datenvalidierung mit XProc
![]() |
![]() |
➪ Neben zahlreichen weiteren leistungsfähigen Features bietet XProc auch Ansätze zur effizienten Datenvalidierung von XML-Dokumenten.
Die im Folgenden dargestellte XProc-Konfiguration (Dateiname: XSD_VALIDATE.xpl) geht von einem XML-Input-Dokument aus, das durch einen externen Aufruf übergeben wird.
<?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>
Mit einem vorinstallierten xmlcalabash kann die XML-Schema-Datenvalidierung dann 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
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 / 31. Dezember 2019
Fragen? Anmerkungen? Tipps?
Bitte nehmen Sie Kontakt zu mir auf.
V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn
☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de