XML DOM - Document object

From http://www.w3schools.com (Copyright Refsnes Data)

# XML DOM - The Document Object

The Document object represents the entire XML document.

## The Document object

The Document object is the root of a document tree, and gives us the primary access to the document's data.

Since element nodes, text nodes, comments, processing instructions, etc. cannot exist outside the document, the Document object also contains methods to create these objects. The Node objects have a ownerDocument property which associates them with the Document where they were created.

IE: Internet Explorer, F: Firefox, O: Opera, W3C: World Wide Web Consortium (Internet Standard)

### Document Object Properties

Property | Description | IE | F | O | W3C
--- | --- | --- | --- | --- | ---
async | Specifies whether downloading of an XML file should be handled asynchronously or not | 5 | 1.5 | 9 | No
childNodes | Returns a NodeList of child nodes for the document | 5 | 1 | 9 | Yes
doctype | Returns the Document Type Declaration associated with the document | 6 | 1 | 9 | Yes
documentElement | Returns the root node of the document | 5 | 1 | 9 | Yes
documentURI | Sets or returns the location of the document | No | 1 | 9 | Yes
domConfig | Returns the configuration used when normalizeDocument() is invoked |  |  | No | Yes
firstChild | Returns the first child node of the document | 5 | 1 | 9 | Yes
implementation | Returns the DOMImplementation object that handles this document | No | 1 | 9 | Yes
inputEncoding | Returns the encoding used for the document (when parsing) | No | 1 | No | Yes
lastChild | Returns the last child node of the document | 5 | 1 | 9 | Yes
nodeName | Returns the name of a node (depending on its type) | 5 | 1 | 9 | Yes
nodeType | Returns the node type of a node | 5 | 1 | 9 | Yes
nodeValue | Sets or returns the value of a node (depending on its type) | 5 | 1 | 9 | Yes
strictErrorChecking | Sets or returns whether error-checking is enforced or not | No | 1 | No | Yes
text | Returns the text of a node and its descendants. IE-only property | 5 | No | No | No
xml | Returns the XML of a node and its descendants. IE-only property | 5 | No | No | No
xmlEncoding | Returns the XML encoding of the document | No | 1 | No | Yes
xmlStandalone | Sets or returns whether the document is standalone | No | 1 | No | Yes
xmlVersion | Sets or returns the XML version of the document | No | 1 | No | Yes

### Document Object Methods

Method | Description | IE | F | O | W3C
--- | --- | --- | --- | --- | ---
adoptNode(sourcenode) | Adopts a node from another document to this document, and returns the adopted node |  |  | No | Yes
createAttribute(name) | Creates an attribute node with the specified name, and returns the new Attr object | 6 | 1 | 9 | Yes
createAttributeNS(uri,name) | Creates an attribute node with the specified name and namespace, and returns the new Attr object |  |  | 9 | Yes
createCDATASection() | Creates a CDATA section node | 5 | 1 | 9 | Yes
createComment() | Creates a comment node | 6 | 1 | 9 | Yes
createDocumentFragment() | Creates an empty DocumentFragment object, and returns it | 5 | 1 | 9 | Yes
createElement() | Creates an element node | 5 | 1 | 9 | Yes
createElementNS() | Creates an element node with a specified namespace | No | 1 | 9 | Yes
createEntityReference(name) | Creates an EntityReference object, and returns it | 5 |  | No | Yes
createProcessingInstruction(target,data) | Creates a ProcessingInstruction object, and returns it | 5 |  | 9 | Yes
createTextNode() | Creates a text node | 5 | 1 | 9 | Yes
getElementById(id) | Returns the element that has an ID attribute with the given value. If no such element exists, it returns null | 5 | 1 | 9 | Yes
getElementsByTagName() | Returns a NodeList of all elements with a specified name | 5 | 1 | 9 | Yes
getElementsByTagNameNS() | Returns a NodeList of all elements with a specified name and namespace | No | 1 | 9 | Yes
importNode(nodetoimport,deep) | Imports a node from another document to this document. This method creates a new copy of the source node. If the deep parameter is set to true, it imports all children of the specified node. If set to false, it imports only the node itself. This method returns the imported node |  |  | 9 | Yes
normalizeDocument() |  |  |  | No | Yes
renameNode() | Renames an element or attribute node |  |  | No | Yes

From http://www.w3schools.com (Copyright Refsnes Data)