Class Document
The Document
class represents
a complete XML document including its root element,
prolog, and epilog.
- Version:
- 1.3.0
- Author:
- Elliotte Rusty Harold
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncopy()
Returns a complete copy of this document.final String
Returns the absolute URI from which this document was loaded.final DocType
Returns this document's document type declaration, or null if it doesn't have one.final Element
Returns this document's root element.final String
getValue()
Returns the value of the document as defined by XPath 1.0.removeChild
(int position) Removes the child of this document at the specified position.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.final String
toString()
Returns a string representation of this document suitable for debugging and diagnosis.final String
toXML()
Returns the actual complete, well-formed XML document as aString
.Methods inherited from class nu.xom.ParentNode
appendChild, getChild, getChildCount, indexOf, insertChild
-
Constructor Details
-
Document
Creates a new
Document
object with the specified root element.- Parameters:
root
- the root element of this document- Throws:
NullPointerException
- ifroot
is nullMultipleParentException
- ifroot
already has a parent
-
Document
Creates a copy of this document.
- Parameters:
doc
- the document to copy- Throws:
NullPointerException
- ifdoc
is null
-
-
Method Details
-
getDocType
Returns this document's document type declaration, or null if it doesn't have one.
- Returns:
- the document type declaration
- See Also:
-
setDocType
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.
- Parameters:
doctype
- the document type declaration- Throws:
MultipleParentException
- ifdoctype
belongs to another documentNullPointerException
- ifdoctype
is null
-
getRootElement
Returns this document's root element. This is guaranteed to be non-null.
- Returns:
- the root element
-
setRootElement
Replaces the current root element with a different root element.
- Parameters:
root
- the new root element- Throws:
MultipleParentException
- if root has a parentNullPointerException
- if root is null
-
setBaseURI
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.
- Specified by:
setBaseURI
in classParentNode
- Parameters:
URI
- the base URI of this document- Throws:
MalformedURIException
- ifURI
is not a legal absolute URI
-
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.
- Overrides:
getBaseURI
in classNode
- Returns:
- the base URI of this document
-
removeChild
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.- Overrides:
removeChild
in classParentNode
- Parameters:
position
- index of the node to remove- Returns:
- the node which was removed
- Throws:
IndexOutOfBoundsException
- if the index is negative or greater than the number of children of this document - 1WellformednessException
- if the index points to the root element
-
removeChild
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.- Overrides:
removeChild
in classParentNode
- Parameters:
child
- node to remove- Returns:
- the node which was removed
- Throws:
NoSuchChildException
- if the node is not a child of this nodeWellformednessException
- if child is the root element
-
replaceChild
Replaces an existing child with a new child node. If
oldChild
is not a child of this node, then aNoSuchChildException
is thrown. The root element can only be replaced by another element.- Overrides:
replaceChild
in classParentNode
- Parameters:
oldChild
- the node removed from the treenewChild
- the node inserted into the tree- Throws:
MultipleParentException
- ifnewChild
already has a parentNoSuchChildException
- ifoldChild
is not a child of this nodeNullPointerException
- if either argument is nullIllegalAddException
- ifnewChild
is an attribute or a text nodeWellformednessException
- ifnewChild
oldChild
is an element andnewChild
is not
-
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.
-
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. -
copy
Returns a complete copy of this document.
-
toString
Returns a string representation of this document suitable for debugging and diagnosis. This is not the XML representation of this document.
-