Schade, dass es nur HTML
gibtWenn hier gelegentlich der Eindruck entsteht,
dass HTML
schlecht
sei, dann stimmt das,
wenn auch nur insofern, als jetzt, da wir uns an das Web gewöhnt
haben, die Nachteile einer festen DTD ins Auge
springen. Ohne Tim
Berners-Lees Arbeit aber würden wir
heute wahrscheinlich nicht über etwas besseres als
HTML diskutieren können. Schon deshalb gebührt
ihm Dank.. Denn was könnte man nicht alles
mit Dokumenten im World Wide Web anstellen, wenn die Grenzen
von HTML (= feststehender Satz an Elementen)
nicht für alle Dokumente gälten. Wobei hiermit gemeint ist,
dass man sich eben nicht eigene Elemente definieren
kann.
Die Zeit, in der es nur
HTML
gab, ist zwar vorbei; das allein klärt aber nicht die Frage,
was man mit Dokumenten im Web machen kann. Schließlich
hat eine Reihe von Firmen mit den bisherigen Mitteln (vor
XML) auch schon vieles gemacht, wovon
normale
HTML-Autoren nur träumen (Softwareverteilung,
E-Commerce etc.).
Diese Möglichkeiten haben weder die SGML-Anhänger noch das World Wide Web Consortium (meist W3C genannt) ruhen lassen. Eine Arbeitsgruppe hat sich jetzt fast drei Jahre lang damit beschäftigt, wie man das Problem der nicht vorhandenen Erweiterbarkeit von HTML beseitigen kann. 1996 war es soweit, dass ein erster Vorschlag zur Extensible Markup Language (XML) vorgestellt wurde; übrigens im Rahmen einer SGML-Veranstaltung. Ein gutes Vierteljahr später (April 1997) war XML neben dem eigentlichen Hauptthema — Erreichbarkeit/Verwendbarkeit (accessability) von Web-Dokumenten — dasjenige Thema, über das auf der World Wide Web Conference 1997 am meisten diskutiert wurde. Aus Sicht der SGML-Anhänger war es mit XML endlich soweit, dass SGML indirekt ins Web kam.
Die Erweiterbarkeit (Englisch: extensibility) von Auszeichnungssprachen für Dokumente, die im World Wide Web zur Veröffentlichung kommen sollen, ist der wichtigste Aspekt dieses Buches. Alle noch so technischen Abschnitte sind immer nur die Voraussetzung dafür, dass es in XML darum geht, Beschreibungen für eigene Dokumente zu entwickeln. Nur am Rande — siehe Kapitel 19 — soll es um die erweiterbare Version von HTML (XHTML) gehen. Vielmehr wird es sich um davon unabhängige Dokumentstrukturen handeln.
Um das Motto dieses Kapitels zum vorletzten Mal aufzugreifen: Die Beteiligten der genannten Arbeitsgruppe mussten sowohl wagemutig (daring) als auch vorsichtig (cautious) bei ihrem Vorhaben sein. Auf der einen Seite musste schnell etwas geschehen, damit das Web sich nicht innerhalb eines Jahres in zueinander inkompatiblen Teil-Webs entwickelt, auf der anderen ging es darum, das für das Web viel zu komplizierte SGML zu vereinfachen. Dazu mussten Aspekte über Bord geworfen werden, von denen sich mancher ungern trennte. Dennoch war das notwendig, denn nur so war es möglich, innerhalb kurzer Zeit einen Kompromiss zu finden, mit dem alle zufrieden sein konnten. Der Erfolg, den XML nun schon seit zwei Jahren hat ist an Anwendungen ablesbar, die im Laufe dieser Zeit entstanden sind. Auch die Aktivitäten, die Tools betreffen, sowie beim W3C eingereichte weitere Vorschläge sind Belege dafür. Mittlerweile hat man fast das Gefühl, dass im Web und in der Softwareentwicklung nichts mehr ohne XML geht.
Im Vergleich zu HTML bietet XML deshalb mehr Möglichkeiten, weil es eine Metasprache ist. HTML ist, wie oben erwähnt, eine Strukturbeschreibung für Web-Dokumente. XML hingegen ist als Teilmenge von SGML eine Sprache, in der sich wiederum beliebig viele Sprachen wie HTML definieren lassen. XML ist SGML für das Web; aber nicht nur.
Eigentlich reicht HTML doch völlig aus
, könnte
der eine oder die andere sagen respektive fragen, was denn an
XML besser sei. Ohne den vielen Details, die in
späteren Kapiteln folgen, vorzugreifen, lässt sich dazu einiges
sagen. XML-Dokumente kann man —
beispielsweise über StylesheetsGemeint sind hier
nicht die erwähnten CSS, sondern eine
neue
Sprache, die unter anderem funktionale Elemente enthält und es
dadurch erlaubt, den Inhalt von Dokumenten zu bearbeiten,
bevor ein Browser sie anzeigt. Siehe dazu vor allem Kapitel
9. — verändern. Um das
klassische Beispiel eines Buches (das Buch selbst) zu
benutzen: Aus einem Dokument lässt sich ein Inhaltsverzeichnis
generieren, das entweder am Anfang steht oder eigenständig
ist. Etwas allgemeiner: Aus einem einzigen
XML-Dokument kann ich im Prinzip fast beliebig
viele Web-Dokumente machen, etwa eine konkrete Adresse aus
einem Adressbuch heraussuchen. Und natürlich ist es möglich,
aus XML-Quellen HTML-Dateien zu erzeugen,
die ein gemeiner Browser anzeigen kann. Dabei gehen zwar
Informationen verloren, aber immerhin bewirkt eine solche
Konvertierung generelle Verfügbarkeit.
Ähnlich wie HTML lassen sich
XML-Daten on the fly
aus
Datenbankbeständen erzeugen. Allerdings eignet sich diese
Auszeichnungssprache besser zur Speicherung in
Datenbanken — vor allem in objektorientierten, die eine
komplexe Elementstruktur leichter abbilden können als
relationale. Die Elemente in XML-Dokumenten
müssen strikt ineinander geschachtelt sein. Daher
kann man sie als Einheiten (Objekte) betrachten, die sich
— samt ihrer Struktur — in einem
objektorientierten Datenbanksystem abbilden lassen. Mit
HTML-Daten ist das ebenfalls möglich, allerdings
entfällt durch die feste Menge an Elementen die Freiheit,
eigene Datenstrukturen vorschreiben zu können. Für
XML aus Datenbanksystemen gilt natürlich noch
mehr, was im vorigen Absatz steht: Datenbankbestände auf
unterschiedliche Art und Weise auszugeben, versteht sich fast
von selbst. Wiederverwendbarkeit
ist das dazugehörige
Schlagwort. Mittlerweile sind die ersten Produkte auf dem
Markt, die als XML-Server bezeichnet
werden.
Hat sich jemand in XML ein kleines Adressbuch geschaffen, heißt Wiederverwendbarkeit in diesem Maßstab, dass aus den (einmal vorhandenen) Daten Übersichten, Teilansichten und einzelne Adressen als Web-Dokumente werden können; etwas, das mit HTML ohne Datenbankanbindung nicht geht.
Mit Dokumenten, die statt in HTML in XML verfasst oder aus Datenbeständen generiert sind, lässt sich auch deshalb viel mehr machen, weil in den Elementnamen und selbst definierten Attributen beziehungsweise deren Werten Information über die eigentlichen Daten enthalten ist. Auf diese so genannten Metadaten kann man ebenfalls zugreifen. Insofern ist mehr wirklich mehr.
Schließlich ist da noch der Traum vieler, die
XML propagieren: mit XML ein
einheitliches (universelles) Datenformat zu besitzen, das
sowohl maschinenlesbar als auch für menschliche Augen
verständlich istNein, damit ist nicht gemeint, alle
proprietären Datenformate (Textverarbeitungen, Datenbanken)
abzuschaffen — obwohl das auch nicht schlecht
wäre.. Und: Eine solche Sprache ist auch eine, die
Menschen schreiben können.