nu.xom

Class Document


public class Document
extends ParentNode

The Document class represents a complete XML document including its root element, prolog, and epilog.
Version:
1.1b5
Author:
Elliotte Rusty Harold

Constructor Summary

Document(Document doc)
Creates a copy of this document.
Document(Element root)
Creates a new Document object with the specified root element.

Method Summary

Node
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.

Methods inherited from class nu.xom.ParentNode

appendChild, getChild, getChildCount, indexOf, insertChild, removeChild, removeChild, replaceChild, setBaseURI

Methods inherited from class nu.xom.Node

copy, detach, equals, getBaseURI, getChild, getChildCount, getDocument, getParent, getValue, hashCode, query, query, toXML

Constructor Details

Document

public Document(Document doc)
Creates a copy of this document.
Parameters:
doc - the document to copy

Document

public Document(Element root)
Creates a new Document object with the specified root element.
Parameters:
root - the root element of this document

Method Details

copy

public Node copy()
Returns a complete copy of this document.
Overrides:
copy in interface Node
Returns:
a deep copy of this Document object

getBaseURI

public 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.
Overrides:
getBaseURI in interface Node
Returns:
the base URI of this document

getDocType

public final DocType getDocType()
Returns this document's document type declaration, or null if it doesn't have one.
Returns:
the document type declaration

getRootElement

public final Element getRootElement()
Returns this document's root element. This is guaranteed to be non-null.
Returns:
the root element

getValue

public 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.
Overrides:
getValue in interface Node
Returns:
value of the root element of this document

removeChild

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.
Overrides:
removeChild in interface ParentNode
Parameters:
position - index of the node to remove
Returns:
the node which was removed

removeChild

public 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.
Overrides:
removeChild in interface ParentNode
Parameters:
child - node to remove
Returns:
the node which was removed

replaceChild

public 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.
Overrides:
replaceChild in interface ParentNode
Parameters:
oldChild - the node removed from the tree
newChild - the node inserted into the tree

setBaseURI

public 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.
Overrides:
setBaseURI in interface ParentNode
Parameters:
URI - the base URI of this document

setDocType

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.
Parameters:
doctype - the document type declaration

setRootElement

public void setRootElement(Element root)
Replaces the current root element with a different root element.
Parameters:
root - the new root element

toString

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.
Returns:
a non-XML string representation of this document

toXML

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.
Overrides:
toXML in interface Node
Returns:
a string containing this entire XML document

Copyright 2002-2009 Elliotte Rusty Harold
elharo@metalab.unc.edu