Uzly XPath
Terminologie XPath
Uzly
V XPath existuje sedm druhů uzlů: element, atribut, text, jmenný prostor, instrukce pro zpracování, komentář a uzly dokumentu.
S dokumenty XML se zachází jako se stromy uzlů. Nejvyšší prvek stromu se nazývá kořenový prvek.
Podívejte se na následující dokument 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>
Příklad uzlů v dokumentu XML výše:
<bookstore> (root element node)
<author>J K. Rowling</author> (element node)
lang="en" (attribute node)
Atomové hodnoty
Atomové hodnoty jsou uzly bez potomků nebo rodičů.
Příklad atomových hodnot:
J K. Rowling
"en"
Položky
Položky jsou atomické hodnoty nebo uzly.
Vztah uzlů
Rodič
Každý prvek a atribut má jednoho rodiče.
V následujícím příkladu; prvek knihy je nadřazený název, autor, rok a cena:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Děti
Uzly prvků mohou mít nula, jeden nebo více potomků.
V následujícím příkladu; prvky názvu, autora, roku a ceny jsou všechny potomky prvku knihy:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Sourozenci
Uzly, které mají stejného rodiče.
V následujícím příkladu; prvky názvu, autora, roku a ceny jsou všechny sourozenecké:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Předky
Rodič uzlu, rodič rodiče atd.
V následujícím příkladu; předchůdci prvku title jsou prvek kniha a prvek knihkupectví:
<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
Potomci
Děti uzlu, děti dětí atd.
V následujícím příkladu; potomky prvku knihkupectví jsou prvky kniha, název, autor, rok a cena:
<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>