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