org.w3c.dom
Interface DOMConfiguration
- DomLSParser, DomLSSerializer, GnomeDocument
public interface DOMConfiguration
  The 
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-insensitive. 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"
- 
 
  
- true
- [optional] Canonicalize the document according to the rules specified in [Canonical XML], 
 such as removing the DocumentTypenode (if any) from the 
 tree, or removing superfluous namespace declarations from each element. 
 Note that this is limited to what can be represented in the DOM; in 
 particular, there is no way to specify the order of the attributes in the 
 DOM. In addition,  Setting this parameter totruewill also 
 set the state of the parameters listed below. Later changes to the state 
 of one of those parameters will revert "canonical-form" back tofalse. Parameters set tofalse: "entities", "
 normalize-characters", "cdata-sections". Parameters set totrue: "namespaces", "namespace-declarations", "well-formed", 
 "element-content-whitespace". Other parameters are not changed unless 
 explicitly specified in the description of the parameters.
- 
 false
- [required] (default)Do not canonicalize the document.
"cdata-sections"
 
 
 - 
 true
- [required] (default)Keep CDATASectionnodes in the document.
- false
- [required]Transform CDATASectionnodes in the document intoTextnodes. The newTextnode is then combined 
 with any adjacentTextnode.
"check-character-normalization"
 
 
 - true
- [optional] Check if the characters in the document are fully 
 normalized, as defined in appendix B of [XML 1.1]. When a 
 sequence of characters is encountered that fails normalization checking, 
 an error with the DOMError.typeequals to 
 "check-character-normalization-failure" is issued.
- false
- [required] (default)Do not check if characters are normalized.
"comments"
 
 
 - 
 true
- [required] (default)Keep Commentnodes in the document.
- false
- [required]Discard Commentnodes in the document.
"datatype-normalization"
 
 
 - true
- [optional] Expose schema normalized values in the tree, such as XML 
 Schema normalized values in the case of XML Schema. Since this parameter requires to have schema 
 information, the "validate" parameter will also be set to 
 true. Having this parameter activated when "validate" isfalsehas 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
- [required] (default) Do not perform schema normalization on the tree. 
"element-content-whitespace"
 
 
 - true
- [required] (default)Keep all whitespaces in the document.
- false
- [optional] Discard all Textnodes that contain whitespaces in element 
 content, as described in 
 [element content whitespace]. The implementation is expected to use the attributeText.isElementContentWhitespaceto determine if aTextnode should be discarded or not.
"entities"
 
 
 - 
 true
- [required] (default)Keep EntityReferencenodes in the document.
- 
 false
- [required] Remove all EntityReferencenodes from the document, 
 putting the entity expansions directly in their place.Textnodes are normalized, as defined inNode.normalize. Only 
 unexpanded entity references are kept in the document.
Note:  This parameter does not affectEntity nodes. 
 
 "error-handler"
 [required] Contains a 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"
 
 
 - 
 true
- [required]Keep in the document the information defined in the XML Information Set [XML Information Set]
 .This forces the following parameters to false: "
 validate-if-schema", "entities", "datatype-normalization", "cdata-sections
 ".This forces the following parameters totrue: "
 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 withgetParameterreturnstrueonly if the individual parameters specified above are 
 appropriately set.
- false
- Setting infosettofalsehas no effect.
"namespaces"
 
 
 - 
 true
- [required] (default) Perform the namespace processing as defined in . 
- false
- [optional] Do not perform the namespace processing. 
"namespace-declarations"
  This parameter has no effect if the 
 parameter "namespaces" is set to false. 
 
 - true
- [required] (default) Include namespace declaration attributes, specified or defaulted from 
 the schema, in the document. See also the sections "Declaring Namespaces" 
 in [XML Namespaces]
  and [XML Namespaces 1.1]
 .
- false
- [required]Discard all namespace declaration attributes. The namespace prefixes (
 Node.prefix) are retained even if this parameter is set tofalse.
"normalize-characters"
 
 
 - true
- [optional] Fully 
 normalized the characters in the document as defined in appendix B of [XML 1.1]. 
- 
 false
- [required] (default)Do not perform character normalization.
"schema-location"
 [optional] Represent a 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"
 [optional] Represent a 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"
 
 
 - 
 true
- [required] (default)Split CDATA sections containing the CDATA section termination marker 
 ']]>'. When a CDATA section is split a warning is issued with a 
 DOMError.typeequals to"cdata-sections-splitted"andDOMError.relatedDataequals to the firstCDATASectionnode in document order resulting from the split.
