All Implemented Interfaces:
Node
All Known Implementing Classes:
SVGDocument, HTMLDocument, HTMLDocument
Document
interface represents the entire HTML or XML
document. Conceptually, it is the root of the document tree, and provides
the primary access to the document's data.
Since elements, text nodes, comments, processing instructions, etc.
cannot exist outside the context of a Document
, the
Document
interface also contains the factory methods needed
to create these objects. The Node
objects created have a
ownerDocument
attribute which associates them with the
Document
within whose context they were created.
See also the Document Object Model (DOM) Level 3 Core Specification.
Method from org.w3c.dom.Document Detail: |
---|
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.
Note: Since it does not create new nodes unlike the
|
Attr of the given name. Note that the
Attr instance can then be set on an Element
using the setAttributeNode method.
To create an attribute with a qualified name and namespace URI, use the createAttributeNS method. |
Per [XML Namespaces] , applications must use the value null as the
namespaceURI parameter for methods if they wish to have
no namespace. |
CDATASection node whose value is the specified
string. |
Comment node given the specified string. |
DocumentFragment object. |
Element interface, so attributes
can be specified directly on the returned object.
In addition, if there are known attributes with default values, Attr nodes representing them are automatically created
and attached to the element.
To create an element with a qualified name and namespace URI, use the createElementNS method. |
Per [XML Namespaces] , applications must use the value null as the
namespaceURI parameter for methods if they wish to have no namespace. |
EntityReference object. In addition, if the
referenced entity is known, the child list of the
EntityReference node is made the same as that of the
corresponding Entity node.
Note: If any descendant of the |
ProcessingInstruction node given the specified
name and data strings. |
Text node given the specified string. |
DocumentType )
associated with this document. For XML documents without a document
type declaration this returns null . For HTML documents,
a DocumentType object may be returned, independently of
the presence or absence of document type declaration in the HTML
document.
This provides direct access to the DocumentType node,
child node of this Document . This node can be set at
document creation time and later changed through the use of child
nodes manipulation methods, such as Node.insertBefore ,
or Node.replaceChild . Note, however, that while some
implementations may instantiate different types of
Document objects supporting additional features than the
"Core", such as "HTML" [DOM Level 2 HTML]
, based on the DocumentType specified at creation time,
changing it afterwards is very unlikely to result in a change of the
features supported. |
|
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
.
Beware that when the 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 . |
Document.normalizeDocument()
is invoked. |
Element that has an ID attribute with the
given value. If no such element exists, this returns null
. If more than one element has an ID attribute with that value, what
is returned is undefined.
The DOM implementation is expected to use the attribute Attr.isId to determine if an attribute is of type ID.
Note: Attributes with the name "ID" or "id" are not of type ID unless so defined. |
NodeList of all the Elements in
document order with a given tag name and are contained in the
document. |
NodeList of all the Elements with a
given local name and namespace URI in document order. |
DOMImplementation object that handles this document. A
DOM application may use objects from multiple implementations. |
null when it is not known, such
as when the Document was created in memory. |
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. |
null when
unspecified or when it is not known, such as when the
Document was created in memory. |
false when
unspecified.
Note: No verification is done on the value when setting
this attribute. Applications should use
|
"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 .
DOM applications may use the 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 . |
parentNode is null ).
For all nodes, importing a node creates a node object owned by the importing document, with attribute values identical to the source node's nodeName and nodeType , plus the
attributes related to namespaces (prefix ,
localName , and namespaceURI ). As in the
cloneNode operation, the source node is not altered.
User data associated to the imported node is not carried over.
However, if any UserDataHandlers has been specified
along with the associated data these handlers will be called with the
appropriate parameters before this method returns.
Additional information is copied as appropriate to the nodeType , attempting to mirror the behavior expected if
a fragment of XML or HTML source was copied from one document to
another, recognizing that the two documents may have different DTDs
in the XML case. The following list describes the specifics for each
type of node.
|
EntityReference nodes and normalizes Text
nodes, as defined in the method Node.normalize() .
Otherwise, the actual result depends on the features being set on the 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(); Mutation events, when supported, are generated to reflect the changes occurring on the document. If errors occur during the invocation of this method, such as an attempt to update a read-only node or a 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. |
ELEMENT_NODE or
ATTRIBUTE_NODE .
When possible this simply changes the name of the given node, otherwise this creates a new node with the specified name and replaces the existing node with the new node as described below. If simply changing the name of the given node is not possible, the following operations are performed: a new node is created, any registered event listener is registered on the new node, any user data attached to the old node is removed from that node, the old node is removed from its parent if it has one, the children are moved to the new node, if the renamed node is an Element its
attributes are moved to the new node, the new node is inserted at the
position the old node used to have in its parent's child nodes list
if it has one, the user data that was attached to the old node is
attached to the new node.
When the node being renamed is an Element only the
specified attributes are moved, default attributes originated from
the DTD are updated according to the new element name. In addition,
the implementation may update default attributes from other schemas.
Applications should use Document.normalizeDocument() to
guarantee these attributes are up-to-date.
When the node being renamed is an Attr that is
attached to an Element , the node is first removed from
the Element attributes map. Then, once renamed, either
by modifying the existing node or creating a new one as described
above, it is put back.
In addition, |
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
.
Beware that when the 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 . |
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. |
false when
unspecified.
Note: No verification is done on the value when setting
this attribute. Applications should use
|
"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 .
DOM applications may use the 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 . |