DOM (Document Object Model) Multimedia Seminar, WS 01/02, Michael Bromm
Inhalt Allgemein Daten in „DOM - Form“ Standards Verfügbare APIs Verwandte Technologien
1. Allgemein Was ist DOM? Document Object Model (Objektorientiertes Dokumentenmodell) Hat zwei Bedeutungen Logische Modell zur Darstellung von Daten Schnittstellen zum Zugriff auf das Modell Navigieren, Lesen/Schreiben, Hinzufügen und Entfernen von Daten
1. Allgemein Informationen im DOM Logische Struktur für XML – Dokumente Jede Form von Informationen die mit XML strukturiert werden können HTML ist eine gültige XML - Sprache
1. Allgemein XML – Grundlagen (1/4) Extensible Markup Language Vom W3C definierte Teilmenge von SGML Metasprache zur Definition von Sprachen Strukturiert Informationen in Textdateien Strukturierung durch Maßgeschneiderte Menge von Tags
1. Allgemein XML – Grundlagen (2/4) Tag: <name>Heinz</name> Kurzform: <name/> Attribute: <person id=„0815“/> Schachtelung: <person id=„0815“> <name>Heinz</name> </person> Tags und Attribute werden frei definiert
1. Allgemein XML – Grundlagen (3/4) Wenige allgemeine Regeln Hat genau eine Wurzel Wohlgeformt (well formed): Alle Tags geschlossen die geöffnet wurden Verschachtelung in korrekter Reihenfolge Gültig (valid): Eine korrekte DTD (Document Type Definition) Dokument entspricht der DTD
1. Allgemein XML – Grundlagen (4/4) Beispiel: Telefonbucheintrag <?xml version="1.0" encoding=„UTF-8"?> <person> <name>Becker</name> <vorname>Heinz</vorname> <tel>12345/98765</tel> </person>
2. Daten in „DOM – Form“ Das Modell (1/4) Hierarchische Struktur von Elementen Ein Wurzelelement mit beliebig vielen Nachfolgern Jeder Nachfolger kann selbst beliebig viele Nachfolger haben Struktur ist ein Baum
2. Daten in „DOM - Form“ Das Modell (2/4)
2. Daten in „DOM - Form“ Das Modell (3/4) Baum entspricht der Struktur eines XML – Dokumentes Jedes Element entspricht einem Tag Jeder Knoten enthält die Information selbst und evtl. die Attribute des Tags
2. Daten in „DOM - Form“ Das Modell (4/4) Beispiel: HTML - Dokument
2. Daten in „DOM - Form“ Daten Strukturieren (1/4) DOM ermöglicht Erstellung von neuen Dokumenten Informationen können aus verschiedenen Quellen stammen Informationen werden zur Laufzeit in verschiedenen Formen gespeichert
2. Daten in „DOM - Form“ Daten Strukturieren (2/4) Abbildung der internen Strukturen auf das DOM notwendig Strukturierung der Daten notwendig Erkennen von einzelnen Elementen Logische Gruppierung von Elementen zu Gruppen
2. Daten in „DOM - Form“ Daten Strukturieren (3/4)
2. Daten in „DOM - Form“ Daten Strukturieren (4/4)
3. Standards W3C (1/2) Empfehlung des W3C V.1.0 – 1. August 1998 V.2.0 – 13. November 2000 an V.3.0 wird gearbeitet W3C eingeschaltet um einheitliche Sprachnorm für JavaScript zu entwickeln Unterschiedlichen Implementierungen von JavaScript durch Netscape und Microsoft
3. Standards W3C (2/2) Probleme bei der Entwicklung von Skripten DOM nicht nur für HTML ergänzende Scriptsprachen konzipiert, sondern für alle XML gerechten Auszeichnungssprachen Durch Gegebenheiten und Verbreitung von HTML wurden „DOM Core“ und „DOM HTML“ entwickelt
3. Standards DOM Core (1/4) Definiert eine Menge von Schnittstellen Da DOM den objektorientierten Ansatz verfolgt kann von abstrakten Klassen gesprochen werden DOM legt Klassenstruktur und Methoden fest Umsetzung der Schnittstellen in Java oder C++ sollte relativ leicht sein
3. Standards DOM Core (2/4)
3. Standards DOM Core (3/4) Node ist die Basisklasse für alle Knotentypen Methoden von Node: getNodeType() getChildNodes() getAttributes() ... Definiert Methoden zum Umgang mit Knoten
3. Standards DOM Core (4/4) Document stellt das gesamte Dokument dar Enthält Informationen über das Dokument Enthält Methoden zum Erstellen von Knoten createElement(String tagName) createAttribute(String name) ... Vorgehensweise wichtig da Knoten nur im Kontext des Dokumentes gültig sind
3. Standards DOM HTML (1/3) Erweiterung basierend auf der DOM Core Empfehlung Für HTML – Dokumente zugeschnitten Erleichtert Zugriff auf HTML – Dokumente Microsoft und Netscape versprechen seit langem DOM – HTML zu implementieren Beide Implementierungen sind unterschiedlich und unvollständig
3. Standards DOM HTML (2/3)
3. Standards DOM HTML (3/3) Wichtigsten Elemente sind von DOM Core abgeleitet HTMLDocument enthält zusätzliche Informationen über das HTML – Dokument String title String URL ... Erlaubt direkten Zugriff auf Bilder, Applets, Formulare und andere Elemente
4. Verfügbare API´s API´s Xerces Apache Projekt (Java) JDOM (Java) www.apache.org JDOM (Java) www.jdom.org JAXP (Java) java.sun.com ...
5. Verwandte Technologien XML SAX Eventgesteuerte Parser – API für XML Xpath Zugriffssprache auf XML – Dokumente ...
DOM – Document Object Model Fragen ?