Struktur des DOM-Kerns

(Auszug aus "XML in a Nutshell" von Elliotte Rusty Harold & W. Scott Means)

Die Kern-Interfaces des DOM-Kerns bieten generischen Zugriff auf alle unterstützten Inhalte eines Dokuments. DOM definiert ebenfalls eine Reihe von HTML-spezifischen Interfaces, die den verschiedenen Teilen eines HTML-Dokuments entsprechen: Tabellen, Absätze und <img>-Elemente. Neben diesen spezialisierten Interfaces gibt es aber auch eine Reihe von generischen Interfaces im DOM-Kern, über die die gleichen Informationen aufgerufen werden können.

XML wurde mit dem Ziel verfasst, eigene anwendungsspezifische Markup-Sprachen zu erstellen. Daher können Standardisierungskommissionen auch keine anwendungsspezifischen Interfaces im Voraus festlegen. Stattdessen enthält DOM die Kern-Interfaces, die die Manipulation von Elementen völlig unabhängig von der konkreten Anwendung erlauben.

Der DOM-Kern ist noch weiter aufgeteilt, und zwar in die so genannten Basis-Interfaces und die erweiterten Interfaces. Die Basis-Interfaces sind sowohl auf XML-Dokumente als auch auf HTML-Dokumente anwendbar. Die erweiterten Interfaces sind dagegen für echte XML-Strukturen wie Entity-Deklarationen oder Verarbeitungsanweisungen gedacht. Alle Interfaces des DOM-Kerns sind darüber hinaus von einem zentralen Interfaces namens Node (Knoten) abgeleitet. Das Node-Interface bietet einen Satz an generischen Methoden für den Zugriff auf die Baumstruktur und den Inhalt eines Dokuments oder eines Dokumentfragments.

Generische und anwendungsspezifische DOM-Interfaces im Vergleich

Um die verschiedenen Arten der Verarbeitung von Dokumenten zu vereinfachen und die effektive Implementierung von DOM durch einige Programmiersprachen zu ermöglichen, gibt es eigentlich nur zwei verschiedene Methoden, um auf einen Dokumentbaum aus dem DOM-Kern heraus zuzugreifen: über das generische Interface Node und über anwendungsspezifischen Interface für jeden Knotentyp. Obgleich es einige unterschiedliche Arten von Markup-Zeichen gibt, die in einem XML-Dokument vorkommen können (Elemente, Attribute, Verarbeitungsanweisungen usw.), kann die Beziehung zwischen diesen verschiedenen Markup-Zeichen in einer typischen hierarchischen Baumstruktur dargestellt werden. Die Elemente sind sowohl mit ihren Vorfahren und Nachfahren verbunden als auch mit ihren Eltern- und Kindknoten. Obwohl es viele verschiedene Knotentypen gibt, treffen die grundlegenden Eltern-, Kind- und Geschwisterbeziehungen auf alle Bestandteile eines XML-Dokuments zu.

Das generische Interface Node deckt die minimale Menge von Attributen und Methoden ab, um eine Baumstruktur auszudrücken. Ein gegebener Node enthält alle Verzweigungen, die zur Lokalisierung seiner Elternknoten, Kindknoten und Geschwister erforderlich sind. Auf der nächsten Seite wird das Interface Node ausführlich beschrieben.

Zusätzlich zum generischen Interface Node definiert das DOM auch einen Satz XML-spezifischer Interfaces, die jeweils unterschiedliche Teile eines XML-Dokuments wie Elemente, Attribute, Verarbeitungsanweisungen usw. behandeln. Alle spezifischen Interfaces sind abgeleitet vom generischen Interface Node, so dass einzelne Anwendungen die Methode für den Zugriff auf den DOM-Baum beliebig wählen können, indem sie zwischen dem generischen Interface Node und dem tatsächlich dargestellten Objekttyp casten. Die Seite Spezielle Knotentypen behandelt die jeweiligen Interfaces und ihre Beziehung zum generischen Node-Interface.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema XML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

  


Copyright © 2005 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XML in a Nutshell" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de