DOMConfiguration(3)

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

Auf dieses Interface kann über das domConfig-Attribut eines gegebenen DOM-Document-Objekts zugegriffen werden. Dieses Objekt ist im Wesentlichen eine Liste mit Konfigurationsoptionen, die beeinflussen, wie Dokumente von DOM-Implementierungen geladen, gespeichert und validiert werden. Indem Sie die Methode setParameter( ) einsetzen, um diese Optionen zu verändern, können Sie das Verhalten der Methode Document.normalize( ) beeinflussen. Wenn Sie beispielsweise den Parameter "entities" auf false setzen, führen nachfolgende Aufrufe der Methode Document.normalize( ) dazu, dass alle EntityReference-Knoten durch ihren Ersetzungstext ersetzt und mit angrenzenden Textknoten verschmolzen werden. Die folgende Tabelle führt die gültigen Parameter für das DOMConfiguration-Objekt auf:

Parametername Wert Bedeutung
canonical-form true Kanonisiert das Dokument gemäß der Canonical XML-Spezifikation. Doppelte Namensraum-Deklarationen werden entfernt und weitere Änderungen werden durchgeführt, um das Dokument auf die einfachste mögliche Form zu reduzieren. Wird dieser Parameter auf true gesetzt, werden automatisch die folgenden Parameter gesetzt:
cdata-sections: false
element-content-whitespace: true
entities: false
namespace-declarations: true
namespaces: true
normalize-characters: false
well-formed: true
false* Keine Kanonisierung durchführen.
cdata-sections true* CDataSection-Knoten werden intakt gehalten.
false Transformiert CDataSection-Knoten in Text-Knoten und verschmilzt gegebenenfalls redundante Text-Knoten.
check-character-normalization true Prüft, ob die Zeichen im Dokument vollständig gemäß Anhang B der XML 1.1-Spezifikation normalisiert sind.
false* Zeichen-Normalisierung nicht prüfen.
comments true* Comment-Knoten im Dokument bewahren.
false Comment-Knoten verwerfen.
datatype-normalization true Den normalisierten Wert eines Knotens (z.B. Strings mit zusammengefasstem Whitespace) innerhalb des Baums anhand der Information des für die Validierung verwendeten Schemas darstellen. Damit das erfolgt, muss auch der Parameter validate auf true gesetzt sein.
false* Keine Schema-Normalisierung durchführen.
element-content-whitespace true* Den vollständigen Whitespace aus dem Original-Dokument bewahren.
false Text-Knoten verwerfen, die Element- whitespace enthalten. Mehr Informationen finden Sie beim Attribut Text.isElementContentWhitespace.
entities true* EntityReference-Knoten im Dokument bewahren.
false EntityReference-Knoten durch ihren Ersetzungstext als Text-Knoten ersetzen. (Die Textknoten werden gegebenenfalls verschmolzen.)
error-handler DOMError-Handler Dieses Property kann auf eine Objekt-Instanz gesetzt werden, die das Interface DOMErrorHandler implementiert. Dann wird die Methode DOMErrorHandler.handleError( ) aufgerufen, wenn bei Dokumentoperationen ein Fehler auftritt.
infoset true Dieser Parameter ist eine Abkürzung, mit der der DOM-Prozessor gezwungen werden kann, die XML Information Set-Spezifikation einzuhalten. Wird dieser Parameter auf true gesetzt, werden automatisch die folgenden Parameter gesetzt:
cdata-sections: false
comments: true
datatype-normalization: false
element-content-whitespace: true
entities: false
namespace-declarations: true
namespaces: true
validate-if-schema: false
well-formed: true
false Wird der Parameter infoset auf false gesetzt, hat das keine Auswirkungen.
namespaces true* Minimiert die Anzahl von Namensraum-Deklarationen im ganzen Dokument, indem Elemente und Attribute der »nächsten« Namensraum-Deklaration zugeordnet werden, die ihrem Namensraum-URI entspricht.
false Es wird keine Verarbeitung von Namensraum-Deklarationen durchgeführt.
namespace-declarations true* Beachten Sie, dass dieser Parameter nur dann wirksam ist, wenn der Parameter namespaces auf true gesetzt ist. Schließt alle Namensraum-Deklarationen als Attr-Knoten in das Dokument ein.
false Alle Knoten für Namensraum-Deklarationen entfernen.
normalize-characters true Vollständige Normalisierung der Zeichen im Dokument gemäß Anhang B der XML 1.1 Empfehlung.
false* Keine Zeichennormalisierung durchführen.
schema-location DOMString Eine mit Whitespace getrennte Liste mit URIs von Schemas, anhand derer das Dokument validiert wird. Dieser Parameter arbeitet gemeinsam mit dem Parameter schema-type. Der Wert dieses Parameters hat Vorrang vor den Schema-Informationen, die im Dokument angegeben werden.
schema-type DOMString Ein absoluter URI, der angibt, welche Typen von Schema-Dokumenten durch den Parameter schema-location referenziert werden. Die zwei Schema-Typ-URIs, die in der DOM-Spezifikation angegeben werden, sind
XML Schema: "http://www.w3.org/2001/XMLSchema" und
XML DTD: "http://www.w3.org/TR/REC-xml".
split-cdata-sections true* CDATA-Abschnitte, deren Textwert die Endmarkierung ]]> enthält, werden automatisch aufgespalten. Der Endmarkierungs-Code wird in Text umgewandelt, und es wird ein anderer CDATA-Abschnitt erzeugt, der an den neuen Text-Knoten anschließt.
false Es wird ein Fehler ausgelöst, wenn ein CDATASection nicht darstellbare Zeichen enthält.
validate true Erzwingt, dass das Dokument während eines Document.normalization( )-Vorgangs anhand eines Schemas validiert wird. Das Schema kann über den Parameter schema-location oder im Dokument selbst angegeben werden.
false* Keine Validierung durchführen, auch nicht anhand der internen Teilmenge, es sei denn, der Parameter validate-if-schema ist auf true gesetzt.
validate-if-schema true Validierung nur dann durchführen, wenn für das Dokumentelement ein Schema gefunden werden kann.
false* Keine Validierung durchführen, es sei denn, der Parameter validate ist auf true gesetzt.
well-formed true* Sicherstellen, dass das Dokument wohlgeformt ist. Das schließt eine Prüfung des Inhalts von Knoten der Typen Attr, Element, Comment, Text, CDataSection und ProcessingInstruction auf Zeichen ein, die in einem wohlgeformten XML-Dokument nicht vorhanden sein sollten. Beispielsweise darf die CDATA-Endmarkierung ]]> im Textwert eines CDataSection-Knotens nicht vorkommen.
false Einschränkungen für Zeichenwerte in DOM-Knoten werden nicht erzwungen. Das kann zu einem Dokument führen, das eventuell nicht wohlgeformt ist, wenn es gespeichert und erneut geparst wird.

