Условия XQuery
Терминология XQuery
Узлы
В XQuery существует семь типов узлов: элементы, атрибуты, текст, пространство имен, инструкция по обработке, комментарий и узел документа (корневой).
XML-документы рассматриваются как деревья узлов. Корень дерева называется узлом документа (или корневым узлом).
Посмотрите на следующий XML-документ:
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
Пример узлов в XML-документе выше:
<bookstore> (root node)
<author>J K. Rowling</author> (element node)
lang="en" (attribute node)
Атомные значения
Атомарные значения — это узлы без дочерних или родительских элементов.
Пример атомарных значений:
J K. Rowling
"en"
Предметы
Элементы являются атомарными значениями или узлами.
Связь узлов
Родитель
У каждого элемента и атрибута есть один родитель.
В следующем примере; элемент book является родителем заголовка, автора, года и цены:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Дети
Узлы элементов могут иметь ноль, одного или нескольких дочерних элементов.
В следующем примере; элементы title, author, year и price являются дочерними элементами элемента book:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Братья и сестры
Узлы, имеющие одного и того же родителя.
В следующем примере; элементы title, author, year и price являются родственными элементами:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Предки
Родитель узла, родитель родителя и т. д.
В следующем примере; предками элемента title являются элемент book и элемент bookstore:
<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
Потомки
Дочерние элементы узла, дочерние дочерние элементы и т. д.
В следующем примере; потомками элемента bookstore являются элементы book, title, author, year и price:
<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>