- 
 false
- [required]Signal an error if a CDATASectioncontains an 
 unrepresentable character.
"validate"
 
 
 - true
- [optional] Require the validation against a schema (i.e. XML schema, DTD, any 
 other type or representation of schema) of the document as it is being 
 normalized as defined by [XML 1.0]. If 
 validation errors are found, or no schema was found, the error handler is 
 notified. Schema-normalized values will not be exposed according to the 
 schema in used unless the parameter "datatype-normalization" is 
 true.  This parameter will reevaluate:
 -  Attribute nodes with 
 Attr.specifiedequals tofalse, as specified in 
 the description of theAttrinterface;
-  The value of the 
 attribute Text.isElementContentWhitespacefor allTextnodes;
-  The value of the attribute 
 Attr.isIdfor allAttrnodes;
-  The attributes 
 Element.schemaTypeInfoandAttr.schemaTypeInfo.
 Note:  "validate-if-schema" and "validate" are mutually 
 exclusive, setting one of them totruewill set the other 
 one tofalse. Applications should also consider setting the 
 parameter "well-formed" totrue, which is the default for 
 that option, when validating the document.
- false
- [required] (default) Do not accomplish schema processing, including the internal subset 
 processing. Default attribute values information are kept. Note that 
 validation might still happen if "validate-if-schema" is true.
"validate-if-schema"
 
 
 - true
- [optional]Enable validation only if a declaration for the document element can be 
 found in a schema (independently of where it is found, i.e. XML schema, 
 DTD, or any other type or representation of schema). If validation is 
 enabled, this parameter has the same behavior as the parameter "validate" 
 set to true. 
 Note:  "validate-if-schema" and "validate" are mutually 
 exclusive, setting one of them totruewill set the other 
 one tofalse.
- false
- [required] (default) No schema processing should be performed if the document has a schema, 
 including internal subset processing. Default attribute values 
 information are kept. Note that validation must still happen if "validate
 " is true.
"well-formed"
 
 
 - true
- [required] (default) Check if all nodes are XML well formed according to the XML version in 
 use in Document.xmlVersion:
 -  check if the attribute 
 Node.nodeNamecontains invalid characters according to its 
 node type and generate aDOMErrorof type"wf-invalid-character-in-node-name", with aDOMError.SEVERITY_ERRORseverity, if necessary;
-  check if 
 the text content inside Attr,Element,Comment,Text,CDATASectionnodes 
 for invalid characters and generate aDOMErrorof type"wf-invalid-character", with aDOMError.SEVERITY_ERRORseverity, if necessary;
-  check if 
 the data inside ProcessingInstructionnodes for invalid 
 characters and generate aDOMErrorof type"wf-invalid-character", with aDOMError.SEVERITY_ERRORseverity, if necessary;
 
- 
 false
- [optional] Do not check for XML well-formedness. 
 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.
- DOM Level 3
|  boolean | canSetParameter(String name, Object value) Check if setting a parameter to a specific value is supported.
 | 
|  Object | getParameter(String name)  Return the value of a parameter if known.
 | 
|  DOMStringList | getParameterNames()  The list of the parameters supported by this 
 DOMConfigurationobject and for which at least one value 
 can be set by the application.
 | 
|  void | setParameter(String name, Object value) Set the value of a parameter.
 | 
canSetParameter
public boolean canSetParameter(String name,
                               Object value) Check if setting a parameter to a specific value is supported.
- name- The name of the parameter to check.
- value- An object. if- null, the returned value is- true.
- trueif the parameter could be successfully set 
to the specified value, or- falseif the parameter is 
not recognized or the requested value is not supported. This does 
not change the current value of the parameter itself.
getParameter
public Object getParameter(String name)
            throws DOMException  Return the value of a parameter if known. 
- name- The name of the parameter.
- The current object associated with the specified parameter or 
nullif no object has been associated or if the 
parameter is not supported.
- DOMException- NOT_FOUND_ERR: Raised when the parameter name is not recognized.
getParameterNames
public 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. Note that this list can also contain 
 parameter names defined outside this specification. 
setParameter
public void setParameter(String name,
                         Object value)
            throws DOMException Set the value of a parameter.
- name- The name of the parameter to set.
- value- The new value or- nullif 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.
 NOT_SUPPORTED_ERR: Raised when the parameter name is recognized 
but the requested value cannot be set.
 TYPE_MISMATCH_ERR: Raised if the value type for this parameter 
name is incompatible with the expected value type.