Kapitel 13 Die eXtensible Markup Language (XML)
Ich habe die Länge und Breite dieses Landes bereist und mit den besten
Leuten geredet, und ich kann Ihnen versichern, dass Datenverarbeitung
ein Tick ist, welcher dieses Jahr nicht überleben wird.
- Editor für Computerbücher bei Prentice Hall, 1957
13.1 Auszeichnungssprachen
Auszeichnungssprachen dienen der strukturierten Gliederung von Texten und Daten. Ein Text besteht zum Beispiel aus Überschriften, Fußnoten und Absätzen, eine Rechnung aus den einzelnen Rechnungsposten wie Betrag und Kontonummer. Auszeichnungssprachen liegt die Idee zugrunde, besondere Bausteine durch Auszeichnung hervorzuheben. Ein Text könnte etwa so beschrieben sein:
<Überschrift>
Mein Buch
<Ende Überschrift>
Hui ist das <fett>toll<Ende fett>.
Als Leser eines Buchs erkennen wir zwar optisch eine Überschrift an der Schriftart, ein Computer hat damit aber seine Schwierigkeiten. Wir wollen aber auch dem Rechner die Möglichkeit geben, die Struktur zu erkennen.
HTML ist die erste populäre Auszeichnungssprache, die Auszeichnungselemente (engl. tags) wie <b>fett</b> benutzt, um bestimmte Eigenschaften von Elementen zu kennzeichnen. Damit wurde eine Visualisierung verbunden, etwa bei einer Überschrift fett und mit großer Schrift. Leider werden Auszeichnungssprachen wie HTML dazu benutzt, Formatierungseffekte zu erzielen. Beispielsweise werden Überschriften mit dem Überschriften-Tag ausgezeichnet. Wenn an anderer Stelle eine Textstelle fett und groß sein soll, wird diese auch mit dem Überschriften-Tag markiert, obwohl es keine Überschrift ist.
13.1.1 Die Standard Generalized Markup Language (SGML)
Das Beispiel der Überschrift in einem Buch veranschaulicht die Idee, Bausteine mit Typen in Verbindung zu bringen. Der allgemeine Aufbau mit diesen Auszeichnungselementen lässt sich dann für beliebige hierarchische Dokumente nutzen. Die Definition einer Auszeichnungssprache (Metasprache) ist daher auch nicht weiter schwierig. Schon Mitte der Achtzigerjahre wurde als ISO-Standard die Standard Generalized Markup Language (SGML)1 definiert, die Basis für beliebige Auszeichnungssprachen ist. Ab der Version 2.0 ist auch HTML als SGML-Anwendung definiert. Leider kam mit den vielen Freiheiten und der hohen Flexibilität eine große und aufwendige Deklaration der Anwendungen hinzu. Ein SGML-Dokument musste einen ganz bestimmten Aufbau besitzen. SGML-Dateien waren daher etwas unflexibel, da die Struktur genau eingehalten werden musste. Für HTML-Dateien wäre das schlecht, da die Browser-Konkurrenten produktspezifische Tags definieren, die auf den Browser des jeweiligen Herstellers beschränkt bleiben. So interpretiert der Internet Explorer zum Beispiel das Tag <blink>blinkend</blink> nicht. Tags, die ein Browser nicht kennt, überliest er einfach.
13.1.2 Extensible Markup Language (XML)
Für reine Internetseiten hat sich HTML etabliert, aber für andere Anwendungen wie Datenbanken oder Rechnungen ist HTML nicht geeignet. Für SGML sprechen die Korrektheit und Leistungsfähigkeit - dagegen sprechen die Komplexität und Notwendigkeit, eine Beschreibung für die Struktur angeben zu müssen. Daher setzte sich das W3C zusammen, um eine neue Auszeichnungssprache zu entwickeln, die einerseits so flexibel ist wie SGML, andererseits aber so einfach zu nutzen und zu implementieren ist wie HTML. Das Ergebnis ist die eXtensible Markup Language (XML). Diese Auszeichnungssprache ist für Compiler einfach zu verarbeiten, da es genaue Vorgaben dafür gibt, wann ein Dokument in Ordnung ist.
Wenn von XML die Rede ist, ist nicht nur der Standard zur Beschreibung von Daten gemeint. Oft sind im gleichen Zusammenhang eine oder mehrere Technologien gemeint, die in Verbindung mit der Beschreibungssprache stehen. Die wichtigsten Technologien zur Verarbeitung von XML in Java werden hier kurz vorgestellt. Eine ausführliche Beschreibung mit allen Nachbartechnologien findet der interessierte Leser auf den Web-Seiten des W3C unter http://www.w3c.org/.
1 Der Vorgänger von SGML war GML; hier standen die Buchstaben (sicherlich inoffiziell) für Charles Goldfarb, Edward Mosher und Raymond Lorie, die bei IBM in den Sechzigerjahren eine Dokumentenbeschreibungssprache schufen.
|