XML-Validierung: Wozu? / 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 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 / 12. April 2018



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.




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