Stefan Mintert

EINFüHRUNG IN DIE EXTENSIBLE MARKUP LANGUAGE (XML)

Seit wenigen Jahren wird das Internet durch eine Entwicklung aufgewühlt, die recht bescheiden angefangen hat und doch in ihrem Namen bereits den Anspruch erhebt, die ganze Welt zu umspannen. Die Rede ist vom World Wide Web (WWW). Träger dieser Entwicklung ist die Hypertext Markup Language (HTML). HTML ist das ureigene Textformat, die Lingua Franca des WWW. Im Laufe der Zeit hat sie viele Veränderungen erfahren, viele Entwicklungsstufen durchlaufen und ihr Gesicht stetig verändert. Und doch ist noch heute die Prägung unverkennbar, die Tim Berners-Lee der Hypertext Markup Language Anfang der neunziger Jahre gegeben hat. Nun schickt sich eine andere Sprache mit dem Namen Extensible Markup Language (XML) an, die einzigartige Position von HTML anzufechten. Es ist kein Widerspruch, daß XML kein Ersatz für HTML ist und sogar deren Weiterleben (zumindest mittelfristig) garantiert. Um den Zusammenhang zwischen XML und HTML zu verstehen, ist ein Rückblick auf die historischen Wurzeln und auf die Konzepte der Extensible Markup Language erforderlich.

Das wesentliche Konzept ist unter dem Namen Generic Markup bekannt. Hinter diesem Begriff verbirgt sich eine bestimmte Vorgehensweise, Texte mit Auszeichnungen zu versehen. Bei der üblichen Vorgehensweise, die man bei den bekannten Textverarbeitungen einsetzt, werden Texte fast ausschließlich mit Auszeichnungen versehen, die der Formatierung dienen. Dazu gehören Attribute, die zum Beispiel Einfluß auf den Schriftschnitt (kursiv oder aufrecht) nehmen, das Schriftgewicht (fett oder normal) bestimmen oder die Schriftfamilie (Times oder Helvetica) auswählen. Dank graphischer Benutzeroberfläche lassen sich diese Attribute am Bildschirm direkt darstellen. Die Auszeichnungen (oder Markierungen), die das Aussehen steuern, sind normalerweise nicht sichtbar. Sie werden aber beim Speichern zusammen mit dem Text in die Datei geschrieben. Da es hier um die Steuerung von visuellen Attributen geht, spricht man in diesem Fall auch von Visual Markup. Im Gegensatz dazu konzentriert sich das Generic Markup darauf, Auszeichnungen in den Text einzubringen, die eine Aussage über die Bedeutung der markierten Textstelle machen (»logische« oder »semantische« Auszeichnungen). Anstatt beispielsweise Zitate als »kursiv« zu markieren, ist es sinnvoller, sie als »Zitat« zu markieren. Überschriften bekommen nicht mehr die Auszeichnung »groß und fett«, sondern die Auszeichnung »Überschrift«.

Diese Vorgehensweise findet sich seit einigen Jahren in Ansätzen auch in Textverarbeitungen wieder, zum Beispiel in Form sogenannter Formatvorlagen. Die Ursprünge des Generic Markup sind sehr viel älter. Erste Ideen wurden bereits in den späten sechziger Jahren formuliert. Ein wesentlicher Meilenstein in der Umsetzung dieser Ideen war die Entwicklung der Standard Generalized Markup Language (SGML). Die Verwandtschaft zwischen XML und SGML besteht darin, daß XML eine Teilmenge von SGML ist. Der komplexe und dadurch schwer zu implementierende ISO-Standard SGML wurde verschlankt, indem man Teile weggelassen hat, die man nicht länger als notwendig angesehen hat. Das Ergebnis XML ist eine deutlich kompaktere Sprache, die aber alle wesentlichen Konzepte von der großen Schwester SGML geerbt hat.

ZENTRALES KONZEPT: DER DOKUMENTTYP

