Dokumenten-Management/Neutrales Format für Datenaustausch und -archivierung

Die XML-Revolution: Mehr Unabhängigkeit für Anwender

18.02.2000
Die XML (Extensible Markup Language) wurde entwickelt, um die Nachteile von HTML auszugleichen. Inzwischen beginnt sie die Dokumentenarchivierung und den Datenaustausch zu revolutionieren und an die Bedingungen der vernetzten Welt anzupassen. Fotis Jannidis* erklärt die Metasprache.

Das Internet, genauer das WWW, verdankt seinen Siegeszug nicht zuletzt der Definition einer einfachen Seitenbeschreibungssprache: HTML. Mit einer kleinen Anzahl so genannter Tags kann fast jedermann Informationen aufbereiten und für andere zugänglich machen. Ursprünglich war HTML so konzipiert, dass das Layout der Seite keine Rolle spielen sollte. Aber der Wunsch der Web-Gestalter nach größerer Kontrolle über das Seitendesign hat dazu geführt, dass HTML innerhalb kürzester Zeit sowohl grafische als auch inhaltliche Auszeichnungselemente (Tags) enthielt. Heute gilt HTML als recht leistungsfähiges Ausgabeformat für die unterschiedlichsten Bildschirmformate, aber als sehr schlechtes Archivformat.

Das Problem, elektronische Daten längerfristig zu archivieren, plagt eigentlich alle, insbesondere aber diejenigen, die schwach strukturierte Daten haben, wie sie typischerweise mit einer Textverarbeitung erzeugt werden: Bücher, Zeitungen und Zeitschriften, firmeninterne Dokumentation und Kommunikation, elektronische Hilfedateien, Handbücher etc. Elektronische Informationen dieser Art sind gleich doppelt bedroht: Einmal werden die Daten aufgrund ihrer engen Koppelung an spezifische Software und damit an ein bestimmtes Betriebssystem und bestimmte Hardware durch die beschleunigte technologische Entwicklung schnell unzugänglich. Bezeichnend dafür ist der Umstand, dass Microsoft seiner Office-Textverarbeitung, die das Dateiformat mit fast jeder Versionsnummer wechselt, keineswegs immer und automatisch Konvertierungsfilter für Texte aus den früheren Programmversionen beilegt.

Die zweite Bedrohung der Information entsteht dadurch, dass Textverarbeitungen Daten meist typografisch aufbereiten, um ansprechende Druckerzeugnisse zu erzielen. Inzwischen werden einmal erzeugte Texte aber mehrfach verwertet, oft in verschiedenen Ausgabemedien. So werden Artikel am Ende des Jahres in einem elektronischen Jahresarchiv herausgegeben. Oder eine Firma wertet ihre Kundenkorrespondenz statistisch aus, um ihre Außendarstellung zu verbessern. Eine solche in der Regel finanziell attraktive Mehrfachverwertung wird aber durch die herkömmliche Art der Textverarbeitung erschwert oder verhindert. Die typografische Gestaltung verstellt den Blick auf inhaltliche Gemeinsamkeiten und Unterschiede. Wer sich für die Firmennamen in Zeitungsartikeln interessiert, zum Beispiel weil er Auskunft über ein bestimmtes Unternehmen haben möchte, dem hilft es nichts, wenn diese immer fett gedruckt sind, und es noch andere Hervorhebungen dieser Art gibt und Hinweise auf eine Firma so nicht erfasst werden.

Um diesen Problemen entgegenzuwirken, wurde bereits 1986 die Standard Generalized Markup Language (SGML) verabschiedet, die eine ganze Reihe von Vorteilen aufweist:

- Sie trennt klar zwischen semantischer und typografischer Auszeichnung der Texte.

- SGML ist eine Metasprache, die festlegt, wie Auszeichnungssprachen definiert werden. Der Anwender hat die Möglichkeit, für seine Anwendung jeweils eine eigene Liste an Auszeichnungselementen zu bestimmen, und dennoch kann jede SGML-konforme Software mit solchen Texten arbeiten. Tatsächlich ist HTML bald SGML-konform geworden.

- Die so aufbereiteten Texte sind plattform- und softwareunabhängig.

SGML fand in Teilen der Industrie und der Wissenschaft einige Verbreitung; zwei Schwierigkeiten standen einer größeren Popularität allerdings im Weg: SGML war sehr kompliziert, weshalb auch die meiste SGML-fähige Software sehr teuer war. Außerdem fehlte es zu lange an den wichtigsten ergänzenden Standards etwa zur typografischen Beschreibung von SGML-Dokumenten (dies erfolgte dann in den jeweils proprietären Anwendungsformaten der Hersteller) sowie zu den Hypertextfähigkeiten.