* Gibt den Standardwert für den Parameter an. Parameter ohne Standardwert sind optional.

 


Attribut

Das Objekt DOMConfiguration besitzt das folgende Attribut:

 


parameterNames: DOMStringList(3)

Liefert eine Liste der Parameter zurück, die vom DOMConfiguration-Objekt unterstützt werden. Sie kann Parameter einschließen, die nicht Teil der DOM-Empfehlung sind. Nur-lesbar.

Java-Bindung
public DOMStringList getParameterNames( );

 


Methoden

Das Objekt DOMConfiguration definiert die folgenden Methoden:

 


canSetParameter: name, value(3)

Liefert true, wenn der Parameter name den angegebenen Wert value akzeptieren würde. Entspricht im Grunde einem Aufruf von setParameter( ), durch den der Wert des Parameters nicht verändert wird.

Argumente

  • name: DOMString

    Der Name eines gültigen Parameters (aus der parameterNames-Liste), der geprüft werden soll.

  • value: DOMUserData

    Der potenzielle Wert, der geprüft werden soll.

Java-Bindung
public boolean canSetParameter(String name, Object value);

 


getParameter: name(3)

Liefert den Wert des angegebenen Parameters, wenn dieser bekannt ist. Der Rückgabewert hat den Typ DOMUserData und ist null, wenn dem angegebenen Parameter kein Wert zugeordnet ist oder wenn der Parameter nicht anerkannt wird.

Argument

  • name: DOMString

    Der Name eines gültigen Parameters (aus der parameterNames-Liste), der abgefragt werden soll.

Exception

  • NOT_FOUND_ERR

    Wird ausgelöst, wenn der angegebene Parametername nicht anerkannt wird.

Java-Bindung
public Object getParameter(String name) throws DOMException;

 


setParameter: name, value(3)

Versucht, den angegebenen Parameter auf den angegebenen Wert zu setzen.

Argumente

  • name: DOMString

    Der Name eines gültigen Parameters (aus der parameterNames-Liste), der gesetzt werden soll.

  • value: DOMUserData

    Der neue Wert für den Parameter.

Exceptions

  • NOT_FOUND_ERR

    Wird ausgelöst, wenn der angegebene Parametername nicht anerkannt wird.

  • NOT_SUPPORTED_ERR

    Wird aufgelöst, wenn der angegebene Parameter anerkannt, aber nicht unterstützt wird.

  • TYPE_MISMATCH_ERR

    Wird ausgelöst, wenn der Wert für diesen Parameter nicht mit dem erwarteten Typ kompatibel ist (beispielsweise, wenn versucht wird, den Parameter error-handler auf ein Objekt zu setzen, das das Interface DOMErrorHandler nicht implementiert).

Java-Bindung
public void setParameter(String name, Object value) throws DOMException;

  

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