Neben der Grundidee Generic Markup ist ein wichtiges Konzept von XML der Dokumenttyp. Der Dokumenttyp beschreibt eine Klasse von Dokumenten, die sich in ihrem strukturellen Aufbau gleichen. Ein allgemein bekanntes Beispiel ist der Dokumenttyp »Brief«. Verschiedene Briefe sind meistens identisch oder zumindest sehr ähnlich strukturiert. Sie beginnen mit der Adresse des Absenders, gefolgt von der Adresse des Empfängers. Sie besitzen eine Orts- und Datumsangabe, eine Anrede, den eigentlichen Text des Briefes sowie eine abschließende Grußformel. Ein anderer vertrauter Dokumenttyp ist das »Buch«, oder etwas spezieller das »Fachbuch«. Der grobe Aufbau ist dabei: Titelei, Hauptteil, Anhangteil. Die Titelei enthält den Buchtitel, das Impressum, das Vorwort und gegebenenfalls eine Widmung und eine Danksagung. Der Hauptteil besteht aus einer Folge von Kapiteln. Kapitel sind auch im Anhangteil zu finden. Daß diese anders dargestellt werden als Kapitel im Hauptteil (Kapitelüberschriften im Anhang sind meist mit einem Buchstaben versehen, während Kapitel im Hauptteil durchnumeriert werden) spielt für die Strukturierung keine Rolle (Generic Markup!). Des weiteren gibt es im Anhangteil oft besondere Abschnitte wie etwa ein Glossar, ein Literaturverzeichnis und ein Stichwortverzeichnis.

Im Vergleich zum Brief erscheint die Struktur des Dokumenttyps »Buch« sehr viel variantenreicher. Komponenten wie Vorwort, Widmung und Danksagung sind optional. Die Anzahl der Kapitel im Hauptteil darf nicht von vornherein festgelegt sein. Und ob es ein Glossar und ein Literaturverzeichnis gibt, sollte ebenfalls dem Autor überlassen bleiben. Die formale Definition eines Dokumenttyps in XML muß die Flexibilität besitzen, die Gemeinsamkeiten festzulegen, aber zugleich genügend Spielraum für ein konkretes Dokument zu lassen. So würde man wohl kaum sagen, daß ein Buch mit fünf Kapiteln ein Vertreter eines anderen Dokumenttyps ist, als ein Buch mit acht Kapiteln. Fehlt jedoch einem Buch der Titel, so würde man wohl von einem (strukturellen) Fehler sprechen. Die Dokumenttypdefinition muß also den Titel als zwingenden Bestandteil enthalten, die Anzahl der Kapitel aber offenlassen.

XML bietet nun die Möglichkeit, solche Dokumenttypdefinitionen (abgekürzt DTD) für beliebige Arten von Dokumenten zu formulieren. Die bekannteste DTD ist die HTML-DTD. Sie definiert die Hypertext Markup Language (bisher noch auf Grundlage von SGML, in Zukunft auf Basis von XML). Leider ist HTML ein schlechtes Beispiel für die Umsetzung der Genric Markup-Idee. Auf Grund des breiten Einsatzgebietes gibt es nur wenige logische Auszeichnungen, die naturgemäß nicht textspezifisch sind. Sogar visuelle Auszeichnungen (zum Beispiel »b« für bold und »i« für italic) sind vorhanden. Für die Gliederung eines Textes bietet HTML lediglich Überschriften, jedoch keine Elemente wie etwa »Kapitel«, »Abschnitt«, »Unterabschnitt« und so weiter. Versucht man anhand von Beispielen zu erkennen, welcher Dokumenttyp von HTML definiert wird, wird man einen Typ nur schwer erkennen können: HTML-Dokumente sind Homepages, wissenschaftliche Abhandlungen, Kochrezepte, Bücher, Gedichte, Veranstaltungskalender, Börsenkurse, virtuelle Warenhäuser und so weiter. Kurz gesagt: HTML-Dokumente sind keine Dokumente eines einzigen Typs. Deshalb ist die HTML-DTD so allgemein und enthält keine textspezifischen Metadaten.

DOKUMENTTYPEN ZUR STRUKTURELLEN BESCHREIBUNG DER EIGENEN DATEN

XML wird diesen Mangel dadurch lösen, daß jeder eine eigene DTD entwerfen kann, die für die eigenen Daten maßgeschneidert ist. Zwei Fragen drängen sich dabei auf:

1. Sie schreiben einen Text über die musikalische Entwicklung Ihres bevorzugtes Komponisten. Woher weiß der Browser, wie Auszeichnungen wie <instrument>, <tonart> oder <tempo>, die zwar hervorragend Ihren Text beschreiben, dem Browser aber vollkommen unbekannt sind, am Bildschirm darzustellen sind?

