XML ist eine Metasprache für das Definieren von Dokumenttypen. Anders gesagt: XML liefert die Regeln, die beim Definieren von Dokumenttypen angewendet werden.
Und was ist ein Dokumenttyp? Klären wir zunächst die etwas einfachere Frage, was unter einem Elementtyp zu verstehen ist. Man sagt, daß dies ein Element ist:
Lola rennt.
(Das Element besteht aus einem Start-Tag, dem Inhalt des Elements und einem End-Tag.)
Auch dies ist ein Element:
Ist ja gar nicht wahr.
Es handelt sich um zwei Elemente mit auffallenden Ähnlichkeiten. Der Start-Tag und der End-Tag sind gleich. Deswegen sagt man, daß beide Elemente demselben Elementtyp angehören.
Mit Dokumenten verhält es sich ähnlich. Wenn in Dokumenten dieselben Elementtypen verwendet werden (p und ul und br und was es da alles geben mag) und wenn die Elemente alle in gleicher Weise ineinander verschachtelt sind, dann sagt man, daß die Dokumente demselben Dokumenttyp angehören.
Wie steht es in dieser Hinsicht mit HTML-Dokumenten? HTML-Dokumente sind Musterbeispiele für Dokumente, die einen ähnlichen Aufbau haben. Man sagt daher, daß alle HTML-Dokumente demselben Typ angehören, nämlich dem Dokumenttyp HTML.
Letztlich ist das die Grundidee von XML: Man sorgt dafür, daß es Dokumente gibt, die alle in ihrem Aufbau gewissen Grundmustern folgen. Wenn diese Grundmuster eingehalten werden, dann läßt sich mit den Dokumenten mehr anfangen, als wenn jedes Dokument eigenen Regeln folgt, denn es ist dann möglich, Programme zu schreiben, die die Dokumente automatisch verarbeiten. Die Programmierer wissen in etwa, welche Strukturen in dem Dokument zu erwarten sind, und sie können Programme schreiben, die mit den Dokumenten umgehen können. Das heißt, die Dokumente werden keine Überraschungen mehr bieten, und die Programme können so eingerichtet werden, daß sie bei der Verarbeitung der Dokumente in jeder Situation "wissen, was zu tun ist".
Dokumenttyp-Definitionen (DTDs) spielen in XML eine wichtige Rolle. In einer DTD wird festgelegt, welche Gemeinsamkeiten die Dokumente aufweisen werden. Zum Beispiel wird festgelegt, welche Elementtypen in den Dokumenten eines bestimmten Dokumenttyps verwendet werden können.
DTDs haben diese beiden Hauptfunktionen: Sie sagen den Verfassern von Dokumenten, welche Strukturen es in den Dokumenten geben kann. Und sie sagen den Programmierern, auf was ihre Programme "sich gefaßt machen müssen".
Was ist also XML? In erster Linie ist XML eine Anleitung für das Verfassen von Dokumenttyp-Definitionen. Etwas Neues sind Dokumenttyp-Definitionen nicht. Es gab sie auch schon für HTML, man hat sich nur bisher meistens nicht sonderlich darum gekümmert, daß es da sowas im Hintergrund gab.
Die deutlichsten Auswirkungen hat der neue Standard bisher auf die Erschaffer von XML selbst. Da es jetzt die XML-Spezifikation gibt, ist die Grundlage für ein neues HTML gegeben. Das neue HTML wird aus einer Reihe von Modulen bestehen und kann zu jeder Zeit durch neue Module ergänzt werden.
Es entstehen eine größere Zahl von Dokumenttypen (= Auszeichnungssprachen), und im Umfeld von jedem Dokumenttyp, entstehen spezialiserte Anwendungen. Wenn viele Auszeichnungssprachen nebeneinader bestehen, dann birgt das im Prinzip die Gefahr, daß unterschiedliche Welten entstehen, die immer weiter auseinander driften. Da es sich aber um lauter Auszeichnungssprachen handelt, die auf der Grundlage von XML definiert werden, ist sichergestellt, daß der nötige Zusammenhalt bzw. die nötigen Gemeinsamkeiten gegeben sind.
Beispielsweise wird durch die Aktivitäten um XML herum dafür gesorgt, daß alle Auszeichnungssprachen dieselben Link-Mechanismen verwenden. Es wäre für das Web fatal, wenn im Laufe der Zeit lauter Inseln von Dokumenten entstehen würden, die nicht mehr untereinander verlinkt werden können. Für die Schaffung von Link-Mechanismen sind jedoch nicht die Verfasser von DTDs zuständig. Die Link-Mechanismen, an denen aktuell gearbeitet wird, werden früher oder später ein Bestandteil der XML-Spezifikation. Dadurch ist sichergestellt, daß für alle XML-Dokumente dieselben Mechanismen zur Verfügung stehen.
Nebenbei: Das Beispiel mit den Link-Mechanismen zeigt, daß es sich letztlich um eine verkürzte Darstellung handelt, wenn in diesem Text erklärt wird, daß XML die Anleitung für die Erstellung von Dokumenttyp-Definitionen liefert. Zum vollständigen Bild gehört, daß die XML-Spezifikation zusätzlich eine ganze Reihe von Festlegungen liefert, die für alle XML-Dokumente in gleicher Weise gelten - unabhängig davon, zu welchem Dokumenttyp sie gehören. Stichworte dazu sind: "Dokumenttyp-Deklaration", "Public Identifier" und anderes (siehe Kapitel "XML-Syntax").
Wenn es um die Vorzüge von XML geht, dann sind "Standardisierung" und "Offenheit" die wichtigen Stichwörter.
Offenheit bedeutet in diesem Zusammenhang, daß lauter Auszeichnungssprachen entstehen, die leicht durchschaubar sind und daher von vielen genutzt werden können. Ein Blick auf die DTD wird zeigen, mit welchen Datenstrukturen man es zu tun hat.
In Sachen Standardisierung stellt die Veröffentlichung des XML-Standards selbst - zusammen mit der Spezifikation für das Document Object Model (DOM) - bereits die wichtigsten Schritte dar. Wenn jetzt auf der Grundlage des XML-Standards Auszeichnungssprachen geschaffen werden, dann ist sichergestellt, daß mit den zugehörigen Dokumenten gearbeitet werden kann. Das DOM zeigt, wie der Zugriff mittels Scripts gestaltet werden kann.
Allgemein gesagt: Wenn eine neue Auszeichnungssprache (oder ein zusätzliches HTML-Modul) auf der Grundlage von XML definiert wird, dann ist dieses Modul sofort ein Bestandteil von einem Gesamtgebäude, so daß man sich um Kompatibilität und Möglichkeiten für den Datenaustausch keine besonderen Sorgen machen muß.
Wie sehen also die Dokumente der Zukunft aus? Gerne werden Beispiele wie diese angeführt: Wenn etwa über ein Dokument Daten über Autoren liefert, dann kann dafür gesorgt werden, daß ein Klicken auf einen Namen dazu führt, daß zu dem Namen der zugehörige Lebenslauf eingeblendet wird.
Der schnelle Entschluß bei Microsoft, für die Firmen-eigene Push-Technologie ein XML-basierendes Datenformat zu entwickeln, läßt etwas davon erahnen, welche Kreativitätsschübe XML auslösen kann. Das Channel Definition Format ist ein Beispiel für die Millionen von XML-Datenformaten, die im Prinzip auf der Grundlage von XML definiert werden können.
Bei der Deklaration der sogenannten Entities (siehe Kapitel "XML-Syntax") wird angegeben, wo sich das Entity physisch befindet. Der Ort kann durch eine URL spezifiziert werden. Dadurch wird es möglich, daß sich Dokumente aus Bestandteilen anderer Dokumente zusammensetzen.
Möglicherweise werden die Inhaber von Internet-Shops zu den ersten gehören, die unter einen gewissen Zugzwang geraten, denn wenn sich eine Reihe von Shop-Besitzern darauf geeinigt hat, welche Artikel-Bezeichnungen verwendet werden sollen und welche Struktur die Dokumente haben sollen, in denen die Angebote geliefert werden, dann müssen die anderen mitziehen. Vorausgesetzt wird dabei, daß es möglich ist, Programme zu schreiben (sogenannte Agenten), die imstande sind, selbständig das Netz zu durchwandern und selbständig Preise zu vergleichen. Ein Shop-Besitzer, der das entsprechende Datenformat nicht verwendet, muß befürchten, daß seine Angebote von den Agenten übergangen werden.