Терминология XPath
Вершины
В XPath, существует семь видов узлов: элемент, атрибут, текст, пространство имен, обработка-инструкции, комментарии и узлы документа.
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 element node)
<author>J K. Rowling</author> (element node)
lang="en" (attribute node)
Атомные значения
Атомные значения узлы, не имеющие детей или родителей.
Пример атомарных значений:
J K. Rowling
"en"
Предметы
Элементы являются атомарными значениями или узлов.
Отношения Узлов
родитель
Каждый элемент и атрибут имеет один из родителей.
В следующем примере; книга элемент является родителем название, автор, год, и цена:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Дети
Узлы элементов могут иметь ноль, один или более детей.
В следующем примере; название, автор, год, и элементы цен все дети книги элемента:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Братья и сестры
Узлы, которые имеют один и тот же родитель.
В следующем примере; название, автор, год, и элементы цен, все братья и сестры:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Предки
Родитель узла, родитель родителя и т.д.
В следующем примере; предки элемента заголовка являются книга элемент и книжный элемент:
<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
Потомки
дети ноды, дети детей, и т.д.
В следующем примере; потомки книжного элемента являются книги, название, автор, год, и цена элементов:
<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>