2. Welche Aussagekraft hat eine Auszeichnung wie <titel>? Es kann sich um den Titel eines Dokumentes handeln, um einen akademischen Titel einer Person oder um den Titel eines Musikstücks.

Die erste Frage ist relativ leicht zu beantworten: Zur Darstellung (auf dem Bildschirm, auf Papier oder auch als Sprachausgabe) sind Formatierungsanweisungen nötig. Meist spricht man hier von Style Sheets. Für HTML hat das World Wide Web Consortium (W3C) die Cascading Style Sheets (CSS) entwickelt. Für SGML und XML gibt es die Document Style Semantics und Specification Language (DSSSL), die als Norm von der ISO im Jahre 1996 verabschiedet wurde. Momentan (Frühjahr 1999) arbeitet das W3C noch an der Extensible Style Language (XSL), die speziell für XML-Dokumente geeignet ist.

Die zweite Frage ist nicht ganz so direkt zu beantworten. Es macht natürlich keinen Sinn, in Zukunft eine unendliche Anzahl von DTDs zu entwerfen, die jeweils neue Elementnamen definieren. Dokumenttypen sind nur dann von Nutzen, wenn es im Verhältnis zu der Anzahl der Dokumente nur eine kleine Anzahl an DTDs gibt. Viele Vorteile von XML hängen damit zusammen, daß man einen Arbeitsschritt mit Bezug auf die DTD durchführt und daß das Ergebnis auf alle Dokumente dieses Typs angewendet werden kann. Zum Beispiel beziehen sich bei der Formatierung die Anweisungen zur Darstellung auf Elementnamen, die in der DTD deklariert werden. Eine einmal geschriebene Formatierungsfunktion kann dann für alle Dokumente, die gemäß dieser DTD ausgezeichnet sind, benutzt werden. So kann es sich beispielsweise lohnen, eine DTD für eine Buchreihe oder das gesamte Programm eines Verlags zu entwerfen. Es wird dann einmal der Produktionsablauf für diese DTD implementiert und fortan können beliebig viele Manuskripte ohne Mehraufwand verarbeitet werden. Im Gegensatz dazu wäre eine DTD je Buch sicher sinnlos und zu aufwendig.

Eine weitere naheliegende Idee, einen inflationären Gebrauch von DTDs zu vermeiden, besteht darin, Dokumenttypen modular zu definieren und Module mehrfach zu verwenden. In vielen Dokumenttypen, vom Buch über einen Forschungsbericht bis zu einem Artikel, sind Literaturverzeichnisse zu finden. Es empfiehlt sich also, die Struktur eines solchen Verzeichnisses nur einmal zu definieren und die entsprechende Beschreibung dann in die DTD für Bücher, Forschungsberichte und Artikel einzubinden. Um Namenskonflikte zwischen Elementen aus verschiedenen Modulen zu vermeiden, hat das W3C kürzlich einen Standard zu »Namensräumen« verabschiedet. Wie die Modularisierung eines Dokumenttyps aussehen kann, wird man in Zukunft an HTML ablesen können. Zur Zeit arbeitet das W3C an XHTML, einer Neuformulierung von HTML auf Basis von XML. Dabei kommen auch Namensräume zum Einsatz.

HYPERTEXT FüR'S WORLD WIDE WEB

Im Zuge der XML-Initiative sollen auch die Hypertextmöglichkeiten im World Wide Web verbessert werden. Bislang ist die technische Unterstützung der Hypertext-Idee im Web recht bescheiden. Es bestehen zum Beispiel die folgenden Einschränkungen:

• Verknüpfungen (Links) lassen sich nur in eine Richtung durchführen. Das heißt, daß vom Zieldokument kein Link ›zurück‹ zeigt, es sei denn, man richtet einen zusätzlichen (unidirektionalen) Link in die Gegenrichtung ein.

• Ein Link kann immer nur auf genau ein Zieldokument zeigen, es sind nicht mehrere optionale Ziele möglich.

