DOMImplementation

(Auszug aus "XML in a Nutshell" von Elliotte Rusty Harold & W. Scott Means)

Das Interface DOMImplementation bietet Informationen über die konkrete DOM-Implementierung, die Sie gerade benutzen. Eine Referenz auf das Interface DOMImplementation gewinnt man nur durch die Methode getImplementation( ) des Document -Objekts.

Java-Beispiel

// Prüfe, ob DOM Level 1 unterstützt wird.
DOMImplementation di = doc.getImplementation(  );
// Stelle sicher, dass DOM Level 1 unterstützt wird.
if (!di.hasFeature("XML", "1.0")) {
    return null;
}

 


Attribute

Das Objekt DOMImplementation hat keine Attribute.

 


Methoden

Das DOMImplementation-Objekt kennt die folgenden Methoden:

 


createDocument: namespaceURI, qualifiedName, doctype (2)

Erzeugt ein neues, leeres Document-Objekt mit dem angegebenen Dokumenttyp. Das Dokument wird komplett mit einem einzelnen Dokumentelement erzeugt, das den angegebenen qualifizierten Namen und den zugehörigen Namensraum-URI hat.

Argumente

  • namespaceURI: DOMString

    Der URI des Namensraums, in dem das Dokumentelement liegen soll. Darf null sein, falls kein Namensraum verwendet wird.

  • qualifiedName: DOMString

    Der voll qualifizierte Name des Dokumentelements, das erzeugt werden soll. Das in diesem Parameter angegebene Präfix wird mit dem URI im Parameter namespaceURI assoziiert.

  • doctype: DOMString

    Die DTD, der das neue Dokument entsprechen soll. Wenn dieser Parameter nicht den Wert null hat, wird das Attribut ownerDocument des übergebenen Objekts vom Typ DocumentType auf das neu zu erzeugende Dokument gesetzt.

Exceptions

  • INVALID_CHARACTER_ERR

    Der übergebene Parameter qualifiedName enthält einen ungültigen XML-Bezeichner.

  • NAMESPACE_ERR

    Diese Exception zeigt eine Inkonsistenz zwischen den Parametern namespaceURI und qualifiedName an. Zum Beispiel darf man keinen qualifizierten Namen mit einem Namensraum-Präfix übergeben, wenn man nicht zugleich auch einen Namensraum-URI übergibt. Diese Exception wird ebenfalls erzeugt, wenn das reservierte Präfix "xml" in einer ungültigen Namensraum-URI angegeben wird.

  • WRONG_DOCUMENT_ERR

    Wird ausgelöst, wenn der im doctype-Parameter übergebene DocumentType-Knoten bereits mit einem anderen Dokument assoziiert ist. Neue DocumentType-Objekte müssen zunächst mit der Methode createDocumentType des Interfaces DOMImplementation erzeugt werden.

Java-Bindung
public Document createDocument(String namespaceURI,
String qualifiedName, DocumentType doctype) throws DOMException;

 


createDocumentType: qualifiedName, publicId, systemId (2)

Erzeugt einen leeren DocumentType-Knoten, der mit keinem Dokument assoziiert ist. Das neue DocumentType-Objekt enthält weder Entity-Deklarationen noch Notationen. Die aktuelle Version von DOM kennt auch keine Möglichkeit, das zu ändern.

Argumente

  • qualifiedName: DOMString

    Der vollqualifizierte Name des zu erzeugenden Dokumenttyps.

  • publicId: DOMString

    Der PUBLIC-Identifier der externen Teilmenge.

  • systemId: DOMString

    Der SYSTEM-Identifier (als URI) der zu erzeugenden externen Teilmenge.

Rückgabewert

Ein neues DocumentType-Objekt, dessen ownerDocument-Attribut den Wert null hat.

Exceptions

  • INVALID_CHARACTER_ERR

    Der Parameter qualifiedName enthält einen ungültigen XML-Bezeichner.

  • NAMESPACE_ERR

    Wird ausgelöst, wenn der qualifizierte Name nicht wohlgeformt ist.

Java-Bindung
public DocumentType createDocumentType(String qualifiedName,
String publicId, String systemId) throws DOMException;

 


getFeature: feature, version (3)

Bietet eine nicht bindungsspezifische Möglichkeit, eine Objekt-Instanz abzurufen, die eine bestimmte Version eines bestimmten Features implementiert. Wird vorwiegend verwendet, um auf Features zuzugreifen, die über das DOM Core hinausgehen.

Argumente

  • feature: DOMString

    Der Package-Name des abzurufenden Features.

  • version: DOMString

    Der DOM-Versions-Level des Features, das abgerufen werden soll.

Rückgabewert

Liefert ein Objekt zurück, das die APIs für das angegebene Feature implementiert, oder null, wenn keine Implementierung verfügbar ist.

Java-Bindung
public Object getFeature(String feature, String version);

 


hasFeature: feature, version

Prüft, ob die DOM-Implementierung eine bestimmte Version des angegebenen Features unterstützt.

Argumente

  • feature: DOMString

    Der Name des zu prüfenden Features. Zurzeit sind die folgenden Feature-Namen (sowie die anderen unter What is the Document Object Model? aufgelisteten Namen) gültig:

    • XML

      Support für den DOM Core in Version 1.0 oder 2.0.

    • HTML

      Support für die HTML-Objekte des erweiterten DOM 1.0 oder 2.0.

  • version: DOMString

    Die Version, die unterstützt werden soll. Wenn keine Versionsnummer angegeben wird, liefert die Funktion true zurück, wenn irgendeine beliebige Version unterstützt wird.

Rückgabewerte

Liefert true, wenn die bestimmte Version des angegebenen Features verfügbar ist. Andernfalls wird false zurückgeliefert.

Java-Bindung
public boolean hasFeature(String feature, String version);

Java-Beispiel

// Prüfe, ob DOM Level 1.0 unterstützt wird.
if (!di.hasFeature("XML", "1.0")) {
    return null;
}

Anmerkung: Wir ignorieren den HTML-spezifischen Teil von DOM, weil HTML-orientierte Anwendungen nicht das Thema dieses Buchs sind. Die HTML-Objekte sind aber extrem nützlich, wenn man Anwendungen implementiert, die Modifikationen an HTML-Dokumenten durchführen. Eine exzellente Referenz dieser Objekte finden Sie z.B. in dem Buch Dynamic HTML: The Definitive Reference von Danny Goodman (O'Reilly & Associates).

  

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