XML - Eine kleine Einführung
[Home][Software][XML]

Iks Emm Ell ???
XML - Eine kleine Einführung

Die harmlose Frage

Was kann man mit XML eigentlich machen?

wird häufig mit folgender erschöpfenden Antwort bedacht:

Jaaa ... im Prinzip alles!

Ah ja ... !???
Andererseits ist diese Formulierung ein bedeutungsvoller Hinweis, weil:

XML ist ein Standard, mit dem man Standards definieren kann.

Der bekannteste in XML definierte Standard ist HTML.

Ein XML-Dokument besteht aus Tag-Elementen mit Attributen und Werten - wie etwa

<font color="Blue"> Hallo Welt! </font>

Zu jedem Start-Tag muß ein Ende-Tag definiert werden. Außerdem müssen sich alle Tag-Elemente korrekt geschachtelt unterhalb eines Wurzel-Elementes befinden - dem "root element". Weiterhin müssen alle Attribut-Werte in Anführungszeichen gesetzt werden. Sind diese Forderungen erfüllt, spricht man von Wohlgeformtheit. Die meisten HTML-Dokumente sind nicht wohlgeformt, da sie z.B. ein <br> ohne </br> enthalten.

Ein Beispiel für ein wohlgeformtes XML-Dokument:

<bla>
  <Text>Hallo Welt!</Text>
</bla>

Somit stellt sich XML im wesentlichen als Möglichkeit dar, strukturierte Daten in eine Text-Datei abzubilden. So direkt "machen" kann man damit noch nichts - oder zumindest nicht viel. Der Punkt ist zuerst einmal, daß sich XML-Dokumente leicht erstellen und bequem auswerten lassen. Das mag banal klingen, aber Eingabe, Verarbeitung und Ausgabe von Daten ist nun mal genau das, was Computer tun - eben Datenverarbeitung.
Desweiteren bietet XML Möglichkeiten, die Strukturierung eines XML-Dokumentes detailliert zu beschreiben. In diesem Zusammenhang ist XML ist eine Art Meta-Sprache, mit der sich Dokumenttypen beschreiben lassen. Ein Dokument wird mittels einer sog. Dokument-Typ-Definitionen (document type definition - dtd) beschrieben. Dort ist festgelegt, welche Elemente vorkommen können, welche Attribute diese besitzen können u.v.m.

HTML selbst basiert auf einer (bzw. ist eine) Dokument-Typ-Definition. In der HTML-dtd steht z.B., daß es ein Element mit dem Namen "H1" gibt, welchem zusätzlich bestimmte Attribute zugewiesen werden können. Mit der HTML-dtd und den XML-Dokumenten, die durch diese dtd definiert sind, wurde "etwas gemacht". Es wurden Programme geschrieben, die die Dokumente in formatierter Form auf dem Bildschirm (oder dem Drucker) ausgeben. Die beiden bekanntesten Vertreter sind der Internet Explorer und der Netscape Navigator. Die entsprechenden XML-Dokumente nennt man auch HTML-Seiten.
Der Haken an der Sache ist, daß die HTML-dtd fest in die Browser integriert ist und weder erweitert noch verändert werden kann. Aus diesem Grund wurde letztlich auch CSS eingeführt. Mit CSS kann der Browser veranlaßt werden, bestimmte Tags anders zu interpretieren, als es die dtd eigentlich vorschreibt. Über diesen Umweg können zwar Bestandteile der HTML-dtd verändert, nicht jedoch hinzugefügt werden.

Genau darauf bezieht sich das "X" in XML - extensibility, Erweiterbarkeit:
XML ermöglicht das Entwickeln eigener Dokumenten-Standards.

Wohin führt es ???   

Welchen "Wert" XML letztlich hat oder haben wird, ist schwer zu sagen. In erster Linie wird darüber die Software entscheiden, die im Kontext von XML entsteht. Dies sind auf der einen Seite Programmier-Schnittstellen für Modellierungs-Werkzeuge wie DOM und SAX und auf der anderen Seite XML-basierte Dokument-Typen, die sich als Standards durchsetzen. Die noch immer anhaltende XML-Euphorie scheint viel Energie aus eben solchen Entwicklungen zu schöpfen. Dabei sind es nicht unbedingt praktische Anwendungen, die diese Begeisterung hervorrufen, als eher die Schaffung enormer Anwendungs-Potentiale. Was danach kommt, ist einfach viel Arbeit.

Der äußerst rege Informations-Austausch in einschlägigen Newsgroups läßt vermuten, daß XML beim Web-Publishing eine besondere Rolle spielen könnte, bzw. dies bereits tut. Das große Manko von HTML ist die schlechte Trennung zwischen logischen und formatierten Daten, also z.B. zwischen dem Text an sich und seiner Darstellung auf dem Bildschirm. Eigentlich schreit der ganze Bereich des Content Management geradezu nach XML/XSL. Jedoch erst eine serverseitige Unterstützung dieser Techniken durch die (großen) Internet-Provider wird den Stein endgültig ins Rollen bringen.

Interessant ist XML auch als "Datenbank-Format". XML ist ganz allgemein ein gutes Werkzeug, um Daten verschiedener Formate untereinander auszutauschen. Insbesondere lassen sich die Strukturen relationaler Datenbanken gut auf XML-Dateien abbilden.


XML - Eine kleine Einführung
[Home][Software][XML]

Copyright © J.Weingärtner, [Letzte Aktualisierung 26.04.2002]