Extensible Markup Language/Updates für Kerntechnologie und wichtige Co-Standards

XML & Co. - was bringt die Zukunft?

24.01.2003
XML begann als "SGML light" und sollte sich vor allem durch Einfachheit auszeichnen. Eine Reihe von Zusatzstandards erhöhten aber zwischenzeitlich die Komplexität beträchtlich. Während der Kernstandard weitgehend stabil bleibt, stehen in anderen Bereichen größere Änderungen bevor. Von Michael Kay*

Mit Rasanz hat XML alle Disziplinen der Informationstechnologie erobert - auch solche, die bisher als vollständig proprietär galten. Selbst Microsoft hat angekündigt, den Standard mit der nächsten Version der eigenen Office-Suite breit zu unterstützen. Der Erfolg von XML wurde bisher stets der Tatsache zugeschrieben, dass die Spezifikation am Anfang so einfach und übersichtlich war. Aber auch für XML bleibt die Zeit nicht stehen. Auf der seit fünf Jahren unveränderten Basisspezifikation baut mittlerweile eine Superstruktur zusammengehöriger Standards auf, die kontinuierlich an Umfang und Komplexität zulegen.

Auch in nächster Zeit wird die XML-Landschaft einige Veränderungen erleben. Welche Spezifikationen verdienen dabei besondere Beachtung?

Um den Wandel von XML nachzuvollziehen, ist es sinnvoll, sich die Technologie als eine Struktur aus vier Ebenen vorzustellen. Die erste Ebene ist der XML-Kern. Eine zentrale Rolle spielt hier die Definition der XML-Syntax sowie die immer noch populäre Spezifikation für Document Type Definitions (DTDs). Darüber hinaus umfasst diese Ebene XML Namespaces, die Namenskonflikte zwischen Vokabularen aus verschiedenen Quellen verhindern sollen. Auch das XML-Infoset gehört zum Kern der Metasprache - obwohl es weniger einen eigenen Standard als vielmehr ein Modellierungsverfahren für die Daten von XML-Dokumenten darstellt.

Lange Zeit ist die erste XML-Ebene weitgehend unverändert geblieben. Jetzt aber stehen in Kürze XML 1.1 und XML Namespaces 1.1 an. Die Versionsnummern legen bereits nahe, dass es sich dabei eher um geringfügige Modifikationen handelt. Die Änderungen werden vermutlich nicht viele Anwender betreffen. Nicht ohne Ironie äußerten Beobachter, dass XML 1.1 den Anforderungen von zwei vernachlässigten Minderheiten entgegenkommt: Anwendern des äthiopischen Schreibsystems sowie jenen von IBM-Mainframes.

Auch wenn sich die geplanten Änderungen in Grenzen halten, so betreffen sie vor allem die Hersteller von Parsern. Während der Umstellungsphase kann es passieren, dass Unternehmen von einem Geschäftspartner bereits Dokumente nach der neuen XML-1.1-Spezifikation erhalten, noch bevor der eigene XML-Parser umgestellt wurde - oder bevor ein solcher überhaupt für die eigene Systemplattform verfügbar ist. Mit einigem Recht kann der Einwand erhoben werden, dass viel weniger Anwender von den Änderungen profitieren als sich mit Umstellungsschwierigkeiten herumschlagen müssen. Wenn das W3C aber seinem Namen gerecht werden will und die Bedürfnisse aller Nutzer berücksichtigt, gibt es wenig Grund zur Klage.

Zweite Ebene kurz vor dem Release-Wechsel

Die zweite Ebene des Standards bildet das XML-Basis-Toolkit. Darunter fallen Werkzeuge wie DOM, SAX, Xpath und XSLT. Sie sind allesamt bereits seit mehreren Jahren verfügbar und erfreuen sich weit verbreiteter Nutzung durch XML-Programmierer. Mittlerweile existieren zahlreiche Implementierungen dieser Tools, die alle gängigen Systemplattformen abdecken und in der Regel sehr gut miteinander harmonieren. Dennoch müssen einige Abstriche in Kauf genommen werden. So leidet insbesondere DOM daran, dass innerhalb der Spezifikation zahlreiche Varianten und Module existieren und es zudem eine Vielzahl von herstellerspezifischen Erweiterungen gibt. So sind sich etwa Microsoft-Anwender häufig gar nicht bewusst, ob sie gerade Standard-Features von DOM benutzen oder Extensionen von Microsoft.

