Термины 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
"ru"

Элемент

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

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

Родитель (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>