dom (document object model)

28
DOM (Document Object Model) Multimedia Seminar, WS 01/02, Michael Bromm

Upload: noble-osborne

Post on 01-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: DOM (Document Object Model)

DOM (Document Object Model)

Multimedia Seminar, WS 01/02, Michael Bromm

Page 2: DOM (Document Object Model)

Inhalt

1. Allgemein

2. Daten in „DOM - Form“

3. Standards

4. Verfügbare APIs

5. Verwandte Technologien

Page 3: DOM (Document Object Model)

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

Page 4: DOM (Document Object Model)

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

Page 5: DOM (Document Object Model)

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

Page 6: DOM (Document Object Model)

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

Page 7: DOM (Document Object Model)

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

Page 8: DOM (Document Object Model)

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>

Page 9: DOM (Document Object Model)

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

Page 10: DOM (Document Object Model)

2. Daten in „DOM - Form“

• Das Modell (2/4)

Page 11: DOM (Document Object Model)

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

Page 12: DOM (Document Object Model)

2. Daten in „DOM - Form“

• Das Modell (4/4)– Beispiel: HTML - Dokument

Page 13: DOM (Document Object Model)

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

Page 14: DOM (Document Object Model)

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

Page 15: DOM (Document Object Model)

2. Daten in „DOM - Form“

• Daten Strukturieren (3/4)

Page 16: DOM (Document Object Model)

2. Daten in „DOM - Form“

• Daten Strukturieren (4/4)

Page 17: DOM (Document Object Model)

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

Page 18: DOM (Document Object Model)

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

Page 19: DOM (Document Object Model)

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

Page 20: DOM (Document Object Model)

3. Standards

• DOM Core (2/4)

Page 21: DOM (Document Object Model)

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

Page 22: DOM (Document Object Model)

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

Page 23: DOM (Document Object Model)

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

Page 24: DOM (Document Object Model)

3. Standards• DOM HTML (2/3)

Page 25: DOM (Document Object Model)

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

Page 26: DOM (Document Object Model)

4. Verfügbare API´s

• API´s– Xerces Apache Projekt (Java)

• www.apache.org

– JDOM (Java)• www.jdom.org

– JAXP (Java)• java.sun.com

– ...

Page 27: DOM (Document Object Model)

5. Verwandte Technologien

• XML• SAX

– Eventgesteuerte Parser – API für XML

• Xpath– Zugriffssprache auf XML – Dokumente

• ...

Page 28: DOM (Document Object Model)

DOM – Document Object Model

Fragen ?