public class Document extends ParentNode
The Document
class represents
a complete XML document including its root element,
prolog, and epilog.
Constructor and Description |
---|
Document(Document doc)
Creates a copy of this document.
|
Document(Element root)
Creates a new
Document object with the
specified root element. |
Modifier and Type | Method and Description |
---|---|
Document | copy()
Returns a complete copy of this document.
|
String | getBaseURI()
Returns the absolute URI from which this document was loaded.
|
DocType | getDocType()
Returns this document's document type declaration,
or null if it doesn't have one.
|
Element | getRootElement()
Returns this document's root element.
|
String | getValue()
Returns the value of the document as defined by XPath 1.0.
|
Node | removeChild(int position)
Removes the child of this document at the specified position.
|
Node | removeChild(Node child)
Removes the specified child from this document.
|
void | replaceChild(Node oldChild,
Node newChild)
Replaces an existing child with a new child node.
|
void | setBaseURI(String URI)
Sets the URI from which this document was loaded, and
against which relative URLs in this document will be resolved.
|
void | setDocType(DocType doctype)
Sets this document's document type declaration.
|
void | setRootElement(Element root)
Replaces the current root element with a different root element.
|
String | toString()
Returns a string representation of this document suitable
for debugging and diagnosis.
|
String | toXML()
Returns the actual complete, well-formed XML document as a
String . |
appendChild, getChild, getChildCount, indexOf, insertChild
public Document(Element root)
Creates a new Document
object with the
specified root element.
root
- the root element of this documentNullPointerException
- if root
is nullMultipleParentException
- if root
already
has a parentpublic Document(Document doc)
Creates a copy of this document.
doc
- the document to copyNullPointerException
- if doc
is nullpublic final DocType getDocType()
Returns this document's document type declaration, or null if it doesn't have one.
setDocType(nu.xom.DocType)
public void setDocType(DocType doctype)
Sets this document's document type declaration. If this document already has a document type declaration, then it's inserted at that position. Otherwise, it's inserted at the beginning of the document.
doctype
- the document type declarationMultipleParentException
- if doctype
belongs
to another documentNullPointerException
- if doctype
is nullpublic final Element getRootElement()
Returns this document's root element. This is guaranteed to be non-null.
public void setRootElement(Element root)
Replaces the current root element with a different root element.
root
- the new root elementMultipleParentException
- if root has a parentNullPointerException
- if root is nullpublic void setBaseURI(String URI)
Sets the URI from which this document was loaded, and against which relative URLs in this document will be resolved. Setting the base URI to null or the empty string removes any existing base URI.
setBaseURI
in class ParentNode
URI
- the base URI of this documentMalformedURIException
- if URI
is
not a legal absolute URIpublic final String getBaseURI()
Returns the absolute URI from which this document was loaded. This method returns the empty string if the base URI is not known; for instance if the document was created in memory with a constructor rather than by parsing an existing document.
getBaseURI
in class Node
public Node removeChild(int position)
Removes the child of this document at the specified position.
Indexes begin at 0 and count up to one less than the number
of children of this document. The root element cannot be
removed. Instead, use setRootElement
to replace
the existing root element with a different element.
removeChild
in class ParentNode
position
- index of the node to removeIndexOutOfBoundsException
- if the index is negative or
greater than the number of children of this document - 1WellformednessException
- if the index points
to the root elementpublic Node removeChild(Node child)
Removes the specified child from this document.
The root element cannot be removed.
Instead, use setRootElement
to replace the
existing root element with a different element.
removeChild
in class ParentNode
child
- node to removeNoSuchChildException
- if the node is not a
child of this nodeWellformednessException
- if child is the root elementpublic void replaceChild(Node oldChild, Node newChild)
Replaces an existing child with a new child node.
If oldChild
is not a child of this node,
then a NoSuchChildException
is thrown.
The root element can only be replaced by another element.
replaceChild
in class ParentNode
oldChild
- the node removed from the treenewChild
- the node inserted into the treeMultipleParentException
- if newChild
already
has a parentNoSuchChildException
- if oldChild
is not a child of this nodeNullPointerException
- if either argument is nullIllegalAddException
- if newChild
is an
attribute or a text nodeWellformednessException
- if newChild
oldChild
is an element and
newChild
is notpublic final String getValue()
Returns the value of the document as defined by XPath 1.0. This is the same as the value of the root element, which is the complete PCDATA content of the root element, without any tags, comments, or processing instructions after all entity and character references have been resolved.
public final String toXML()
Returns the actual complete, well-formed XML document as a
String
. Significant white space is preserved.
Insignificant white space in tags, the prolog, the epilog,
and the internal DTD subset is not preserved.
Entity and character references are not preserved.
The entire document is contained in this one string.
public Document copy()
Returns a complete copy of this document.
public final String toString()
Returns a string representation of this document suitable for debugging and diagnosis. This is not the XML representation of this document.
toString
in class Object
Copyright 2002-2023 Elliotte Rusty Harold
elharo@ibiblio.org