Validierung von XML-Dokumenten

In XHochschule werden Informationen in Form von XML-Dokumenten (wie z.B. Exmatrikulationsbescheinigung) generiert und ausgetauscht. Um mit der Spezifikation XHochschule konform sein 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, Enumerations
  3. ISO Schematron-Konformität: Werden die formulierten Geschäftsregeln eingehalten)
  4. Spezifikationskonformität: lässt sich nicht automatisiert prüfen, kann nur durch menschliche 

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önne prinzipiell lokal und ohne eine aktive Internetverbindung eingesetzt werden, sofern lokale Kopien der Spezifikation-Files 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, wie 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.

  1. Schematron-Datei im XSLT-Format herunterladen (Dateiendung .xsl). Ein Beispiel für eine solche Datei, die für die Pilotierung der Exmatrikulationsbescheinigung in XHochschule V0.9 erstellt wurde, ist unter diesem Link zu finden.
  2. Saxon HE in einer aktuellen Version herunterladen (z.B. diese: https://sourceforge.net/projects/saxon/files/Saxon-HE/11/Java/ )
  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