Vorteile von HTML und SGML verbindenXML soll, so das erklärte Ziel der Entwickler, die Vorteile von HTML, insbesondere seine relative Einfachheit, mit den Vorteilen von SGML verbinden. So ist auch XML eine Metasprache, die es erlaubt, Auszeichnungen zu definieren. Die Codierung der Texte in Unicode, einem Zeichensatz, der nahezu alle lebenden Sprachen der Welt erfasst, beseitigt zudem viele Einschränkungen, die bislang mühselige Umwege erzwangen. XML ermöglicht - wie SGML - eine anwendungsspezifische, soft- und hardwareunabhängige Speicherung von Daten. Dabei ist die Spezifikation von XML so knapp gefasst, dass man sich die Grundprinzipien an einem Nachmittag aneignen kann.

Auch die Fülle der bereits existierenden XML-Software belegt, dass die Redakteure des W3-Konsortiums, das XML und die damit verbundenen Standards entwickelt und verabschiedet, ihr selbst gesetztes Ziel einer radikalen Vereinfachung tatsächlich weitgehend erreicht haben. Außerdem wurden von Anfang an einige begleitende Standards konzipiert, die XML ergänzen. Sie legen fest, wie Layout, Hyperlinks und Transformationen zu notieren sind.

Ein weiterer großer Fortschritt ist die Spezifikation von zwei Programmier-Schnittstellen für XML-Daten - eine davon ebenfalls eine Empfehlung des W3C, die andere ist das Ergebnis der Online-Diskussion von XML-Programmierern und inzwischen zu einem De-facto-Standard geworden. Aufgrund dieser Interfaces können Programme mit den zugehörigen Texten von einer Arbeitsumgebung zur nächsten wechseln, ohne dass der Zugriff auf die Daten von Grund auf neu programmiert werden müsste. Nicht alle Spezifikationen, die XML ergänzen sollen, sind schon abgeschlossen. Einige befinden sich noch in der Diskussion, für die meisten liegen aber inzwischen ausführlichere Arbeitsvorschläge vor, die auch schon teilweise in Testprogrammen implementiert sind.

