Software-Entwicklungstrends/Der nach HTML zweite Abkömmling von SGML

Die Metasprache XML erschließt neue Welten

17.07.1998

Die ungebremste Expansion des Web hat mittlerweile einen Informationsdschungel wachsen lassen, in dem es immer schwieriger wird, sich zurechtzufinden. Zum einen liegt das natürlich an den immer größeren Massen von Dokumenten, zum anderen aber auch an der Art, wie die Informationen im Web gespeichert sind.

Im wesentlichen handelt es sich um Textdokumente, die mit dem Markup-Code Hypertext Markup Language (HTML) formatiert werden. Der Web-Designer legt mit einer Reihe von Tags fest, wie sie im Browser erscheinen sollen, welche Links zu anderen Web-Seiten bestehen, ob eventuell Applets eingebunden sind etc. Mit echter Programmierarbeit hat das kaum etwas gemein; HTML ist eine Seitenbeschreibungssprache, vergleichbar der Druckersprache Postscript.

Die Grenzen von HTML bleiben dabei natürlich bestehen: Die Sprache ist erstens nicht erweiterbar, und es ist nicht möglich, eigene Tags für spezifische Anforderungen zu definieren. Außerdem ist die Wiedergabe von Spezifikationen der Datenstrukturen, wie sie etwa bei Datenbanken oder Objekthierarchien benötigt werden, nicht möglich. Zudem unterstützt HTML nicht die Validierung von Daten.

Auf dieser Gundlage können inhaltliche Aspekte nicht erfaßt werden. HTML regelt ausschließlich formale Gesichtspunkte, weitergehende Anforderungen lassen sich nur durch aufwendigere Programmierung erfüllen, sei es durch Applets oder durch Applikationen. Die Beschränkungen haben nicht zuletzt auch die Gefahr von proprietären Erweiterungen entstehen lassen, was wiederum die universelle Verfügbarkeit der in HTML formatierten Informationen einschränken würde.

Heute ist den meisten Anwendern nicht bekannt, daß HTML auf der Standard Generalized Markup Language (SGML) basiert, einer Metasprache zur Definition von Regeln für den Umgang mit Dokumenten unterschiedlicher Art. HTML ist eine Anwendung von SGML, die auf die erwähnten formalen Aspekte beschränkt wurde, um einen möglichst breiten Austausch der Dokumente zu erlauben. SGML verspricht alles, was HTML nicht kann.

Einige entscheidende Vorteile: Erstens handelt es sich um einen allgemeinen Standard, den sehr viele Softwarehersteller unterstützen. Zweitens können die Dokumente von jedem gelesen und gleichzeitig von Programmen syntaktisch zerlegt und analysiert werden. Drittens beschreiben SGML-Dokumente die Daten selbst, nicht nur die Art ihrer Darstellung.

Aber SGML hat auch Schwächen. Sie ist sehr allgemein und komplex. Die Spezifikation umfaßt rund 500 Seiten, das meiste davon ist für den praktischen Einsatz im Web nicht erforderlich. Da so viele Optionen zur Verfügung stehen, ist auch die Interoperabilität zwischen Unternehmen gering. Folglich wird SGML vor allem für große technische Dokumentationen eingesetzt, hauptsächlich im Militärwesen, im Nachrichtendienst, im Flugzeugbau sowie im Verlags- und Archivwesen.

Karriere gemacht hat bekanntlich der SGML-Abkömmling HTML, der sich aber im Gegensatz zu seiner "Muttersprache" SGML gerade von der Beschreibung inhaltlicher Strukturen ganz und gar fernhält. Trotz zahlreicher Einwände wegen der Unterschiede zu SGML wurde HTML sehr beliebt, weil es insbesondere aufgrund seiner Einschränkungen für das Web sehr nützlich ist. HTML ist inzwischen die SGML-Anwendung mit der größten Verbreitung.

Für die aktuellen Anforderungen ist SGML also zu kompliziert und HTML zu einfach. Die Lösung dieses Dilemmas ergibt sich eigentlich aus der Logik von SGML: Diese ist ja eine Metasprache, mit der man eine "Grammatik" nach eigenem Bedarf entwickeln kann.

Was liegt also näher, als auf Basis von SGML einen neuen Standard zu vereinbaren, der die Einfachheit und Universalität von HTML mit der Flexibilität von SGML verbindet? Das Ergebnis heißt XML (Extensible Markup Language). Und wenn HTML gewissermaßen SGMLs oberflächlicher Nachkomme war, so ist XML dessen pragmatischer Abkömmling.

Ihre Spezifikation durch das World Wide Web Consortium (W3C) umfaßt nur noch überschaubare 26 Seiten. Die Einfachheit von XML erleichtert die Implementierung dieser Markup-Sprache erheblich.

