DOM verstehen

(Auszug aus "Python & XML" von Christopher A. Jones & Fred L. Drake, Jr.)

Die Struktur von DOM ist im Grunde eine Hierarchie von Knoten-Objekten. Beginnend bei der Wurzel des Dokuments (nicht identisch mit dem document-Element), werden alle Konstrukte im Dokument durch verschiedene Typen von Knoten dargestellt, ob Element, Text, Attribute von Elementen oder andere seltenere Knotentypen. Jeder Knoten enthält eine Liste von Referenzen auf Kindknoten, die ihrerseits die gleichen Typen wie der Vaterknoten haben können. Daher sieht ein komplettes Dokument wie ein Baum aus, vom »Stamm« (oder Wurzelelement des Baums) bis zu den Blattknoten, die Text, kinderlose Elemente, Kommentare, Verarbeitungsanweisungen und andere mögliche Konstrukte enthalten können. Die folgende Abbildung zeigt eine sehr einfache DOM-Hierarchie, inklusive eines Wurzelelements, zwei Kindelementen und deren jeweiligen Text-Kindelementen. Üblicherweise bestehen die Zeichendaten eines Elements aus mehreren Textknoten, abhängig vom verwendeten Parser. Zusammenhängende Strings von Textdaten werden zu Sequenzen von Textknoten.

Eine einfache DOM-Hierarchie

Abbildung: Eine einfache DOM-Hierarchie

Wenn ein Dokument mit DOM dargestellt wird, wird es vollständig in einer Objekthierarchie dargestellt. Wie bei anderen Knoten kann diese Kinder enthalten; und das äußerste Element des Dokuments ist einfach ein Kind des Dokumentknotens. Das Dokument kann auch andere Kinder haben; Kommentare und Verarbeitungsanweisungen können vor oder nach dem Dokumentknoten vorkommen und in der richtigen Reihenfolge auch als Kinder im Dokument auftauchen. Die Dokumenttyp-Deklaration wird ebenfalls als Kind des Dokuments dargestellt.

Das W3C hat sehr darauf geachtet, DOM in einer sprachunabhängigen Weise zu spezifizieren, und jede Programmiersprache hat ihre eigene Art und Weise, dem Anwendungsprogrammierer die Schnittstellen anzubieten; jede dieser Abbildungen von DOM in die Idiome der Zielsprache wird eine Anbindung (Binding) von DOM genannt. Das W3C hat Anbindungen für Java und ECMAScript in die DOM-Spezifikation aufgenommen. Für Python ist die offizielle Quelle der DOM-Anbindung die Python-XML-SIG. Die von den SIG-Mitgliedern entwickelte Anbindung wurde in der Python Library Reference dokumentiert, die Teil des Standard-Dokumentationspakets von Python ist. Referenzmaterial für DOM ist in Python-DOM-API enthalten, aber die Standarddokumentation sollte als das maßgebliche Dokument für diese Anbindung betrachtet werden.

Die DOM-Spezifikationen enthalten die Schnittstellen als CORBA IDL-Module und Java-Schnittstellen, definieren aber nicht (oder empfehlen auch nur), daß diese von der Object Management Group (OMG) übernommenen sprachspezifischen IDL-Abbildungen verwendet werden. Tatsächlich ist es sogar so, daß die Java-Schnittstellen des W3C nicht zur IDL-nach-Java-Abbildung passen. Für Python hat die XML-SIG entschieden, daß eine etwas Python-freundlichere Abbildung verwendet werden sollte, mit einigen Zugeständnissen an die IDL-nach-Python-Abbildung. Da niemand die von IDL abgeleitete Form der Anbindung zu benutzen scheint, behandeln wir in diesem Buch nur die auf Python ausgerichtete Version der DOM-Anbindung.

  

<< zurück vor >>

 

 

 

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

Copyright © 2002 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 "Python & XML" 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