Q:

What is the difference between root node, root element and document element in XML?

I am reading W3C XML Path Language (XPath)
Version 1.0 Section 5.1 Root Node,

The root node is the root of the tree. A root node does not occur except as the root of the tree. The element node for the document element is a child of the root node. The root node also has as children processing instruction and comment nodes for processing instructions and comments that occur in the prolog and after the end of the document element.

and I'm confused about the root node, document element terminologies, as well as root element that sometimes people use.
If I have a simple XML doc like this:
<a>
    <b1>
        <c></c>
    </b1>

    <b2></b2>
</a>

What is the root node, root element and document element? Are those all <a>?

A:

In your XML:

a is the document element, sometimes called the root element, which is selected via /a.
The parent of a is the document's root node, which is selected via /.

