XML Validierung / XML Schema / XML Schema Validierung mit ANT

XML Schema Validierung mit ANT

XML Schema Validierung mit ANT

➪ Neben zahlreichen anderen Features bietet ANT auch gute Unterstützung zur Validierung von XML-Dokumenten mit Hilfe von XML Schema.

Im folgenden ANT-Script wird das Target "tuwas" gestartet, das via antcall zwei Mal auf das zweite Target "xsdvalidate" zugreift und diesem jeweils einen Parameter "xmldatei" übergibt.

"xsdvalidate" gibt zunächst die Info aus, daß die mit dem Parameter "xmldatei" übergebene Datei gegen eine spezielle XML Schema-Datei "Ort_Elemente.xsd" validiert wird, bevor der eigentliche Validierungsvorgang gestartet wird.

Die Dateipfade zu den XML- und XSD-Dateien können bei Bedarf (teilweise oder ganz) in separate Properties ausgelagert werden, wie es im unten dargestellten Beispiel mit dem Property "wgpath" geschehen ist. Der tatsächliche Dateipfad von "${wgpath}/xsd/Ort_Elemente.xsd" lautet daher "C:/wg/xsd/Ort_Elemente.xsd".


<project name="MYANTPROJECT" default="tuwas">
 <property name="wgpath" value="C:/wg"/>
 <target name="tuwas">
  <antcall target="xsdvalidate">
   <param name="xmldatei" value="Ort_Elemente.xml"/>
  </antcall>
  <antcall target="xsdvalidate">
   <param name="xmldatei" value="Ort_Elemente_tab.xml"/>
  </antcall>
 </target>
 <target name="xsdvalidate">
  <echo 
    message="validiere ${xmldatei} gegen Ort_Elemente.xsd"/>
  <schemavalidate 
   failonerror="no" 
   warn="yes"     
   nonamespacefile="${wgpath}/xsd/Ort_Elemente.xsd" 
   file="${wgpath}/input/${xmldatei}"/>
 </target>
</project>

Das System gibt für das oben dargestellte Beispiel die folgenden Meldungen zurück. Während "Ort_Elemente.xml" keine Validierungsprobleme verursachte, lief "Ort_Elemente_tab.xml" auf einen (provozierten) Fehler, nach dem der Prozeß abbricht.


tuwas:
xsdvalidate:
 [echo] validiere Ort_Elemente.xml gegen Ort_Elemente.xsd
xsdvalidate:
 [echo] validiere Ort_Elemente_tab.xml gegen Ort_Elemente.xsd
[schemavalidate] 
 C:\wg\input\Ort_Elemente_tab.xml:2:7: 
 cvc-elt.1: Deklaration des Elements 'ROOT' kann nicht gefunden werden.
[schemavalidate] 
 C:\wg\input\Ort_Elemente_tab.xml is not a valid XML document

wg / 28. Oktober 2017



Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf:

Vorname
Nachname
Mailadresse







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_ANT.html