Validierung von XML-Dokumenten

Video-Anleitung:

Video_Anleitung

In XHochschule werden Informationen in Form von XML-Dokumenten (wie z.B. Exmatrikulationsbescheinigung) generiert und ausgetauscht. Um mit der Spezifikation XHochschule konform sein zu können, müssen diese XML-Dokumente validiert werden.

Die Prüfungen der Konformität bauen aufeinander auf, ein erfolgreiches Validieren der vorigen Prüfebene ist Grundlage für die darauffolgenden Prüfschritte.

  1. XML-Konformität : XML Wellformedness (Sind alle Tags geschlossen, gibt es ein root-Element?)
  2. XSD-Konformität: Sind die Angaben gemäß der XML Schemadefinition (Reihenfolgen, Pflichtfelder, Enumeration) konform?
  3. ISO Schematron-Konformität: Werden die formulierten Geschäftsregeln eingehalten?
  4. Spezifikationskonformität: lässt sich nicht automatisiert prüfen, kann nur durch menschlichen Einsatz geprüft werden

Um die Konformitätsprüfung zu ermöglichen, werden in XHochschule XML-Schemata und Schematron-Dateien bereitgestellt. Diese entsprechen auf maschinenlesbarer Ebene den fachlichen Anforderungen und Vorgaben, die im PDF-Spezifikationsdokument in menschenlesbarer Form dargestellt sind.

Diese Seite soll das Vorgehen bei der Validierung von XML-Dokumenten erläutern. Dabei werden verschiedene Methoden vorgestellt, die sich auch mit einem offenen und kostenfreien Technologiestack durchführen lassen. Alle vorgestellten Tools können prinzipiell lokal und ohne Internetverbindung eingesetzt werden, sofern lokale Kopien der Spezifikationsdateien vorliegen.

Validierung mit Oxygen XML

Bei der Entwicklung der XHochschule-Spezifikation wird für die Validierung das Programm "Oxygen XML" eingesetzt. Diese kommerziell verfügbare Anwendung erlaubt sowohl die Validierung mit XML-Schema als auch mit Schematron. Eine kostenlose Probeversion kann auf dieser Seite angefordert werden: https://www.oxygenxml.com/oxygen_feedback_enterprise/try_it.html

XML-Schema mit Oxygen XML:
  1. Das zu validierende Dokument in Oxygen XML öffnen.

  2. Auf den Pfeil neben dem Icon für "Validieren" klicken und Saxon EE auswählen

    Validieren mit Saxon EE

  3. Fehlermeldungen bzw. Warnungen werden angezeigt 
Schematron mit Oxygen XML
  1. Das zu validierende Dokument in Oxygen XML öffnen.
  2. Auf den Pfeil neben dem Icon für "Validieren" klicken
  3. "Validieren mit..." auswählen

    Validieren mit
  4. Schematron-Datei (Dateiendung .sch) auswählen, "Ok" drücken

    Schematron File Auswahl
  5. Eventuelle Fehlermeldungen werden angezeigt

Vorgehensweise ohne Oxygen XML

Es stehen mehrere kostenfreie Anwendungen zur XML-Validierung zur Verfügung. Zwei davon werden im Folgenden vorgestellt. 

Die vorgestellten Anwendungen sind für den privaten Gebrauch kostenlos, bitte beachten Sie die Lizenzbestimmungen, bevor Sie sie für kommerzielle Zwecke einsetzen. 

XML-Schema mit Microsoft XML Notepad

XML Notepad führt eine automatisierte Validierung von XML-Dokumenten durch, die darin geöffnet werden.

  1. XML Notepad von dieser Adresse herunterladen: https://microsoft.github.io/XmlNotepad/#install/
  2. XML-Datei mit XML Notepad öffnen
  3. Fehler, die sich auf die geöffnete Datei beziehen, erscheinen in der Liste der Fehler
Schematron-Validierung mit Saxon HE

In diesem Fall wird die kostenfreie Variante von Saxon für eine einfache XSLT-Transformation verwendet. Grundsätzlich sollte jedes Tool, das XSLT-Transformationen durchführen kann, dieselbe Operation durchführen können. Saxon HE wird unter der Mozilla Public License 2.0 veröffentlicht.

  1. Schematron-Datei im XSLT-Format herunterladen (Dateiendung .xsl). Die Datei xhochschule-schematron-compiled.xsl ist unter diesem Link auf GitHub zu finden.
  2. Saxon HE in einer aktuellen Version herunterladen (z.B. diese: https://www.saxonica.com/download/java.xml )
  3. Folgenden Befehl in der Konsole ausführen, wobei anstelle von Ihre_Datei.xml der Name der zu validierenden Datei steht, und anstelle von Schematron_compiled.xsl der Name der kompilierten Schematron-Datei  

    java -jar saxon-he-11.3.jar -s:Ihre_Datei.xml -xsl:Schematron_compiled.xsl
  4. in der Konsole erscheinen eventuelle Fehlermeldungen