Das Document Object Model

22.10.1999

Das DOM ist eine Menge sprachunabhängiger Schnittstellen für den programmatischen Zugriff auf die logische Struktur eines XML-Dokuments. DOM Level 1 liegt mittlerweile als Empfehlung des W3-Consortiums vor. Der Standard umfaßt zwei Teile, Core und HTML. Der DOM-Kern eignet sich sowohl für HTML- als auch XML-Dokumente und umfaßt zudem einige erweiterete Interfaces für XML.

Für Java definierte das W3C genauso wie für Javascript oder Corba sogenannte Language Bindings. Den Part für Corba steuerte die Object Management Group (OMG) bei, die alle nach außen sichtbaren Methoden und Attribute mittels der Interface Definition Language (IDL) beschrieb. In Java repräsentiert das Node-Interface den zentralen Datentyp für das gesamte Document Object Model. Es repräsentiert einen Knoten im Dokumentenbaum. Alle Teile eines XML-Dokuments basieren auf dem Node-Interface und werden in davon abgeleiteten Interfaces repräsentiert. Dazu zählen beispielsweise "Document", "Element" oder "Attr". Das Node-Interface definiert eine Reihe von Methoden, die die Navigation im Dokumentenbaum oder die Veränderung von Textbestandteilen erlauben. Beispiele dafür sind getNodeName(), getParentNode(), getLastChild() oder insertBefore().

Damit Programmierer herausfinden können, mit welcher Art von Knoten sie es gerade zu tun haben, können sie Auskunft über getNodeType() einholen. Dies ist vor allem deshalb wichtig, weil bestimmte Methoden von Node nicht auf alle Dokumentteile angewandt werden dürfen. Beispielsweise resultiert der Versuch, Kind-Knoten zu Text-Knoten hinzuzufügen, in einer DOMException.

Eine detaillierte Auflistung des Java Language Binding findet sich unter http://www.w3.org/TR/WD-DOM-Level-2/java-binding.html. Ein umfangreiches Tutorial zu XML für Java-Programmierer bietet Sun unter http://java.sun.com/xml/tutorial_intro.html an.