Термины XQuery

В XQuery есть семь типов узлов: элементы, атрибуты, текст, пространства имен, обработные инструкции, комментарии и узел документа (или корневой узел).

Термины XQuery

Узел

В XQuery есть семь типов узлов: элементы, атрибуты, текст, пространства имен, обработные инструкции, комментарии и узел документа (или корневой узел). XML-документ рассматривается как дерево узлов. Корень дерева называется узлом документа или корневым узлом.

Смотрите следующий XML-документ:

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author> 
  <year>2005</year>
  <price>29.99</price>
</book>
</bookstore>

Примеры узлов в данном XML-документе:

<bookstore>  (узел документа)
<author>J K. Rowling</author>  (узел элемента)
lang="en"  (узел атрибута)

Базовые значения (или атомарные значения, Atomic value)

Базовые значения - это ноды без родителей или детей.

Пример базового значения:

J K. Rowling
"en"

Элемент

Элементы могут быть базовыми значениями или узлами.

Отношения узлов

Родитель (Parent)

У каждого элемента и атрибута есть родитель.

В следующем примере, элемент book является родителем элементов title, author, year и price:

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

Дети (Children)

Элементы могут иметь нулевых, одного или нескольких детей.

В следующем примере, элементы title, author, year и price являются детьми элемента book:

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

Сиблинги (Sibling)

Ноды, имеющие общего родителя.

В следующем примере, элементы title, author, year и price являются сиблингами:

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

Предки (Ancestor)

Родители某个节点的父节点,父节点的父节点,等等。

В следующем примере, предки элемента title - это элементы book и bookstore:

<bookstore>
<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>
</bookstore>

Потомки (Descendant)

Дети某个节点的子节点,子节点的子节点,等等。

В следующем примере, потомки 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>