public interface DOMConfiguration
DOMConfiguration interface represents the configuration of a document and maintains a table of recognized parameters. Using the configuration, it is possible to change Document.normalizeDocument() behavior, such as replacing the CDATASection nodes with Text nodes or specifying the type of the schema that must be used when the validation of the Document is requested. DOMConfiguration objects are also used in [DOM Level 3 Load and Save] in the DOMParser and DOMSerializer interfaces.
The parameter names used by the DOMConfiguration object are defined throughout the DOM Level 3 specifications. Names are case-insensitives. To avoid possible conflicts, as a convention, names referring to parameters defined outside the DOM specification should be made unique. Because parameters are exposed as properties in the , names are recommended to follow the section 5.16 Identifiers of [Unicode] with the addition of the character '-' (HYPHEN-MINUS) but it is not enforced by the DOM implementation. DOM Level 3 Core Implementations are required to recognize all parameters defined in this specification. Some parameter values may also be required to be supported by the implementation. Refer to the definition of the parameter to know if a value must be supported or not.
Note: Parameters are similar to features and properties used in SAX2 [SAX].
The following list of parameters defined in the DOM:
"canonical-form"truefalse: "entities ", "normalize-characters", "cdata-sections".This forces the following parameters to true: "namespaces", "namespace-declarations", " well-formed", "element-content-whitespace".Other parameters are not changed unless explicitly specified in the description of the parameters. In addition, the DocumentType node is removed from the tree if any and superfluous namespace declarations are removed from each element. Note that querying this parameter with getParameter cannot return true unless it has been set to true and the parameters described above are appropriately set.false"cdata-sections"trueCDATASection nodes in the document.falseCDATASection nodes in the document into Text nodes. The new Text node is then combined with any adjacent Text node."check-character-normalization"truefalse"comments"trueComment nodes in the document.falseComment nodes in the document."datatype-normalization"truetrue. Having this parameter activated when "validate" is false has no effect and no schema-normalization will happen.
Note: Since the document contains the result of the XML 1.0 processing, this parameter does not apply to attribute value normalization as defined in section 3.3.3 of [XML 1.0] and is only meant for schema languages other than Document Type Definition (DTD).
false"entities"trueEntityReference and Entity nodes in the document.falseEntityReference and Entity nodes from the document, putting the entity expansions directly in their place. Text nodes are normalized, as defined in Node.normalize. Only EntityReference nodes to non-defined entities are kept in the document, with their associated Entity nodes if any."error-handler"DOMErrorHandler object. If an error is encountered in the document, the implementation will call back the DOMErrorHandler registered using this parameter. The implementation may provide a default DOMErrorHandler object. When called, DOMError.relatedData will contain the closest node to where the error occurred. If the implementation is unable to determine the node where the error occurs, DOMError.relatedData will contain the Document node. Mutations to the document from within an error handler will result in implementation dependent behavior."infoset"truefalse: " validate-if-schema", "entities", "datatype-normalization", "cdata-sections ".This forces the following parameters to true: " namespace-declarations", "well-formed", "element-content-whitespace", " comments", "namespaces".Other parameters are not changed unless explicitly specified in the description of the parameters. Note that querying this parameter with getParameter returns true only if the individual parameters specified above are appropriately set.falseinfoset to false has no effect."namespaces"truefalse"namespace-declarations"truefalseNode.prefix) are retained even if this parameter is set to false."normalize-characters"truefalse"schema-location"DOMString object containing a list of URIs, separated by whitespaces (characters matching the nonterminal production S defined in section 2.3 [XML 1.0]), that represents the schemas against which validation should occur, i.e. the current schema. The types of schemas referenced in this list must match the type specified with schema-type, otherwise the behavior of an implementation is undefined. The schemas specified using this property take precedence to the schema information specified in the document itself. For namespace aware schema, if a schema specified using this property and a schema specified in the document instance (i.e. using the schemaLocation attribute) in a schema document (i.e. using schema import mechanisms) share the same targetNamespace, the schema specified by the user using this property will be used. If two schemas specified using this property share the same targetNamespace or have no namespace, the behavior is implementation dependent. If no location has been provided, this parameter is null.
Note: The "schema-location" parameter is ignored unless the "schema-type" parameter value is set. It is strongly recommended that Document.documentURI will be set so that an implementation can successfully resolve any external entities referenced.
"schema-type"DOMString object containing an absolute URI and representing the type of the schema language used to validate a document against. Note that no lexical checking is done on the absolute URI. If this parameter is not set, a default value may be provided by the implementation, based on the schema languages supported and on the schema language used at load time. If no value is provided, this parameter is null.
Note: For XML Schema [XML Schema Part 1] , applications must use the value "http://www.w3.org/2001/XMLSchema". For XML DTD [XML 1.0], applications must use the value "http://www.w3.org/TR/REC-xml". Other schema languages are outside the scope of the W3C and therefore should recommend an absolute URI in order to use this method.
"split-cdata-sections"trueDOMError.type equals to "cdata-sections-splitted" and DOMError.relatedData equals to the first CDATASection node in document order resulting from the split.falseCDATASection contains an unrepresentable character."validate"truetrue. This parameter will reevaluate:
Attr.specified equals to false, as specified in the description of the Attr interface;Text.isElementContentWhitespace for all Text nodes;Attr.isId for all Attr nodes;Element.schemaTypeInfo and Attr.schemaTypeInfo.Note: "validate-if-schema" and "validate" are mutually exclusive, setting one of them to true will set the other one to false. Applications should also consider setting the parameter "well-formed" to true, which is the default for that option, when validating the document.
falsetrue."validate-if-schema"truetrue.
Note: "validate-if-schema" and "validate" are mutually exclusive, setting one of them to true will set the other one to false.
falsetrue."well-formed"trueDocument.xmlVersion:
Node.nodeName contains invalid characters according to its node type and generate a DOMError of type "wf-invalid-character-in-node-name", with a DOMError.SEVERITY_ERROR severity, if necessary;Attr, Element, Comment, Text, CDATASection nodes for invalid characters and generate a DOMError of type "wf-invalid-character", with a DOMError.SEVERITY_ERROR severity, if necessary;ProcessingInstruction nodes for invalid characters and generate a DOMError of type "wf-invalid-character", with a DOMError.SEVERITY_ERROR severity, if necessary;false"element-content-whitespace"truefalseText nodes that contain whitespaces in element content, as described in [element content whitespace]. The implementation is expected to use the attribute Text.isElementContentWhitespace to determine if a Text node should be discarded or not.The resolution of the system identifiers associated with entities is done using Document.documentURI. However, when the feature "LS" defined in [DOM Level 3 Load and Save] is supported by the DOM implementation, the parameter "resource-resolver" can also be used on DOMConfiguration objects attached to Document nodes. If this parameter is set, Document.normalizeDocument() will invoke the resource resolver instead of using Document.documentURI.
See also the Document Object Model (DOM) Level 3 Core Specification.
| Modifier and Type | Method and Description |
|---|---|
boolean |
canSetParameter(java.lang.String name, java.lang.Object value)
Check if setting a parameter to a specific value is supported.
|
java.lang.Object |
getParameter(java.lang.String name)
Return the value of a parameter if known.
|
DOMStringList |
getParameterNames()
The list of the parameters supported by this
DOMConfiguration object and for which at least one value can be set by the application. |
void |
setParameter(java.lang.String name, java.lang.Object value)
Set the value of a parameter.
|
void setParameter(java.lang.String name,
java.lang.Object value)
throws DOMException
name - The name of the parameter to set.value - The new value or null if the user wishes to unset the parameter. While the type of the value parameter is defined as DOMUserData, the object type must match the type defined by the definition of the parameter. For example, if the parameter is "error-handler", the value must be of type DOMErrorHandler.DOMException - NOT_FOUND_ERR: Raised when the parameter name is not recognized.
java.lang.Object getParameter(java.lang.String name)
throws DOMException
name - The name of the parameter.null if no object has been associated or if the parameter is not supported.DOMException - NOT_FOUND_ERR: Raised when the parameter name is not recognized.
boolean canSetParameter(java.lang.String name,
java.lang.Object value)
name - The name of the parameter to check.value - An object. if null, the returned value is true.true if the parameter could be successfully set to the specified value, or false if the parameter is not recognized or the requested value is not supported. This does not change the current value of the parameter itself.DOMStringList getParameterNames()
DOMConfiguration object and for which at least one value can be set by the application. Note that this list can also contain parameter names defined outside this specification.Copyright © 2000 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a W3C Recommendation.