## org.dom4j
Interface Document

All Superinterfaces:
  Branch, Cloneable, Node

All Known Implementing Classes:
  AbstractDocument

public interface Document
extends Branch

`Document` defines an XML Document.

Version:
  $Revision: 1.14 $
Author:
  James Strachan

Field Summary

Fields inherited from interface org.dom4j.Node
`ANY_NODE, ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_REFERENCE_NODE, MAX_NODE_TYPE, NAMESPACE_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE, UNKNOWN_NODE`

Method Summary
`Document` `addComment(String comment)` Adds a new `Comment` node with the given text to this branch.
`Document` `addDocType(String name, String publicId, String systemId)` Adds a DOCTYPE declaration to this document
`Document` `addProcessingInstruction(String target, Map data)` Adds a processing instruction for the given target
`Document` `addProcessingInstruction(String target, String text)` Adds a processing instruction for the given target
`DocumentType` `getDocType()` DOCUMENT ME!
`EntityResolver` `getEntityResolver()` DOCUMENT ME!
`Element` `getRootElement()` Returns the root `Element`for this document.
`String` `getXMLEncoding()` Return the encoding of this document, as part of the XML declaration This is `null` when unspecified or when it is not known (such as when the Document was created in memory) or when the implementation does not support this operation.
`void` `setDocType(DocumentType docType)` Sets the DocumentType property
`void` `setEntityResolver(EntityResolver entityResolver)` Sets the EntityResolver used to find resolve URIs such as for DTDs, or XML Schema documents
`void` `setRootElement(Element rootElement)` Sets the root element for this document
`void` `setXMLEncoding(String encoding)` Sets the encoding of this document as it will appear in the XML declaration part of the document.

Methods inherited from interface org.dom4j.Branch
`add, add, add, add, addElement, addElement, addElement, appendContent, clearContent, content, elementByID, indexOf, node, nodeCount, nodeIterator, normalize, processingInstruction, processingInstructions, processingInstructions, remove, remove, remove, remove, removeProcessingInstruction, setContent, setProcessingInstructions`

Methods inherited from interface org.dom4j.Node
`accept, asXML, asXPathResult, clone, createXPath, detach, getDocument, getName, getNodeType, getNodeTypeName, getParent, getPath, getPath, getStringValue, getText, getUniquePath, getUniquePath, hasContent, isReadOnly, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setName, setParent, setText, supportsParent, valueOf, write`

Method Detail

### getRootElement

    public Element getRootElement()

  Returns the root `Element`for this document.

  Returns:
    the root element for this document

### setRootElement

    public void setRootElement(Element rootElement)

  Sets the root element for this document

  Parameters:
    `rootElement` - the new root element for this document

### addComment

    public Document addComment(String comment)

  Adds a new `Comment` node with the given text to this branch.

  Parameters:
    `comment` - is the text for the `Comment` node.
  Returns:
    this `Document` instance.

### addProcessingInstruction

    public Document addProcessingInstruction(String target,
                                             String text)

  Adds a processing instruction for the given target

  Parameters:
    `target` - is the target of the processing instruction
    `text` - is the textual data (key/value pairs) of the processing instruction
  Returns:
    this `Document` instance.

### addProcessingInstruction

    public Document addProcessingInstruction(String target,
                                             Map data)

  Adds a processing instruction for the given target

  Parameters:
    `target` - is the target of the processing instruction
    `data` - is a Map of the key / value pairs of the processing instruction
  Returns:
    this `Document` instance.

### addDocType

    public Document addDocType(String name,
                               String publicId,
                               String systemId)

  Adds a DOCTYPE declaration to this document

  Parameters:
    `name` - is the name of the root element
    `publicId` - is the PUBLIC URI
    `systemId` - is the SYSTEM URI
  Returns:
    this `Document` instance.

### getDocType

    public DocumentType getDocType()

  DOCUMENT ME!

  Returns:
    the DocumentType property

### setDocType

    public void setDocType(DocumentType docType)

  Sets the DocumentType property

  Parameters:
    `docType` - DOCUMENT ME!

### getEntityResolver

    public EntityResolver getEntityResolver()

  DOCUMENT ME!

  Returns:
    the EntityResolver used to find resolve URIs such as for DTDs, or XML Schema documents

### setEntityResolver

    public void setEntityResolver(EntityResolver entityResolver)

  Sets the EntityResolver used to find resolve URIs such as for DTDs, or XML Schema documents

  Parameters:
    `entityResolver` - DOCUMENT ME!

### getXMLEncoding

    public String getXMLEncoding()

  Return the encoding of this document, as part of the XML declaration This is `null` when unspecified or when it is not known (such as when the Document was created in memory) or when the implementation does not support this operation.

  The way this encoding is retrieved also depends on the way the XML source is parsed. For instance, if the SAXReader is used and if the underlying XMLReader implementation support the `org.xml.sax.ext.Locator2` interface, the result returned by this method is specified by the `getEncoding()` method of that interface.

  Returns:
    The encoding of this document, as stated in the XML declaration, or `null` if unknown.
  Since:
    1.5

### setXMLEncoding

    public void setXMLEncoding(String encoding)

  Sets the encoding of this document as it will appear in the XML declaration part of the document.

  Parameters:
    `encoding` - the encoding of the document
  Since:
    1.6

Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.