Insgesamt ist die Softwareunterstützung für XML - bei SGML immer ein großes Problem - schon recht breit. So gibt es zahlreiche Open-Source-Programme, meist in der Programmiersprache Java, die von Haus aus das Unicode-Format von XML-Dokumenten unterstützt. Der "Internet Explorer" von Microsoft wie auch die Alphaversion von "Mozilla", dem Nachfolger von "Netscape Navigator", können XML-Dateien direkt anzeigen. IBM hat eine breite Palette von XML-Programmen teilweise als Entwicklerversionen, teilweise aber auch produktionsreif kostenlos zugänglich gemacht. In einem ungewöhnlichen Schritt haben IBM, Sun und andere Firmen außerdem XML-Software, die sie entwickelt hatten, der Open-Source-Initiative Apache (http://xml.apache.org) gestiftet.

Ein Überblick über den Markt der existierenden XML-Programme macht deutlich, dass XML HTML als Seitenbeschreibungssprache so bald nicht ablösen wird. Vielmehr wurde HTML auf der Grundlage von XML neu definiert, die Spezifikation von XHTML wurde erst kürzlich verabschiedet. Interessanter ist es schon, in Dateninseln innerhalb von (X)HTML-Seiten selbst definierte Tags verwenden zu können, um auf diese Weise die Mächtigkeit der Layoutsprache HTML mit den spezifischen Informationsangaben der eigenen Anwendung kombinieren zu können.

Archivformat für schwach strukturierte DokumenteNoch wichtiger aber ist XML auf der Server-Seite beziehungsweise allgemeiner als medienneutrales, plattform- und softwareunabhängiges Archivierungsformat von schwach strukturierten Daten. Aus zwei Gründen ist XML besonders dafür geeignet: Die Spezifikation verbürgt die Unabhängigkeit von Soft- und Hardware. Außerdem ermöglichen die mit XML verbundenen Standards eine relativ einfache und ebenfalls standardisierte Konvertierung in andere Zielformate. In XML ausgezeichnete Daten lassen sich mittels der Transformationssprache XSLT (ebenfalls ein XML-bezogener Standard des W3-Konsortiums) in andere Formate überführen, zum Beispiel in HTML oder in das neue Layoutformat XSL, von dem aus dann gedruckt werden kann.

* Fotis Jannidis ist Fachautor in München

XML-GrundlagenXML-Texte sehen aus wie HTML-Texte, das heißt, zusätzliche Informationen zum Text, so genannte Tags, werden in spitzen Klammern um den betroffenen Textabschnitt gesetzt. Im folgenden Beispiel wird etwa durch das p (für Paragraph) festgelegt, dass die eingeschlossenen Worte einen Absatz bilden:

Dies ist ein Absatz .

Außerdem gibt es leere Elemente, die keinen Text enthalten:

Vor dem Bild <img/> und danach. .

Zusätzliche Angaben zu den Tags werden als Attribute abgelegt, die aus einem Attributnamen und einem Attributwert bestehen:

<p class="Zitat">Sein oder Nichtsein

XML-Dokumente bestehen also aus einer Verschachtelung von Tags, so lange, bis diese irgendwann einmal Text enthalten, zum Beispiel:

<html>

<head>

<title>Überschrift</title>

</head>

<body>

Dies ist ein Absatz

</body>

</html>

(Die Darstellung dieses Beispiels als Baumstruktur finden Sie auf Seite 98.)

Der wesentliche Unterschied zu HTML besteht darin, dass in XML Anzahl und Namen der Tags nicht festgelegt sind, sondern sich für jeden Anwendungsfall frei definieren lassen. Damit man weiß, welche Tags existieren, wird diese Definition in eine Document-Type-Definition-(DTD)Datei geschrieben. Dabei wird auch die Binnenstruktur der Tags festgelegt. Auf diese Weise lässt sich etwa bestimmen, dass in einem Adressfeld immer zuerst der Vorname, dann der Nachname und die Stadt steht. Hier ein Ausschnitt aus einem solchen XML-Dokument:

<adresse>

<vorname>Johann Wolfgang</ vorname>

<nachname>Goethe</ nachname>

<stadt>Weimar</stadt>

</adresse>

Spezielle Programme, so genannte Parser, können dann überprüfen, ob ein XML-Dokument der XML-Spezifikation und den Regeln, wie sie in der zugehörigen DTD niedergelegt sind, entspricht und damit gültig ist. XML schreibt allerdings nicht die Verwendung einer DTD vor. DTD-lose Dateien, die lediglich den Restriktionen der XML-Spezifikation unterworfen sind, sind wohlgeformt.XML-Informationen bietet die Organisation Oasis (http://www.oasis-open.org/).

XML und verwandte StandardsDie XML-bezogenen Standards werden vom W3-Konsortium (http://www.w3.org/) definiert, das von zahlreichen, meist US-Firmen aus dem IT-Bereich sowie Einzelentwicklern getragen und von Tim Berners-Lee geleitet wird. Das W3C veröffentlicht üblicherweise erst eine Reihe von Arbeitspapieren (Working Drafts) zu einem Standard, bevor dieser verabschiedet wird (Recommendation).

XML: Extensible Markup Language - Metasprache zur Definition von Auszeichnungssprachen (Rec. 10.2.1998).

CSS: Cascading Stylesheets - eine einfache Formatierungssprache, ursprünglich für HTML, nun auch für XML-Dokumente (Level 2 Rec. 12.5.1998).

XSL: komplexe Formatierungssprache für XML-Dokumente (WD 12.1.2000).

Xpath: Syntax zur Adressierung von Positionen in XML-Dokumenten - Grundlage von XSLT und Xpointer (Rec. 16.11.1999).

XSLT: Transformationssprache für die Umwandlung von XML-Dokumenten in andere XML-Dokumente (Rec. 16.11.1999).

Xlink: legt die Syntax für Verweise in XML-Dokumenten fest (WD 19.1.2000).

Xpointer: ermöglicht die Definition von Verweiszielen in XML-Dokumenten (WD 6.12.1999).

Namespaces: beschreibt die Syntax zur Festlegung von Namensräumen, um Kollisionen bei gleichen Elementnamen zu vermeiden (Rec. 14.1.1999).

XML-Schema: definiert eine neue Syntax zur Notation der Document Type Definition (WD 17.12.1999).

DOM: Document Object Model - hierarchische Programmier-Schnittstelle für XML-Dokumente Level 2 cand. Rec. 10.12.1999).

SAX: ereignisbezogene Programmier-Schnittstelle für XML-Dokumente (kein W3C-Standard).

Abb.: Baumrepräsentation des auf Seite 96 im Kasten "XML-Grundlagen" beschriebenen Beispiels: Sie dient als Grundlage für die Programmierschnittstelle DOM und für die Positionsangaben mittels Xpath.