DOM Level 3-Interfaces
(Auszug aus "XML in a Nutshell" von Elliotte Rusty Harold & W. Scott Means)
DOM Level 3 enthält eine Reihe neuer Interfaces, die folgende Features unterstützen:
- XML Version 1.1
- Dynamische Auswahl der DOM-Implementierung
- Allgemeine Dokumenttyp-Informationen nach Validierung
- Dynamische Fehlerbehandlung
Im folgenden werden die neuen Interfaces beschrieben, die in DOM Level 3 eingeführt wurden.
DOMStringList
Das Interface DOMStringList modelliert eine einfache Hilfsklasse, die eine geordnete Liste mit DOMString-Objekten enthält. Die folgende Tabelle beschreibt das Interface DOMStringList.
Tabelle: Das Interface DOMStringList
Name | Typ | Nur-lesbar? |
---|---|---|
Attribute | ||
length | unsigned long | ✗ |
Methoden | ||
contains | boolean | |
item | DOMString |
NameList
Das Interface NameListmodelliert eine geordnete Collection mit Namen und korrespondierenden URIs. Eine mögliche Verwendung dieses Interfaces ist die Modellierung der Verknüpfung zwischen Namensraum-Präfixen und Namensraum-URIs. Die folgende Tabelle beschreibt das Interface NameList.
Tabelle: Das Interface NameList
Name | Typ | Nur-lesbar? |
---|---|---|
Attribute | ||
length | unsigned long | ✗ |
Methoden | ||
contains | boolean | |
containsNS | boolean | |
getName | DOMString | |
getNamespaceURI | DOMString |
DOMImplementationList
Das Interface DOMImplementationList modelltiert eine Liste mit DOMImplementation-Objekten. Es wird in der folgenden Tabelle gezeigt.
Tabelle: Das Interface DOMImplementationList
Name | Typ | Nur-lesbar? |
---|---|---|
Attribute | ||
length | unsigned long | ✗ |
Methoden | ||
item | DOMImplementation |
DOMImplementationSource
Das in der nächsten Tabelle gezeigte Interface DOMImplementationSource ermöglicht es einem DOM-Client, dynamisch eine bestimmte DOM-Implementierung aus einer Liste verfügbarer Implementierungen auszuwählen, die auf einer geforderten Feature-Menge basiert. Es ermöglicht dem Client auch, die vollständige Liste aller zur Laufzeit verfügbaren DOMImplementation-Objekte abzurufen.
Tabelle: Das Interface DOMImplementationSource
Name | Typ | Nur-lesbar? |
---|---|---|
Methoden | ||
getDOMImplementation | DOMImplementation | |
getDOMImplementationList | DOMImplementationList |
TypeInfo
Es gehört zu den wichtigsten Verbesserungen, die DOM Level 3 bietet, dass, nachdem ein Dokument geparst und validiert worden ist, innerhalb des DOM-Baums Typinformationen vorhanden sind. Das in der folgenden Tabelle beschriebene Interface TypeInfo bietet ein sehr einfaches Interface, das es einer DOM-Implementierung ermöglicht, innerhalb des DOM-Baums Schema-unabhängige Typinformationen für Elemente und Attribute zu bieten.
Tabelle: Das Interface TypeInfo
Name | Typ | Nur-lesbar? |
---|---|---|
Attribute | ||
typeName | DOMString | ✗ |
typeNamespace | DOMString | ✗ |
Methoden | ||
isDerivedFrom | boolean |
UserDataHandler
DOM Level 3 bietet Entwicklern die Möglichkeit, innerhalb eines aktuellen DOM-Baums jedem beliebigen Node eigene, selbst definierte Daten anzuhängen. Das Interface UserDataHandler ist ein Callback-Interface, das der Entwickler implementieren kann, wenn er über Operationen benachrichtigt werden will, die auf verschiedenen Knoten ausgeführt werden könnten (wenn z.B. Knoten geklont, gelöscht, verschoben usw. werden). Seine Methode wird in der folgenden Tabelle aufgeführt.
Tabelle: Das Interface UserDataHandler
Name | Typ | Nur-lesbar? |
---|---|---|
Methode | ||
handle | void |
DOMError
Vor Level 3 wurde innerhalb von DOM die ganze Fehlerbehandlung über den DOMException-Mechanismus abgewickelt. Level 3 bietet eine neue Einrichtung zur Fehlerbehandlung, die es dem Entwickler ermöglicht, ein Callback-Objekt zu registrieren (das das Interface DOMErrorHandler implementiert), das dann benachrichtigt wird, wenn während DOM-Operationen ein Fehler eintritt. Das Interface DOMError beschreibt ein Objekt, das Informationen zu einem solchen Fehler enthält. Das Interface DOMError wird in der folgenden Tabelle beschrieben.
Tabelle: Das Interface DOMError
Name | Typ | Nur-lesbar? |
---|---|---|
Attribute | ||
location | DOMLocator | ✗ |
message | DOMString | ✗ |
relatedData | DOMObject | ✗ |
relatedException | DOMObject | ✗ |
severity | unsigned short | ✗ |
type | DOMString | ✗ |
DOMErrorHandler
Im Unterschied zu früheren DOM-Leveln ermöglicht Level 3 es DOM-Entwicklern, ein Callback-Objekt zu erzeugen, das benachrichtigt werden kann, wenn während einer DOM-Verarbeitung ein Fehler auftritt. Das erfolgt durch Entwicklung eines Objekts, das das Interface DOMErrorHandler implementiert. Wenn während einer DOM-Operation ein Fehler auftritt (z.B. ein Gültigkeitsfehler während des Einfügens eines Knotens), wird mit ausführlichen Fehlerinformationen die Methode handleError( ) aufgerufen. Die Methode dieses Interfaces wird in der folgenden Tabelle aufgeführt.
Tabelle. Das Interface DOMErrorHandler
Name | Typ | Nur-lesbar? |
---|---|---|
Methode | ||
handleError | boolean |
DOMLocator
Das in der nächsten Tabelle gezeigte Interface DOMLocator beschreibt einen Ort innerhalb eines DOM-Dokuments. Es wird vor allem durch das neue DOMError-Interface verwendet, um detaillierte Informationen über den Ort zu liefern, an dem ein bestimmter Fehler aufgetreten ist.
Tabelle: Das Interface DOMLocator
Name | Typ | Nur-lesbar? |
---|---|---|
Attribute | ||
byteOffset | long | ✗ |
columnNumber | long | ✗ |
lineNumber | long | ✗ |
relatedNode | Node | ✗ |
utf16Offset | long | ✗ |
uri | DOMString | ✗ |
DOMConfiguration
Das in der folgenden Tabelle gezeigte Interface DOMConfiguration bietet einen allgemeinen Container für verschiedene Konfigurationsparameter, die die Verarbeitung von XML beeinflussen, wenn es zum ersten Mal geparst wird oder mit der Methode Document.normalizeDocument( ) neu verarbeitet wird. Eine vollständige Liste der Parameter, die von DOM Level 3-Implementierungen erkannt werden, finden Sie unter DOMConfiguration in der DOM-Referenz.
Tabelle: Das Interface DOMConfiguration
Name | Typ | Nur-lesbar? |
---|---|---|
Attribute | ||
parameterNames | DOMStringList | ✗ |
Methoden | ||
canSetParameter | boolean | |
getParameter | DOMUserData | |
setParameter | void |
<< zurück | vor >> |
Tipp der data2type-Redaktion: Zum Thema XML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: |
Copyright © 2005 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XML in a Nutshell" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de