In Zukunft sollen die XML Linking Language (XLink) und die XML Pointer Language (XPointer) das WWW um komplexere Hypertextfähigkeiten erweitern. Dieser Bereich des XML-Umfeldes ist momentan am wenigsten entwickelt, die letzten Standardentwürfe sind fast ein Jahr alt. Auch auf Seiten der Browserhersteller sind noch keine Ansätze zu erkennen, die angedachten Funktionen umzusetzen. Dennoch bietet der Hypertext ein großes Potential, das durch XLink und XPointer hoffentlich leichter zugänglich wird. Ob die Web-Autoren es dann auch richtig ausnutzen, bleibt abzuwarten. Da die Hyperlinks bislang meist etwas einfallslos eingesetzt werden, um ›nur‹ die Funktion des Seitenumblätterns zu erfüllen, ist die Frage berechtigt, ob allein die Weiterentwicklung der technischen Möglichkeiten ausreicht, oder ob die Entwicklung eher bei den Verfassern der ›Hyper‹-Texte einsetzen muß.

XML ALS DATENAUSTAUSCHFORMAT

Schließlich soll ein Aspekt von XML nicht unerwähnt bleiben, der zwar nicht mehr viel mit Textverarbeitung selbst im weiteren Sinne zu tun hat, der aber einen großen Anteil am Erfolg von XML hat beziehungsweise haben wird. Die Möglichkeit, Dokumenttypen formal zu definieren, bedeutet auch, daß Dokumente automatisch (das heißt von einem Programm, dem Parser) auf strukturelle Korrektheit überprüft werden können. Zusammen mit den enthaltenen Metadaten (in Form der Elementnamen) bietet sich XML damit an, Daten zwischen verschiedenen Anwendungen in einer Netzumgebung auszutauschen. Ein einfaches Beispiel sind Banktransaktionen, etwa Überweisungen. Die einzelnen Bestandteile einer Überweisung lassen sich als XML-Elemente in einer Überweisung-DTD beschreiben (Kontonummer, Bankleitzahl, Betrag und so weiter). Sollen nun die Daten eines Überweisungsvorgangs zwischen zwei Computern ausgetauscht werden, kann der Empfänger allein durch Vergleich mit der DTD verifizieren, ob alle Informationen enthalten sind. Fehlt beispielsweise der Betrag, kann das bereits beim Parsing erkannt werden.

Dieses zugegebenermaßen stark vereinfachte Beispiel ist in einem Punkt zutreffend: Das Interesse an XML ist besonders im Bereich Electronic Business groß. Wenn die momentane Tendenz anhält, wird XML die Grundlage für einen großen Teil des wirtschaftlichen Datenaustauschs (Electronic Data Interchange, EDI) darstellen.

XML – WOFüR?

Was bringt nun XML dem Anwender? – Um diese Frage zu beantworten, ist zunächst eine andere Frage zu stellen: Wer ist der Anwender? Da es ›den‹ Anwender nicht gibt, soll folgende Übersicht einige Argumente für und auch gegen XML liefern. Zu den Vorteilen zählen:

Offenes Format

Der XML-Standard ist offen zugänglich. Im Gegensatz zu proprietären Formaten eines bestimmten Herstellers, sind XML-Daten unabhängig von einem einzelnen Softwareprodukt oder -anbieter.

Systemunabhängig

XML ist unabhängig von einem Betriebssystem oder von einem Computersystem (Hardware).

Medienneutral

XML-Dokumente sind unabhängig von einem Ausgabeformat oder -gerät (Papier, Bildschirm und so weiter).

Anpaßbar

XML ist kein starres Format, sondern kann (muß) auf die jeweiligen Bedürfnisse zugeschnitten werden. (»Enabling Standard«)

Zu den Nachteilen gehören:

Hoher Initialaufwand

Der Einsatz verlangt üblicherweise nach der Analyse der Dokumentstruktur, dem Entwurf der DTD und der Erstellung einer Layoutbeschreibung. Je nach Umfang der Anwendung ist dabei die Zuhilfenahme von Experten sinnvoll oder notwendig.

Laufende Entwicklung

Zum Teil sind technische Realisierungen noch nicht vorhanden.

