public class DocumentOverNodeInfo extends NodeOverNodeInfo implements Document
node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
Constructor and Description |
---|
DocumentOverNodeInfo() |
Modifier and Type | Method and Description |
---|---|
Node |
adoptNode(Node source)
Attempts to adopt a node from another document to this document.
|
Attr |
createAttribute(String name)
Create an
Attr of the given name. |
Attr |
createAttributeNS(String namespaceURI,
String qualifiedName)
Create an attribute of the given qualified name and namespace URI.
|
CDATASection |
createCDATASection(String data)
Create a
CDATASection node whose value is the specified
string. |
Comment |
createComment(String data)
Create a
Comment node given the specified string. |
DocumentFragment |
createDocumentFragment()
Creates an empty
DocumentFragment object. |
Element |
createElement(String tagName)
Creates an element of the type specified.
|
Element |
createElementNS(String namespaceURI,
String qualifiedName)
Create an element of the given qualified name and namespace URI.
|
EntityReference |
createEntityReference(String name)
Create an
EntityReference object. |
ProcessingInstruction |
createProcessingInstruction(String target,
String data)
Create a
ProcessingInstruction node given the specified
name and data strings. |
Text |
createTextNode(String data)
Create a
Text node given the specified string. |
DocumentType |
getDoctype()
Get the Document Type Declaration (see
DocumentType )
associated with this document. |
Element |
getDocumentElement()
Get the outermost element of a document.
|
String |
getDocumentURI()
The location of the document or
null if undefined or if
the Document was created using
DOMImplementation.createDocument . |
DOMConfiguration |
getDomConfig()
The configuration used when
Document.normalizeDocument()
is invoked. |
Element |
getElementById(String elementId)
Return the
Element whose ID is given by
elementId . |
protected static NodeList |
getElementsByTagName(NodeInfo node,
String tagname) |
NodeList |
getElementsByTagName(String tagname)
Return a
NodeList of all the Elements with
a given tag name in the order in which they are encountered in a
preorder traversal of the Document tree. |
static NodeList |
getElementsByTagNameNS(NodeInfo node,
String namespaceURI,
String localName) |
NodeList |
getElementsByTagNameNS(String namespaceURI,
String localName)
Return a
NodeList of all the Elements with
a given local name and namespace URI in the order in which they are
encountered in a preorder traversal of the Document tree. |
DOMImplementation |
getImplementation()
Get a
DOMImplementation object that handles this document. |
String |
getInputEncoding()
An attribute specifying the encoding used for this document at the time
of the parsing.
|
boolean |
getStrictErrorChecking()
An attribute specifying whether error checking is enforced or not.
|
String |
getXmlEncoding()
An attribute specifying, as part of the
XML declaration,
the encoding of this document.
|
boolean |
getXmlStandalone()
An attribute specifying, as part of the
XML declaration,
whether this document is standalone.
|
String |
getXmlVersion()
An attribute specifying, as part of the XML declaration, the version number of this document.
|
Node |
importNode(Node importedNode,
boolean deep)
Import a node from another document to this document.
|
void |
normalizeDocument()
This method acts as if the document was going through a save and load
cycle, putting the document in a "normal" form.
|
Node |
renameNode(Node n,
String namespaceURI,
String qualifiedName)
Rename an existing node of type
ELEMENT_NODE or
ATTRIBUTE_NODE . |
void |
setDocumentURI(String documentURI)
The location of the document or
null if undefined or if
the Document was created using
DOMImplementation.createDocument . |
void |
setStrictErrorChecking(boolean strictErrorChecking)
An attribute specifying whether error checking is enforced or not.
|
void |
setXmlStandalone(boolean xmlStandalone)
An attribute specifying, as part of the XML declaration, whether this document is standalone.
|
void |
setXmlVersion(String xmlVersion)
An attribute specifying, as part of the XML declaration, the version number of this document.
|
appendChild, cloneNode, compareDocumentPosition, disallowUpdate, equals, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUnderlyingNodeInfo, getUserData, hasAttributes, hasChildNodes, hashCode, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData, wrap
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
public DocumentType getDoctype()
DocumentType
)
associated with this document. For HTML documents as well as XML
documents without a document type declaration this returns
null
. DOM method.getDoctype
in interface Document
public DOMImplementation getImplementation()
DOMImplementation
object that handles this document.
A DOM application may use objects from multiple implementations.
DOM method.getImplementation
in interface Document
public Element createElement(String tagName) throws DOMException
createElement
in interface Document
DOMException
public DocumentFragment createDocumentFragment()
DocumentFragment
object.createDocumentFragment
in interface Document
DocumentFragment
.
DOM method: returns null, because the Saxon tree is not updateable.public Text createTextNode(String data)
Text
node given the specified string.
DOM method: returns null, because the Saxon tree is not updateable.createTextNode
in interface Document
data
- The data for the node.Text
object.public Comment createComment(String data)
Comment
node given the specified string.
DOM method: returns null, because the Saxon tree is not updateable.createComment
in interface Document
data
- The data for the node.Comment
object.public CDATASection createCDATASection(String data) throws DOMException
CDATASection
node whose value is the specified
string.
DOM method: always fails, because the Saxon tree is not updateable.createCDATASection
in interface Document
data
- The data for the CDATASection
contents.CDATASection
object.DOMException
- NOT_SUPPORTED_ERR: Raised if this document is an HTML document.public ProcessingInstruction createProcessingInstruction(String target, String data) throws DOMException
ProcessingInstruction
node given the specified
name and data strings.
DOM method: returns null, because the Saxon tree is not updateable.createProcessingInstruction
in interface Document
target
- The target part of the processing instruction.data
- The data for the node.ProcessingInstruction
object.DOMException
- INVALID_CHARACTER_ERR: Raised if the specified target contains an
illegal character.
public Attr createAttribute(String name) throws DOMException
Attr
of the given name.
DOM method: always fails, because the Saxon tree is not updateable.createAttribute
in interface Document
name
- The name of the attribute.Attr
object with the nodeName
attribute set to name
, and localName
,
prefix
, and namespaceURI
set to
null
.DOMException
- INVALID_CHARACTER_ERR: Raised if the specified name contains an
illegal character.public EntityReference createEntityReference(String name) throws DOMException
EntityReference
object.
DOM method: returns null, because the Saxon tree is not updateable.createEntityReference
in interface Document
name
- The name of the entity to reference.EntityReference
object.DOMException
- INVALID_CHARACTER_ERR: Raised if the specified name contains an
illegal character.
public NodeList getElementsByTagName(String tagname)
NodeList
of all the Elements
with
a given tag name in the order in which they are encountered in a
preorder traversal of the Document
tree.getElementsByTagName
in interface Document
tagname
- The name of the tag to match on. The special value "*"
matches all tags.NodeList
object containing all the matched
Elements
.public Element getDocumentElement()
getDocumentElement
in interface Document
public Node importNode(Node importedNode, boolean deep) throws DOMException
importNode
in interface Document
DOMException
public Element createElementNS(String namespaceURI, String qualifiedName) throws DOMException
createElementNS
in interface Document
namespaceURI
- The namespace URI of the element to create.qualifiedName
- The qualified name of the element type to
instantiate.Element
objectDOMException
public Attr createAttributeNS(String namespaceURI, String qualifiedName) throws DOMException
createAttributeNS
in interface Document
namespaceURI
- The namespace URI of the attribute to create.qualifiedName
- The qualified name of the attribute to
instantiate.Attr
object.DOMException
public NodeList getElementsByTagNameNS(String namespaceURI, String localName)
NodeList
of all the Elements
with
a given local name and namespace URI in the order in which they are
encountered in a preorder traversal of the Document
tree.
DOM method.getElementsByTagNameNS
in interface Document
namespaceURI
- The namespace URI of the elements to match on.
The special value "*" matches all namespaces. The value null matches
elements not in any namespacelocalName
- The local name of the elements to match on. The
special value "*" matches all local names.NodeList
object containing all the matched
Elements
.public static NodeList getElementsByTagNameNS(NodeInfo node, String namespaceURI, String localName)
public Element getElementById(String elementId)
Element
whose ID
is given by
elementId
. If no such element exists, returns
null
. Behavior is not defined if more than one element
has this ID
. The DOM implementation must have
information that says which attributes are of type ID. Attributes with
the name "ID" are not of type ID unless so defined. Implementations
that do not know whether attributes are of type ID or not are expected
to return null
.getElementById
in interface Document
elementId
- The unique id
value for an element.public String getInputEncoding()
null
when it is not known, such
as when the Document
was created in memory.getInputEncoding
in interface Document
public String getXmlEncoding()
null
when
unspecified or when it is not known, such as when the
Document
was created in memory.getXmlEncoding
in interface Document
public boolean getXmlStandalone()
false
when
unspecified.
Note: No verification is done on the value when setting
this attribute. Applications should use
Document.normalizeDocument()
with the "validate"
parameter to verify if the value matches the validity
constraint for standalone document declaration as defined in [XML 1.0].
getXmlStandalone
in interface Document
public void setXmlStandalone(boolean xmlStandalone) throws DOMException
false
when
unspecified.
Note: No verification is done on the value when setting
this attribute. Applications should use
Document.normalizeDocument()
with the "validate"
parameter to verify if the value matches the validity
constraint for standalone document declaration as defined in [XML 1.0].
setXmlStandalone
in interface Document
DOMException
- NOT_SUPPORTED_ERR: Raised if this document does not support the
"XML" feature.public String getXmlVersion()
"1.0"
. If this document does not support the "XML"
feature, the value is always null
. Changing this
attribute will affect methods that check for invalid characters in
XML names. Application should invoke
Document.normalizeDocument()
in order to check for
invalid characters in the Node
s that are already part of
this Document
.
DOMImplementation.hasFeature(feature, version)
method
with parameter values "XMLVersion" and "1.0" (respectively) to
determine if an implementation supports [XML 1.0]. DOM
applications may use the same method with parameter values
"XMLVersion" and "1.1" (respectively) to determine if an
implementation supports [XML 1.1]. In both
cases, in order to support XML, an implementation must also support
the "XML" feature defined in this specification. Document
objects supporting a version of the "XMLVersion" feature must not
raise a NOT_SUPPORTED_ERR
exception for the same version
number when using Document.xmlVersion
.getXmlVersion
in interface Document
public void setXmlVersion(String xmlVersion) throws DOMException
"1.0"
. If this document does not support the "XML"
feature, the value is always null
. Changing this
attribute will affect methods that check for invalid characters in
XML names. Application should invoke
Document.normalizeDocument()
in order to check for
invalid characters in the Node
s that are already part of
this Document
.
DOMImplementation.hasFeature(feature, version)
method
with parameter values "XMLVersion" and "1.0" (respectively) to
determine if an implementation supports [XML 1.0]. DOM
applications may use the same method with parameter values
"XMLVersion" and "1.1" (respectively) to determine if an
implementation supports [XML 1.1]. In both
cases, in order to support XML, an implementation must also support
the "XML" feature defined in this specification. Document
objects supporting a version of the "XMLVersion" feature must not
raise a NOT_SUPPORTED_ERR
exception for the same version
number when using Document.xmlVersion
.setXmlVersion
in interface Document
DOMException
- NOT_SUPPORTED_ERR: Raised if the version is set to a value that is
not supported by this Document
or if this document
does not support the "XML" feature.public boolean getStrictErrorChecking()
false
, the implementation is free to not test
every possible error case normally defined on DOM operations, and not
raise any DOMException
on DOM operations or report
errors while using Document.normalizeDocument()
. In case
of error, the behavior is undefined. This attribute is
true
by default.getStrictErrorChecking
in interface Document
public void setStrictErrorChecking(boolean strictErrorChecking)
false
, the implementation is free to not test
every possible error case normally defined on DOM operations, and not
raise any DOMException
on DOM operations or report
errors while using Document.normalizeDocument()
. In case
of error, the behavior is undefined. This attribute is
true
by default.setStrictErrorChecking
in interface Document
public String getDocumentURI()
null
if undefined or if
the Document
was created using
DOMImplementation.createDocument
. No lexical checking is
performed when setting this attribute; this could result in a
null
value returned when using Node.baseURI
.
Document
supports the feature
"HTML" [DOM Level 2 HTML]
, the href attribute of the HTML BASE element takes precedence over
this attribute when computing Node.baseURI
.getDocumentURI
in interface Document
public void setDocumentURI(String documentURI)
null
if undefined or if
the Document
was created using
DOMImplementation.createDocument
. No lexical checking is
performed when setting this attribute; this could result in a
null
value returned when using Node.baseURI
.
Document
supports the feature
"HTML" [DOM Level 2 HTML]
, the href attribute of the HTML BASE element takes precedence over
this attribute when computing Node.baseURI
.setDocumentURI
in interface Document
public Node adoptNode(Node source) throws DOMException
ownerDocument
of the source
node, its children, as well as the attached attribute nodes if there
are any. If the source node has a parent it is first removed from the
child list of its parent. This effectively allows moving a subtree
from one document to another (unlike importNode()
which
create a copy of the source node instead of moving it). When it
fails, applications should use Document.importNode()
instead. Note that if the adopted node is already part of this
document (i.e. the source and target document are the same), this
method still has the effect of removing the source node from the
child list of its parent, if any. The following list describes the
specifics for each type of node.
ownerElement
attribute is set to null
and
the specified
flag is set to true
on the
adopted Attr
. The descendants of the source
Attr
are recursively adopted.Document
nodes cannot be adopted.DocumentType
nodes cannot be adopted.Entity
nodes cannot be adopted.EntityReference
node itself is adopted, the
descendants are discarded, since the source and destination documents
might have defined the entity differently. If the document being
imported into provides a definition for this entity name, its value
is assigned.Notation
nodes cannot be
adopted.Note: Since it does not create new nodes unlike the
Document.importNode()
method, this method does not raise
an INVALID_CHARACTER_ERR
exception, and applications
should use the Document.normalizeDocument()
method to
check if an imported name is not an XML name according to the XML
version in use.
adoptNode
in interface Document
source
- The node to move into this document.null
if this operation
fails, such as when the source node comes from a different
implementation.DOMException
- NOT_SUPPORTED_ERR: Raised if the source node is of type
DOCUMENT
, DOCUMENT_TYPE
.
public DOMConfiguration getDomConfig()
Document.normalizeDocument()
is invoked.getDomConfig
in interface Document
public void normalizeDocument()
EntityReference
nodes and normalizes Text
nodes, as defined in the method Node.normalize()
.
Document.domConfig
object and governing what
operations actually take place. Noticeably this method could also
make the document namespace well-formed according to the algorithm
described in , check the character normalization, remove the
CDATASection
nodes, etc. See
DOMConfiguration
for details.
// Keep in the document the information defined // in the XML Information Set (Java example) DOMConfiguration docConfig = myDocument.getDomConfig(); docConfig.setParameter("infoset", Boolean.TRUE); myDocument.normalizeDocument();
Node.nodeName
contains an invalid character according to the XML version in use,
errors or warnings (DOMError.SEVERITY_ERROR
or
DOMError.SEVERITY_WARNING
) will be reported using the
DOMErrorHandler
object associated with the "error-handler
" parameter. Note this method might also report fatal errors (
DOMError.SEVERITY_FATAL_ERROR
) if an implementation
cannot recover from an error.normalizeDocument
in interface Document
public Node renameNode(Node n, String namespaceURI, String qualifiedName) throws DOMException
ELEMENT_NODE
or
ATTRIBUTE_NODE
. Not supported in this implementationrenameNode
in interface Document
n
- The node to rename.namespaceURI
- The new namespace URI.qualifiedName
- The new qualified name.DOMException
Copyright (c) 2004-2014 Saxonica Limited. All rights reserved.