Zum Beispiel benötigen XML-Parser, also Applikationen, die XML-Syntax analysieren, keine DTD (Document Type Definition), um ein Dokument in seine Komponenten zu zerlegen. Darüber hinaus akzeptiert XML keine Abweichungen von der Standardsyntax. Dadurch ist gewährleistet, daß unabhängig vom jeweiligen XML-Parser des Empfängers alle XML-codierten Dokumente bearbeitet, gespeichert und geliefert werden können.

XML-Dokumente können Stiltabellen zur Verfügung stellen, mit denen Browser Dokumente für die Darstellung in HTML konvertieren. XML-Anwendungen lassen sich mit Hilfe der in Browsern integrierten Standard-Parser-Schnittstellen erstellen. XML ist abwärtskompatibel, folglich sind XML-Browser in der Lage, auch HTML zu "parsern", also zu interpretieren. Es ist sogar möglich, XML-kompatible HTML-Dokumente zu schreiben. Aufgrund der Abwärtskompatibilität von XML kann der Übergang von HTML sukzessive erfolgen, was die Akzeptanz zweifellos befördern wird.

Eine der wesentlichen Stärken von XML ist es aber, daß sie wie SGML selbst eine Metasprache ist, also keine eigenständige Markup-Sprache (insofern ist der Name XML schlecht gewählt), sondern ein Regelwerk, das seinerseits die Definition von speziellen Grammatiken erlaubt, die dann aber natürlich nur innerhalb eines bestimmten Einsatzgebiets wirksam sind.

Man kann so mit XML zum Beispiel Preise, Verfassernamen, Zeit- oder Datumsangaben, Schlagworte, Aktienkurse etc. definieren. Für solche Inhalte muß jeweils eine Syntax in Form einer DTD festgelegt werden. Auf dieser Basis ist es dann unter anderem möglich, gezielte Abfragen nach den definierten inhaltlichen Kriterien durchzuführen. Die Ergebnisse der Auswertung von Dokumenten oder Web-Seiten, die einem XML-Standard entsprechen, lassen sich auch direkt in Anwendungsprogrammen weiterverarbeiten. So könnte etwa eine Applikation aus Web-Seiten selbständig Preisangaben oder Aktienkurse herauslesen und diese verwenden.

XML findet vielseitige Anwendung im Datenaustausch zwischen unterschiedlichen Systemen. Sie läßt die Formalität relationaler Daten hinter sich, weil sie flexibler als das starre Feldkonzept ist, und erweitert die Leistungsfähigkeit von Schnittstellen-Standards wie Corba und DCOM. XML kann nicht zuletzt auch ausgereiftere Benutzeroberflächen als die doch recht simplen HTML-Formulare beschreiben. Auch wenn der Einsatz von XML-Technologie hauptsächlich in Verbindung mit dem Web diskutiert wird, geht ihr Anwendungsbereich weit darüber hinaus.

Insbesondere eignet sich das XML-Format dafür, Informationen zu speichern, die sich aufgrund ihrer Strukturen nur mit beträchtlichem Aufwand in den Feldern einer relationalen Datenbank abbilden lassen. Schätzungsweise 60 Prozent aller Informationen in der DV sind nur in unstrukturierter Form verfügbar. So könnte man in einer Datenbank gezielt beispielsweise nach bestimmten chemischen Verbindungen suchen. Die großen Datenbankanbieter arbeiten bereits an entsprechenden Konzepten.

Vor allem durch die Möglichkeit der flexiblen Anpassung eignet sich XML als universelles Austauschformat für zahlreiche Anwendungsgebiete vom Electronic Business bis hin zum Dokumenten-Management.

Es gibt bereits etliche Definitionen im Rahmen des XML-Standards, etwa im Gesundheitswesen oder für die Darstellung komplexer chemischer Strukturen (siehe Kasten). Insbesondere aber besteht im Bereich der Finanzdienstleister ein außerordentlich starkes Interesse an einem gemeinsamen plattformübergreifenden Datenaustauschformat.

Und langfristig könnte mit XML sogar die Never ending Story von EDI (Electronic Data Interchange) zu einem Happy-End kommen: EDI-Spezifikationen lassen sich in XML darstellen und so ohne die leidigen Kosten- und Akzeptanzprobleme in konkreten Projekten umsetzen. Daraus könnte sich ein großer Aufschwung für Electronic Business ergeben.

