Zusammenfassung

  • Das W3C veröffentlichte DOM Level 1 am 1. Oktober 1998: eine plattform- und sprachneutrale Schnittstelle für den Zugriff auf HTML- und XML-Dokumente und ihre Veränderung.
  • Beschrieben wurden logische Dokumentobjekte, ihre Beziehungen und Operationen. Die interne Speicherung blieb Sache der jeweiligen Software; Ereignisse und weitere Fragen waren späteren Levels vorbehalten.

Eine Webseite sah auf dem Bildschirm ordentlich aus. Für ein Programm war sie oft ein Möbelstück ohne Griffe. Der eine Browser kannte einen eigenen Weg zum Absatz, ein Editor einen anderen zur Tabellenzelle. Wer ein Skript von einer Anwendung in die nächste tragen wollte, schleppte gleich einen Werkzeugkasten voller Sonderfälle mit. Die DOM-Level-1-Empfehlung des W3C gab den Teilen des Dokuments benannte Zugänge. Elemente finden, Beziehungen verfolgen, Inhalt ändern, neue Teile aufbauen: Solche Handgriffe sollten über gemeinsame Schnittstellen funktionieren.

Der entscheidende Kunstgriff lag in der Trennung von sichtbarem Modell und innerem Bauplan. Die Einleitung zur Empfehlung beschreibt ein Dokument als logische Struktur, die sich wie ein Baum verstehen lässt. Knoten besitzen Beziehungen und Funktionen. Zwei konforme Implementierungen desselben Dokuments sollen strukturell dasselbe Modell zeigen. Daraus folgt keine Vorschrift, die Daten tatsächlich als Baum zu speichern. Hinter identischen Schubladengriffen dürfen sehr verschiedene Schränke stehen.

Ursprünglich ging es um Skripte und Programme, die sich zwischen Webbrowsern bewegen können. An der Arbeit beteiligten sich laut Einleitung auch Hersteller von HTML- und XML-Editoren sowie Dokumentablagen. Für sie war ein Element mehr als ein farbiger Fleck auf dem Monitor: Es hatte Eltern, Kinder und eine Stelle in einer Struktur. DOM Core beschrieb die gemeinsamen Dokumentfunktionen; darauf setzten HTML-spezifische Schnittstellen auf. Die Definitionen standen in einer sprachneutralen IDL, ergänzt durch Bindungen für Java und ECMAScript. Diese Beschreibung fixierte die öffentliche Abmachung.

Sie befahl niemandem, den eigenen Programmcode im Inneren genauso aufzubauen.

Wie praktisch das war, zeigte sich an einfachen Aufgaben. Ein Programm konnte zu einer Tabellenzelle navigieren, ihren Text lesen, ihn ersetzen oder ein neues Element einsetzen. Ein Editor und ein Browser konnten dasselbe Dokument auf verschiedene Weise behandeln und trotzdem dieselben logischen Anker anbieten. Das war kein kosmetisches Detail. Je weniger private Befehle ein Autor kennen musste, desto weniger war seine Arbeit an die Laune einer einzelnen Anwendung gebunden.

Die W3C-Mitteilung vom 1. Oktober 1998 stellte DOM Level 1 als Standard-API für die dynamische Bearbeitung von Dokumenten und Daten vor. Das Wort „Level“ bremste zugleich den Größenwahn. Diese Stufe behandelte Struktur und Inhalt. Ereignisse, Zugriffskontrolle, Thread-Sicherheit, Kontrolle der Stylesheet-Darstellung und Schema-Validierung blieben nach der Einleitung späteren Arbeiten überlassen. Man bekam einen Griff am Schrank. Die Türklingel wurde noch nicht mitgeliefert.

Der historische Gewinn lag darin, Dokumente als gemeinsam adressierbare Objekte zu behandeln. HTML und XML behielten ihre Eigenheiten, Anwendungen ihre unterschiedlichen Maschinenräume. An der Oberfläche, an der Skripte und Werkzeuge auf das Dokument trafen, entstand jedoch eine verlässliche Sprache für Teile und Beziehungen. Eine Webseite war fortan für Programme weniger ein Bild, das man irgendwie anstupst, als eine Struktur, die man mit beiden Händen bearbeiten konnte.