1 / 28

DOM (Document Object Model)

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

Download Presentation

DOM (Document Object Model)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Inhalt • Allgemein • Daten in „DOM - Form“ • Standards • Verfügbare APIs • Verwandte Technologien

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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>

  9. 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

  10. 2. Daten in „DOM - Form“ • Das Modell (2/4)

  11. 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

  12. 2. Daten in „DOM - Form“ • Das Modell (4/4) • Beispiel: HTML - Dokument

  13. 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

  14. 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

  15. 2. Daten in „DOM - Form“ • Daten Strukturieren (3/4)

  16. 2. Daten in „DOM - Form“ • Daten Strukturieren (4/4)

  17. 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

  18. 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

  19. 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

  20. 3. Standards • DOM Core (2/4)

  21. 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

  22. 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

  23. 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

  24. 3. Standards • DOM HTML (2/3)

  25. 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

  26. 4. Verfügbare API´s • API´s • Xerces Apache Projekt (Java) • www.apache.org • JDOM (Java) • www.jdom.org • JAXP (Java) • java.sun.com • ...

  27. 5. Verwandte Technologien • XML • SAX • Eventgesteuerte Parser – API für XML • Xpath • Zugriffssprache auf XML – Dokumente • ...

  28. DOM – Document Object Model Fragen ?

More Related