Modul: Text & Tabellen
XML (Extensible Markup Language)
Aufbau eines XML-Dokuments
Am Anfang eines XML-Dokuments steht zumeist ein Prolog. Im XML-Beispiel unten ist der Prolog in weißer Schrift hervorgehoben.
Dem Prolog folgen das Wurzelelement (rot) und darunter alle anderen Elemente. Diese anderen Elemente sind alle Kindelemente oder Kindeskinder des TEI-Wurzelelements und der besseren Lesbarkeit wegen eingerückt.
Merke! In jedem XML-Dokument muss es genau ein Wurzelelement geben.
Der Prolog hingegen kann mehrere gleichrangige Bestandteile enthalten. Im Beispiel besteht der Prolog aus drei Zeilen.
Zeile 1: Die XML-Deklaration kennzeichnet die Datei als XML-Dokument und hilft so Verwechslungen zu vermeiden.
- Im Beispiel ist als Version 1.0 angegeben. Daneben gibt es noch die Version 1.1, die mehr Sonderzeichen in Elementnamen erlaubt und nur selten verwendet wird
- Die Versionsnummer ist in Form eines Attributs beigegeben. Attribute haben die Form Name="Wert" (hier Version="1.0")
Zeile 2: In der Dokumenttyp-Deklaration (DTD) stehen
- der Name des deklarierten Typs, im Beispiel tei
- ob die DTD öffentlich ist (PUBLIC für öffentlich, SYSTEM für nicht öffentlich)
- die Elementdeklarationen (welche Elemente es gibt und für jedes Element, welche Kindelemente das Element haben muss bzw. darf)
- die Attributlistendeklationen (Attributnamen, zulässige Werte, und ob das Attribut erforderlich ist oder weggelassen werden kann)
- Entities (Texte für automatische Ersetzungen)
Im Beispiel sind die drei letzten Punkte in einen File tei_all.dtd ausgelagert, der lokal unter Windows auf Laufwerk D: im Verzeichnis tei gespeichert ist. Anstelle eines Files könnte hier auch eine Web-Adresse angegeben sein.
Zeile 3: Die Verarbeitungsanweisung xml-stylesheet gibt an, wie die Elemente grafisch dargestellt werden sollen. Die Regeln selbst sind im Beispiel in einen XSL-File (Extensible Stylesheet Language) ausgelagert. XSL ist übrigens selbst XML, d.h. gehorcht der XML-Syntax.
Merke! XML-Elemente sind stets hierarchisch strukturiert, d.h. an oberster Stelle steht ein Wurzelelement und sie können beliebig viele Kindelemente, aber nur ein Elternelement haben. Gekennzeichnet werden die Elemente durch Tags:
- Jedes Element hat ein Start-Tag und ein End-Tag, das von spitzen Klammern umschlossen wird. Das End-Tag besitzt zusätzlich einen Schrägstrich: </...>
- In jedem Tag muss ein Elementname vergeben sein. Der Elementname im Start-Tag muss immer exakt mit dem Elementnamen im End-Tag übereinstimmen. Groß- und Kleinschreibung im Namen sind signifikant
- Für leere Elemente können Start- und End-Tag zusammengefasst werden zu <.../>, d.h. vor der schließenden Spitzklammer steht ein Schrägstrich. Ein Beispiel ist das Element <empty/>, das zur Markierung leerer Elemente im TEI-Quelltext verwendet wird.
Ein Element kann leer sein oder Inhalt enthalten. Aber selbst mit Inhalt darf sich ein Element nicht über das End-Tag seines Elternelements hinaus erstrecken, sondern muss schließen, ehe das Elternelement schließt.
Das Beispiel oben erfüllt diese und alle übrigen XML-Regeln. Das Diagramm zeigt die hierarchische Struktur der Elemente des Beispiels als Baum.
Ein TEI-Dokument besteht aus einem Wurzelelement TEI, das sich in einem Header und einen Text-Body gliedert. Darunter befinden sich weitere Elemente.
Die Baumstruktur ergibt sich daraus, dass jedes Element genau ein Elternelement hat. Ausgenommen ist nur das Wurzelelement, welches wie ein Stamm den ganzen Baum trägt.