XML - Eine kleine Einführung |
Iks
Emm Ell ???
|
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. |
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 |