XML-Know How

XML- Ein Regelwerk zum Selbermachen

Die Einigung auf eine einheitliche Nutzung bestimmter Tags innerhalb einer Nutzergruppe ist eine wesentliche Voraussetzungen für die Verwendung von XML. Freilich ist eine solche Vereinbarung nur dann tragfähig, wenn ihre Einhaltung einfach und zuverlässig sichergestellt werden kann. Bei einer maschinenlesbaren Sprache ist die automatische Überprüfung der naheliegende Weg. Daher sieht XML die Möglichkeit vor, zusätzlich zu den rein formalen Regeln Anwendungsbedingungen in maschinenlesbarer Form niederzuschreiben und XML-Daten auf die Einhaltung dieser Bedingungen zu überprüfen.

So kann man festlegen, welche Elementnamen in einer XML-Datei verwendet werden dürfen, welche Elemente in welchen enthalten sein können, in welcher Reihenfolge bestimmte Elemente vorkommen sollen, ob ein Element an einer bestimmten Stelle obligatorisch ist oder nur fakultativ. Auch für Attribute können diverse Regeln angegeben werden. XML ermöglicht also die Festlegung einer frei und präzise definierbaren Datenstruktur.

So kann man etwa für das nachstehende Beispiel festlegen, dass das Text-Element <überschrift> immer am Anfang des Gliederungs-Elements <kapitel> stehen muss und nur einmal pro <kapitel> vorkommen darf. Das Element <absatz> soll dagegen beliebig oft auftreten können, aber mindestens einmal vorkommen. Ebenso lässt sich festlegen, dass das Element <verweis> im Text immer ein ziel-Attribut mit dem Verweisziel aufweisen muss.

<kapitel>
<überschrift>Das ist der Überschriftstext</überschrift>
<absatz>Das ist der Text des Absatzes.</absatz>
<absatz>Im <verweis ziel="absatz5">übernächsten Kapitel
</verweis> finden Sie mehr zu diesem Thema.</absatz>
</kapitel>

Wird eine dieser Regeln nicht eingehalten, gibt das Prüfprogramm (im Fachjargon Parser genannt) eine Fehlermeldung aus.

Solche Regeln können technisch in verschiedenen XML-Unterstandards kodiert werden. Offizielle (W3C) Standards sind die Document Type Definition (DTD) und XML Schema Definition (XSD). Zusätzlich gibt es branchengebundene Regelsprachen.

Definitionen der Datenstruktur ermöglichen die automatische Kontrolle der strukturellen Korrektheit von Daten nicht nur nach der Erfassung, sondern auch schon beim Erstellen der Daten. Spätestens beim Speichern einer Datei wird der Autor auf fehlende Elemente aufmerksam gemacht. Zudem erlaubt die XML-Editor-Software schon während der Eingabe nur die Verwendung zugelassener Elemente, und zwar bezogen auf ihre Zulässigkeit an der momentan erreichten Stelle im Dokument. Diese Verhinderung von Strukturfehlern macht die Verarbeitung von Daten in allen Stadien zuverlässiger und effektiver.

Viele Interessengruppen haben für Austausch und Verarbeitung branchentypischer Daten XML-Branchenstandards festgelegt, mit denen dann die Inhalte systemübergreifend kodiert werden. Beispiele für XML-Branchenstandards sind NITF (News Industry Text Formats) für den Informationsaustausch zwischen Nachrichtenagenturen, DocBook für technische Dokumentationen allgemein, J2008 für Dokumentationen in der Automobilindustrie, TEI (Text Encoding Initiative) für Texte in den Geisteswissenschaften, ISO 12083 für die Kodierung von wissenschaftlichen Texten im Verlagskontext. Für jeden Standard gibt es eine DTD bzw. XSD, die festlegt, welche Elemente ein Dokument haben darf oder muss und wie diese angeordnet sein müssen.

Auch in der Verlagsbranche ist XML inzwischen eine akzeptierte Lösung für den Datenaustausch. Eines der aktuellen Projekte mit einem solchen Standard ist die »Deutsche Bücherdatenbank« der Barsortimenter Georg Lingenbrink GmbH & Co (Libri), Koch, Neff & Oetinger & Co. GmbH (KNO) und der Koehler & Volckmar GmbH (KV), die schon auf der Frankfurter Buchmesse 2001 vorgestellt wurde.

Ein weiteres Projekt hat die Buchhändler-Vereinigung für das VLB, das Verzeichnis lieferbarer Bücher, realisiert. Grundlage beider Projekte ist ONIX (Online Information eXchange), ein XML-basierter Standard für den Austausch von Produktinformationen in der Verlagsbranche. ONIX wurde 1999 von der American Association of Publishers (AAP) in Zusammenarbeit mit großen Verlagen, Buchhändlern und Informationsservices entwickelt, um ausführlichere Buchinformationen online in einem von allen lesbaren Format zur Verfügung stellen zu können.

Mit ONIX liegt Verlagen eine Reihe von vorgegebenen Datenfeldern für die Produktbeschreibung vor, die zum Teil zwingend erforderlich, zum Teil optional sind. Dabei handelt es sich nicht nur um Text- und Zahlenfelder wie für Titel, Autor oder ISBN, sondern auch um Felder für multimediale Eingaben wie z. B. Abbildungen der Buchcover oder Audiodateien. Diese Daten werden dann als ONIX-Nachricht an ein entsprechendes Katalogsystem gesandt. Der Vorteil für den Verlag: Wenn alle Kataloge diesen Standard lesen können, müssen Eingaben nur noch einmal gemacht werden, nicht wie bisher für jeden Katalog einzeln.

Mehr zu ONIX und zu der aktuellen Version 2.0, die von Editeur, der »European Group For Electronic Commerce In The Book And Serials Sectors« zusammen mit der Book Industry Study Group (BISG) und BIC (Book Industry Communication) erstellt wurde, finden Sie unter www.editeur.org/onix.html.

Oft sind aber auch anwenderspezifische Datenstrukturen notwendig. Branchenstandards können nur typische Anforderungen abdecken. Damit sind sie aber für viele konkrete Anwendungen viel zu umfassend, während sie spezielle Anforderungen nicht erfüllen. Viele große Verlagshäuser haben daher ihre »Haus-DTD«. Auch für große Publikationsprojekte bietet es sich an, die projektspezifischen Datenstrukturen in einer eigenen DTD abzubilden und nur diese zu verwenden (siehe auch den Projektbericht Die kritische Heinrich-Böll-Ausgabe – eine Erfolgsstory in XML).

Neben der Festlegung von bestimmten Sonderzeichen als Begrenzer für das Markup oder der Form der Attribute gibt es eine ganze Reihe weiterer allgemeiner XML-Regeln, die in den folgenden Beiträgen genauer behandelt werden. Werden in einem XML-Dokument diese formalen Regeln eingehalten, spricht man von wohlgeformtem (well-formed) XML.

Ist ein XML-Dokument nicht nur wohlgeformt, sondern entspricht es darüber hinaus den Regeln einer bestimmten DTD oder XSD, spricht man von validem (valid) XML.

Um XML herum gibt es eine ganze Reihe von Neben- und Unterstandards, die die Verarbeitung von XML betreffen. Bereits genannt wurden die Standards zur Festlegung der Dokumentstruktur (DTD und XSD). Hinzu kommen vor allem Standards zur Umwandlung von XML-Dokumenten aus einer Struktur in die andere (XML Stylesheet Language – Transformations, XSL-T) oder Ausgabe in verschiedenen Medien (XML Stylesheet Language – Formatting Objects, XSL-FO).