Xpath und XSLT stehen derzeit vor dem wesentlichen Update auf die Version 2.0. Zwar haben sich sowohl Xpath 1.0 als auch XSLT 1.0 grundlegend bewährt, in der Praxis haben sich jedoch häufig ärgerliche Einschränkungen offenbart. So warten Anwender schon seit langem auf wesentliche neue Funktionen. Die Version 2.0 bietet beispielsweise die Unterstützung regulärer Ausdrücke und die Möglichkeit, Daten nach gemeinsamen Werten zu gruppieren. Der Grund, warum sich die Entwicklung der beiden Upgrades so lange hinzog, liegt vornehmlich in der Abstimmung auf XML Schema und Xquery. Die zuständigen Arbeitsgruppen des W3C trafen die umstrittene Entscheidung, die nächsten Versionen von XSLT und Xpath auf XML Schema aufzubauen. Nachdem dies zu grundlegenden Änderungen der verwendeten Datentypen - dem Rückgrat jeder Programmiersprache - führt, mussten einige Teile von Grund auf neu entwickelt werden. Wenn alles weitgehend reibungslos läuft, sollten die Spezifikationen von Xpath 2.0 und XSLT 2.0 jedoch im Laufe des Jahres 2003 zum Abschluss kommen.

In der neuen Version wird XSLT die Verwendung und Aufbereitung von Zahlenmaterial innerhalb von XML-Dokumenten effizienter unterstützen, bis hin zur Darstellung über das neue Vektorgrafikformat SVG (Scalable Vector Graphics). Generell sind die neuen Versionen von XSLT und Xpath mächtiger, aber auch komplexer geworden. Für manche Puristen, die lieber mit dem Minimalumfang der 1.0-Versionen gelebt haben, wird etwas Spaß verloren gehen. Die neuen Features sind jedoch entwickelt worden, um auch die breite Masse der Web-Entwickler anzusprechen, die sich bislang nur mit HTML und Javascript beschäftigt haben.

SAX (Simple API for XML) stellt ein interessantes, wenn auch seltenes Beispiel für einen Standard dar, der aus der Zusammenarbeit von mehreren Individuen ohne Beteiligung eines Gremiums entsprang. Auch wenn sich dieses Verfahren für die ersten Versionen bewährte, so zeichnen sich für diese Art der Zusammenarbeit Schwierigkeiten mit zukünftigen Upgrades ab. Aber vielleicht liegt darin auch ein Vorteil, wenn so die Komplexität anderer Spezifikationen vermieden werden kann.

Datenstrukturen und -abfragen

Die dritte Ebene der XML-Landschaft lässt sich auch als XML-Informations-Management bezeichnen. Sie verhilft XML als Schlüsseltechnologie zum Durchbruch, mit der Unternehmen ihre Datenbestände verwalten. Darin unterscheidet sie sich von der ursprünglichen Funktion als Syntax, um informelle Dokumente auszuzeichnen.

Im Mittelpunkt der dritten Ebene stehen XML Schema, das die Struktur von Informationen beschreibt, und Xquery als Abfragesprache zum Zugriff auf XML-Daten. Im Mai 2001 vom W3C verabschiedet, erweist sich XML Schema in der Praxis als ein hochkomplexer Standard, weshalb bisher nur wenige und unvollständige Implementierungen existieren. Vergleichbares gilt für die mit XML Schema eng verbundene Spezifikation Xquery. Bisher erst als Standardisierungsvorschlag vorliegend, zielt diese darauf ab, für die Abfrage von XML-Datenbanken eine ähnliche Rolle zu spielen wie SQL in der Welt relationaler Datenbanken. XQuery befindet sich schon seit geraumer Zeit im Reifeprozess. Denn die große Anzahl der in die Definition des Standards involvierten Partner erweist sich als hinderlich: Zwar spiegelt sie ein hohes und breites Interesse der Industrie wider, die Entwicklung einer Sprache im Rahmen eines großen Komitees verbessert aber nicht unbedingt die Erfolgsaussichten.

Sowohl XML Schema als auch Xquery gaben schon Anlass zu harten Kontroversen - vermutlich, weil sie ebenso schwierig zu verstehen wie zu implementieren sind. Denn das macht sie nicht sonderlich zugänglich für jene Gemeinde der Open-Source-Entwickler, die viel zum Erfolg der Ebenen 1 und 2 des XML-Standards beigetragen haben. XML Schema löste sogar bereits eine kleine Revolution gegen das W3C aus: Mit Relax NG entstand eine konkurrierende Lösung, die nach Ansicht vieler Beobachter mit einer erheblich einfacheren Architektur dieselben Ziele erreicht. Gerade in großen Unternehmen erfreuen sich die W3C-Spezifikationen jedoch einer breiten Unterstützung, so dass sich diese voraussichtlich nach und nach etablieren werden. Dazu trägt natürlich auch die jüngste Ankündigung von Microsoft bei: Wer von den Vorteilen der XML-Unterstützung von MS Office profitieren möchte, muss sich wohl oder übel mit XML Schema anfreunden. Es ist jedoch noch zu früh, abschließend zu beurteilen, welche Position Relax NG einnehmen wird. Immerhin steht James Clark, der Erfinder von XSLT und Xpath, hinter der Entwicklung.

Auf höchster Ebene: Die Applikationen

