Aktuelle Remote-Seminare mit Durchführungsgarantie: Etwas Werbung in eigener Sache Termine: 03.08.-05.08.2020, 21.09.-23.09.2020, 23.11.-25.11.2020, 07.12.-09.12.2020, 22.03.-24.03.2021, 07.06.-09.06.2021, 06.09.-08.09.2021XML Einführung und Grundlagen Termine: 06.08.2020, 20.10.2020, 13.11.2020, 10.12.2020, 25.03.2021, 10.06.2021, 09.09.2021XML - der professionelle Überblick Termine: 23.11.-26.11.2020, 29.03.-01.04.2021Einstieg in die Programmierung Termine: 17.08.-19.08.2020, 14.12.-16.12.2020, 07.04.-09.04.2021XML, XSLT, XPath, XSL-FO Einführung Termine: Termin nach WunschEinstieg in C#.NET Termine: 21.09.-23.09.2020, 11.01.-13.01.2021, 26.05.-28.05.2021, 27.09.-29.09.2021VB.NET für Visual Basic-Programmierer Termine: 21.10.-23.10.2020, 14.12.-16.12.2020, 08.03.-10.03.2021, 19.07.-21.07.2021, 23.08.-25.08.2021XML Grundlagen, XSL-FO, SVG, DocBook, DITA Termine: Termin nach WunschJava Grundlagen Termine: 03.08.-06.08.2020, 30.11.-03.12.2020, 29.03.-01.04.2021C++ für Programmiereinsteiger Termine: 10.09.2020, 11.12.2020, 16.03.2021Neues Seminar: XProc Grundlagen Termine: 21.09.-25.09.2020, 01.03.-05.03.2021Java/JSP/HTML/JDBC/XML Komplett Termine: 07.09.-09.09.2020, 21.10.-23.10.2020, 23.11.-25.11.2020, 25.01.-27.01.2021, 12.04.-14.04.2021, 26.07.-28.07.2021Python für Programmiereinsteiger Last-Minute-Seminare, noch freie Plätze XML Einführung und Grundlagen03.08.-05.08.2020 XML, XSLT, XPath, XSL-FO Einführung17.08.-19.08.2020 Python für Programmiereinsteiger07.09.-09.09.2020

XPROC * XSL-FO * SVG * XML * XML-SCHEMA * XPATH * XSL * XSLT 1.0 * XSLT 2.0 * XSLT 3.0 * XQUERY * ANT



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 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, dass 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".

Die eigentliche XSD-Validierung startet mit dem Standard-Tag schemavalidate. Als Alternative steht zur Verfügung.


<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 Prozess 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 / 31. Dezember 2019



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.




XML-Schema

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