DOM (Document Object Model)

Werbung
DOM
(Document Object Model)
Multimedia Seminar, WS 01/02, Michael Bromm
Inhalt
1.
2.
3.
4.
5.
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.jdom.org
JAXP (Java)
•
–
www.apache.org
...
java.sun.com
5. Verwandte Technologien
•
•
XML
SAX
–
•
Xpath
–
•
Eventgesteuerte Parser – API für XML
...
Zugriffssprache auf XML – Dokumente
DOM – Document Object Model
Fragen ?
Herunterladen