XQuery Terminology
In XQuery, there are seven types of nodes: elements, attributes, text, namespaces, processing instructions, comments, and document nodes (also called root nodes).
XQuery Terminology
Node
In XQuery, there are seven types of nodes: elements, attributes, text, namespaces, processing instructions, comments, and document (root) nodes. XML documents are treated as a tree of nodes. The root of the tree is called the document node or root node.
Please see the following XML document:
<bookstore>
<book>
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
Examples of nodes in the XML document above:
<author>J K. Rowling</author> (element node)
lang="en" (attribute node)
Atomic values are nodes without a parent or children.
Examples of atomic values:
"en"
Item
Items are atomic values or nodes.
Node Relationships
Parent
Every element and attribute has a parent.
In the following example, the book element is the parent of the title, author, year, and price elements:
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Children
Element nodes can have zero, one, or more children.
In the following example, the title, author, year, and price elements are all children of the book element:
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Sibling
Nodes that have the same parent.
In the following example, the title, author, year, and price elements are all siblings:
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Ancestor
A node's parent, parent's parent, and so on.
In the following example, the ancestors of the title element are the book element and the bookstore element:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
Descendant
A node's children, children's children, and so on.
In the following example, the descendants of bookstore are the book, title, author, year, and price elements:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>