Post on 01-Jan-2016
description
DOM (Document Object Model)
Multimedia Seminar, WS 01/02, Michael Bromm
Inhalt
1. Allgemein
2. Daten in „DOM - Form“
3. Standards
4. Verfügbare APIs
5. 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)
• 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 ?