In die Entwicklung von XML-Standards, -Schnittstellen und -Tools wird zur Zeit schon kräftig investiert. Microsoft liefert in Version 4 des Browsers Internet Explorer bereits XML-Technologie und wird sie vermutlich bald mit Web-Tools wie Frontpage unterstützen. Des weiteren hat Microsoft die Sprache für die Implementierung seines Channel-Data-Formats ausgewählt, eines Protokolls zur Standardisierung von Informationsverbreitung im Web, zum Beispiel für die sogenannte Push-Technologie.

Aber auch Unternehmen, die mehr auf Mainframe- oder Unix-Umgebungen ausgerichtet sind, arbeiten an XML-Projekten. So verfügen schon jetzt mehrere Produkte der Software AG über XML-Funktionalität. Auch Unternehmen wie Sun, Oracle, Sybase und Corel beschäftigen sich intensiv mit dem Thema.

Für den weiteren Weg dürfte aber, wie man die DV-Landschaft so kennt, das Engagement von Microsoft entscheidend sein - und hier liegt ein eindeutiges Bekenntnis des Branchenprimus zu XML vor. Für anpaßbare Standards hat sich die Gates-Company ja schon immer begeistern können.

Angeklickt

SGML war ein großartiger Entwurf einer Sprache für die Beschreibung von Dokumenten mit unterschiedlichen Inhalten - aber auch groß vom Umfang der Spezifikationen. Der Abkömmling HTML ist extrem schlank und auf der Web-Welle sehr erfolgreich, quasi ein Standard. Allerdings lassen sich damit die Inhalte der Dokumente über formale Aspekte hinaus nicht eingehend erfassen. XML ist hingegen in der Lage, auch Logik zu transportieren.

Ziel: Standards

In der Industrie gibt es mehrere Initiativen zur Einführung von XML als Standard für den Datenaustausch.

Die XML/EDI-Gruppe: ein internationales Konsortium, das an der Festsetzung von Richtlinien für die Einbindung von XML in Electronic Business verschiedener Branchen arbeitet.

HL7: ein Zusammenschluß von Gesundheitsorganisationen, die Standards für den elektronischen Austausch von Klinik-, Finanz- und Verwaltungsdaten zwischen unabhängigen Computersystemen des Gesundheitswesens entwickeln.

Die Chemical Markup Language (CML): entwickelt in Großbritannien, um Chemikern den Austausch von Beschreibungen von Molekülen, Formeln und anderen chemischen Daten zu ermöglichen.

Open Financial Exchange (OFX): das von "Intuit Quicken" und "Microsoft Money" benutzte Format für die Kommunikation mit Banken (bereits im Einsatz).

Open Software Distribution (OSD): von Marimba und Microsoft.

XGL-Hamlet

Ein Beispiel zeigt, wie einfach und doch leistungsfähig eine XGL-Anwendung sein kann. Haben sich einmal alle "Shakespeare"-User auf die Regeln verständigt, also auch auf die Bedeutung und die Anwendungen von Schlüsselwörtern wie Act, Scene oder Speech, so läßt sich ohne Schwierigkeiten eine entsprechende Applikation programmieren, die die Dramen ausdruckt oder einem Sprachausgabealgorithmus übergibt; Erweiterungen lassen sich nahtlos anschließen.

Das Orginal:

Erster Aufzug

ERSTE SZENE. Helsingör. Eine Terrasse vor dem Schlosse.

FRANCISCO auf dem Posten.

BERNARDO tritt auf.

BERNARDO: Wer da?

FRANCISCO: Nein, mir antwortet: steht und gebt Euch kund.

BERNARDO: Lang lebe der König!

Um diesen Auszug aus Shakespeares Hamlet lesen zu können, benötigen Menschen keine Textcodierungen. Sie sind aufgrund ihrer Erfahrung in der Lage, die Bedeutung einzelner Textstücke zu erkennen oder abzuleiten. Computer können die Bedeutung nicht aus einem Textzusammenhang erschließen, sondern nur Zeichenketten anhand definierter Regeln analysieren. Sie benötigen daher Textcodierungen, um Informationen über den Inhalt hinzufügen zu können. Demselben Text wurde im folgenden XML-Markup hinzugefügt, um ihn beispielsweise über eine sogenannte Speach Machine akustisch auszugeben.

Die Umsetzung

ERSTER AKT

ERSTE SZENE. Helsingör. Eine Terrasse vor dem Schlosse.

FRANCISCO auf dem Posten.

BERNARDO tritt auf.

BERNARDO

Wer da?

FRANCISCO

Nein, antwortet mir: steht, und gebt Euch kund.

BERNARDO

Lang lebe der König!

(Quelle: http://sunsite.unc.edu/pub/sun-info/xml/eg/shakespeare. 1.10.xml.zip)

Nigel Hutchinson ist Manager Technical Services bei der Software AG in Darmstadt.