Die vierte Ebene der XML-Landschaft bilden schließlich die Applikationen. Hierunter fallen alle weitergehenden Spezifikationen, die XML nutzen: Standards, die als Unterbau von Web-Services (Soap, UDDI, WSDL) fungieren, die Spezifikation der XSL-Formatierungsobjekte für XML-basierende Publishing-Anwendungen sowie eine Vielzahl von spezialisierten XML-Begriffsverzeichnissen. Letztere umfassen Spezifikationen für Finanzinformationen und das Unternehmensreporting ebenso wie MusicXML als Standard für das Publishing von Musikaufnahmen und die Spezifikation HumanML, die beispielsweise menschliche Eigenschaften einschließlich physischer, kultureller, sozialer und psychologischer Merkmale beschreibt. Zusammenfassend lässt sich sagen, dass die Zahl der Standards rapide steigt, da XML in immer mehr Anwendungsbereiche vordringt. Das mag zunächst verwirrend erscheinen, ist jedoch der klare Beweis für den Erfolg von XML.

Wie jedes Modell, so vermag auch diese Vier-Ebenen-Struktur natürlich nicht alle relevanten Elemente abzubilden. Das gilt beispielsweise für die Vernetzungsstandards Xpointer und Xlink. Aber es lässt sich auch durchaus argumentieren, dass es diesen Spezifikationen vor allem deshalb an Akzeptanz fehlt, weil sie sich nicht in die grundlegende Architektur der XML-Landschaft einfügen.

Xlink und Xpointer als Außenseiter?

Die bereits mehrfach umgeschriebene Spezifikation Xpointer macht es möglich, dass ein Dokument Verweise auf den Inhalt eines anderen umfasst. Es ist wahrscheinlich, dass die aktuelle Version jetzt wesentlich mehr Anklang findet als noch ihre Vorgänger. Xlink hingegen definiert auf Basis von Xpointer ein Modell für die Hyperlink-Strukturen zwischen Dokumenten. Derzeit ist vielen Entwicklern aber noch unklar, wie diese Erweiterung mit den übrigen Spezifikationen der XML-Familie zusammenarbeiten kann.

In Entwicklerkreisen gibt es das Bonmot: Das Beste an Standards sei, dass sie so viele Auswahlmöglichkeiten bieten. Die XML-Familie bildet da keine Ausnahme. Schließlich hat sich die ursprüngliche, 40 Seiten lange Spezifikation von XML 1.0 längst in eine riesige Bibliothek von Dokumenten verwandelt, die mitunter Hunderte von Seiten umfassen.

Dabei haben sich die ersten beiden Ebenen als ziemlich stabil erwiesen und sollten auch weiterhin den meisten XML-Entwicklern als Basis dienen. Die kommenden Versionen von Xpath und XSLT werden eine ähnlich wichtige Position einnehmen. Denn mit einer Reihe dringend erforderlicher neuer Funktionen gleichen sie jene Nachteile mehr als aus, die für manchen Anwender aus ihrer Unterstützung von XML Schema resultiert.

Auch Xquery und XML Schema selbst gewinnen als neue Spezifikationen der dritten Ebene zunehmend an Bedeutung: Denn je mehr XML zum Kernelement der IT-Strategien und -Architekturen großer Unternehmen avanciert, desto mehr sind diese auf entsprechende Datenstrukturen und Abfragemechanismen angewiesen. Und doch entscheidet sich die weitere Erfolgsgeschichte von XML vor allem auf der vierten Ebene, denn die Anwendungen sind es, die den wahren Nut-zen von XML für die Unternehmen definieren. (ws)

*Michael Kay ist Systemarchitekt bei der Software AG und Mitglied der W3C-Arbeitsgruppen für die XML-Spezifikationen Xquery und XSLT.

Papst für XSL Transformations

Michael Kay gilt mittlerweile als einer der prominentesten Vertreter der XML-Gemeinde. Besondere Verdienste erwarb er sich um den Co-Standard XSL Transformations, einer Technologie zur Konvertierung von XML-Dokumenten in verschiedene Ausgabeformate. Kay lieferte mit dem in Java geschriebenen XSLT-Prozessor "Saxon" (http://saxon.sourceforge.net) eine der ersten Implementierungen des W3C-Standards. Große Bekanntheit erlangte er zudem mit seinem Buch über diese Technologie, das schon längst zu einem Standardwerk avancierte und mittlerweile in der zweiten Auflage vorliegt.

Michael Kay stellt nun seine Kompetenz für die Weiterentwicklung von XSLT zur Verfügung. Er fungiert als Editor der Version 2.0 des W3C-Standards und folgt damit James Clark nach, der für XSLT 1.0 verantwortlich zeichnete.

Abb: XML-Schichtenmodell

Nach Vorstellung von Michael Kay lässt sich XML in vier Schichten darstellen. Die meisten Änderungen stehen auf Ebene 3 und 4 bevor. Quelle: Software AG