Węzły XPath

W XPath istnieje siedem typów węzłów: element, atrybut, tekst, przestrzeń nazw, instrukcja przetwarzania, komentarz oraz węzeł dokumentu (lub korzeń).

Terminy XPath

Węzeł (Node)

W XPath istnieje siedem typów węzłów: element, atrybut, tekst, przestrzeń nazw, instrukcja przetwarzania, komentarz oraz węzeł dokumentu (lub korzeń). Dokument XML jest traktowany jako drzewo węzłów. Korzeń drzewa jest nazywany węzłem dokumentu lub korzeniem.

Zobacz poniższy dokument 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>

Przykłady węzłów w powyższym dokumencie XML:

<bookstore> (węzeł dokumentu)
<author>J K. Rowling</author> (węzeł elementu)
lang="en" (węzeł atrybutu) 

Wartość podstawowa (lub atomowa wartość, Atomic value)

Wartości podstawowe to węzły bez rodzica lub dzieci.

Przykład wartości podstawowej:

J K. Rowling
"en"

Projekt (Item)

Projekt to wartość podstawowa lub węzeł.

Związki węzłów

Rodzic (Parent)

Każdy element oraz atrybut ma jednego rodzica.

W poniższym przykładzie, element book jest rodzicem elementów title, author, year oraz price:

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

Dzieci (Children)

Element węzła może mieć zero, jeden lub wiele dzieci.

W poniższym przykładzie, elementy title, author, year oraz price są dziećmi elementu book:

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

Rodzeństwo (Sibling)

Węzły o tym samym rodzicu

W poniższym przykładzie, elementy title, author, year oraz price są rodzeństwem:

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

Przodkowie (Ancestor)

Rodzice węzła, rodzice rodziców, itp.

W poniższym przykładzie, przodkowie elementu title to element book oraz bookstore:

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

Potomkowie (Descendant)

Dzieci węzła, dzieci dzieci, itp.

W poniższym przykładzie, potomkowie bookstore to elementy book, title, author, year oraz price:

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