Each XML document has exactly one single root element. It encloses all the other elements and is, therefore, the sole parent element to all the other elements. ROOT elements are also called document elements. In HTML, the root element is the <html>
element.[1]
The World Wide Web Consortium defines not only the specifications for XML itself,[2] but also the DOM, which is a platform- and language-independent standard object model for representing XML documents. DOM Level 1 defines, for every XML document, an object representation of the document
itself and an attribute or property on the document called documentElement
. This property provides access to an object of type element
which directly represents the root element of the document.[3]
<parent>
<child>content</child>
<child attribute="att"/>
</parent>
There can be other XML nodes outside of the root element.[4] In particular, the root element may be preceded by a prolog, which itself may consist of an XML declaration, optional comments, processing instructions and whitespace, followed by an optional DOCTYPE declaration and more optional comments, processing instructions and whitespace. After the root element, there may be further optional comments, processing instructions and whitespace within the document.[5]
Within the root element, apart from any number of attributes and other elements, there may also be more optional text, comments, processing instructions and whitespace.
A more expanded example of an XML document follows, demonstrating some of these extra nodes along with a single rootElement
element.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE example [<!ENTITY copy "©">]>
<rootElement attribute="xyz">
<contentElement/>
</rootElement>
<!-- comment nodes may appear almost anywhere -->