XML bietet sich beispielsweise für den Verlag an, der seine fachlich begabten, aber typographisch und gestalterisch weniger versierten Autoren davon abhalten möchte, Hand an das Layout zu legen; dafür gibt es schließlich Profis, die das Handwerk gelernt haben. Da XML in seiner ›reinen Form‹ schlicht und einfach gar keine Formatierungsinformationen enthält, kann der Autor in diesem Punkt keinen Fehler machen. Aus Autorensicht kann man sagen, daß die Arbeit leichter wird, weil sich die Aufbereitung des Textes nach dessen Inhalt und nicht mehr nach dessen Darstellung richtet (logische statt visuelle Auszeichnungen).

Aus dem gleichen Grund eignet sich XML für medienneutrale Anwendungen. Das Layout für A4-Papier ist unbrauchbar für die Darstellung am Bildschirm mit vollkommen anderem Seitenverhältnis. Die am Bildschirm auffällige Darstellung von blinkendem Text ist auf Papier eher unscheinbar. Und die Angabe »24 Punkt, halbfett, Helvetica« wird von einem Ausgabegerät für Blindenschrift auch nicht gut umgesetzt. Enthält ein Dokument jedoch nur die oben genannten logischen Auszeichnungen, so kann man für jedes Ausgabegerät die geeignete ›Darstellung‹ wählen.

Wer SGML kennt, wird nun einwenden, daß all das auch mit SGML möglich ist, wozu also XML? Da XML eine Teilmenge von SGML ist, ist tatsächlich alles, was mit XML machbar ist, auch mit SGML möglich. Die Vereinfachung von SGML in Form von XML gestattet jedoch die leichtere Implementierung. Während SGML aufgrund seiner Komplexität nur schwer vollständig zu implementieren ist, ist XML klein genug. Für den Programmierer wird die Arbeit also leichter. Der Benutzer eines Texteditors wird gegenüber SGML in den anbrechenden XML-Zeiten keine wesentliche Erleichterung spüren. Mit einer Ausnahme, der Preis des Editors wird sinken. Neben der leichteren Implementierbarkeit sorgt auch die absehbare große Verbreitung von XML für sinkende Preise. Der Web-Autor, der bisher mit HTML ausgekommen ist, muß nicht auf XML umsteigen und nun anfangen, eigene DTDs zu entwickeln. Daß HTML zunächst nicht ausstirbt, zeigt die Neudefinition XHTML.

Je größer das Einsatzgebiet ist, desto mehr lohnt sich XML und dann erst rechnet sich der hohe Initialaufwand (Dokumentanalyse, Entwurf der DTD, Programmierung der Formatierungsfunktion). Wer hinter diesen Worten den Aufruf zur Ignorierung von XML vermutet, liegt völlig falsch. Aber XML ist (noch?) kein Tool für den Endanwender. Der Endanwender wird XML so benutzen, wie bisher SGML, nämlich in Form von DTDs, die von anderer Seite vorgegeben werden. Im Gegensatz dazu kann XML im professionellen Bereich zum Beispiel das Cross Media Publishing entscheidend vereinfachen und damit vielleicht erst kostengünstig machen. In jedem Fall ist es von zentraler Bedeutung, die Konzepte hinter XML zu verstehen. Die Implementierung eines XML-basierten Produktionsprozesses kann nicht über Nacht geschehen, sondern sollte sorgfältig durchgeführt werden. Daß dabei auch die Schulung der Autoren (oder Benutzer im weiteren Sinne) zu bedenken ist, führt wieder zum Endanwender.

Weiterführende Literatur:

Henning Behme/Stefan Mintert: XML in der Praxis. Professionelles Web-Publishing in der Extensible Markup Language. Bonn: Addison-Wesley 1998.

World Wide Web Consortium: <http://www.w3.org/>.

Extensible Markup Language: <http://www.w3.org/XML/>.

Extensible Stylesheet Language: <http://www.w3.org/Style/XSL/>.

XHTML: <http://www.w3.org/TR/WD-html-in-xml/>.

Namespaces in XML: <http://www.w3.org/TR/REC-xml-names/>.

XML Linking Language: <http://www.w3.org/TR/WD-xlink/>.

XML Pointer Language: <http://www.w3.org/TR/WD-xptr/>.

Deutsche Übersetzung der XML-Spezifikationen: <http://www.mintert.com/xml/trans/>.


Jahrbuch für Computerphilologie 1 (1999) [Zurück zum Inhaltverzeichnis]