Arbeiten mit Xml‐Dateien - iqb-berlin/iqb-berlin.github.io GitHub Wiki
XML ist ein Standardformat und wird durch Texteditoren unterstützt. Daher sind einige Dateien für die Definition von Daten in den IQB-Anwendungen in diesem Format hinterlegt. Der folgende Text soll Neulingen dieses Format nahebringen.
XML ist ein textbasiertes Datenformat. Die Daten können einfach mittels eines Texteditors bearbeitet werden. Beispiele sind Notepad++ oder Sublime. Viele Editoren bieten Ergänzungsmodule für die Arbeit mit XML-Dateien. Diese erleichtern die Bearbeitung durch farbliche Hervorhebung der XML typischen Bestandteile und erkennen Fehler in der XML-Syntax (z. B. schließendes Element fehlt) gemeldet.
Damit die Daten im Text gefunden werden können, muss eine bestimmte Struktur eingehalten werden. Anschließend kann eine entsprechende Gegenstelle z.B. das IQB-Testcenter mittels eindeutiger Schlüsselwörter (Tags oder Elemente) die Daten im Text finden und nutzen.
- Elemente: XML-Dateien bestehen immer aus Elementen und ggf. mehreren Unterelementen. Der Beginn eines Elements wird mit zwei spitzen Klammern
<Element>
eingeleitet und wie folgt beendet:</Element>
. - Attribute: Jedes Element kann außer den eigentlichen Daten, welche sich im Elementenkörper befinden, Attribute enthalten. Attribute werden immer in der folgenden Form ausgedrückt:
Name Attribut = "Attributwert"
und befinden sich innerhalb des Elementenaufrufs (<Element Attribut="Attributwert">
). Es gibt auch Elemente, die Attribute aber keine Daten enthalten und umgekehrt.
-
Element ohne Attribute mit Daten:
Daten sind in diesem Fall der Text zwischen den spitzen Klammern, dem Elementenkörper:
"Sekundarstufe I Englisch Ansichtsaufgaben"
.
<Label>Sekundarstufe I Englisch Ansichtsaufgaben</Label>
-
Element mit Attributen ohne Daten:
Hier gibt es 3 Attribute:
id
,lable
undlableshort
. Alle 3 Attribute enthalten in diesem Fall Attributwerte.
Diese sind in Hochkommata gefasst und werden mit einem Gleichheitszeichen dem Attribut zugeordnet. Das keine Daten enthalten sind, ist gut an dem Schließen des Elementes Unit zu erkennen. Denn das Element endet nicht mit:</Unit>
, sondern nur mit:/>
. Diese Syntax gibt an, dass keine Daten folgen.
<Unit id="Unit1" label="1. Postcard" labelshort="1" />
-
Element mit Daten und Attributen:
Attribut ist hier:
key
. Dieses bekommt den Attributwertforce_presentation_complete
zugewiesen. Datum ist der Wert:ON
.
<Config key="force_presentation_complete">ON</Config>
Die Abfolge der Elemente und Attribute einer IQB-XML-Datei ist streng geregelt. Damit ist sichergestellt, dass die Informationen durch alle beteiligten Komponenten korrekt interpretiert werden. Damit nicht erst bei der Verarbeitung oder beim Hochladen einer XML-Datei die Fehler bemerkt werden, kann man die Prüfung auf syntaktische Fehler (sog. "Validierung") auch automatisieren. Hierzu wurden sog. "Schema-Dateien" eingeführt. Eine Schema-Datei enthält in einer speziellen Beschreibungssprache alle Festlegungen zur Gestaltung der XML-Datei.
Um eine Validierung anzustoßen, fügt man zunächst in den Kopf der XML-Datei (also in das Wurzelelement) einen Verweis auf die Schema-Datei ein. Das IQB hat für alle XML-Dateien solche Schema-Dateien entwickelt. Für eine Unit-Xml
wäre z. B. das Hauptelement folgendermaßen zu ändern:
<Unit
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/iqb-berlin/testcenter-backend/9.1.1/definitions/vo_Unit.xsd">
Es sollte stets die aktuelle Version im Pfad zur Schema-Datei benutzt werden.
Außerdem muss für die automatische Validierung ein Editor verwendet werden, der diese Validierung unterstützt. Das IQB empfiehlt Notepad++.