XPath Nodes

In XPath zijn er zeven soorten knopen: elementen, eigenschappen, tekst, namespaces, instructies, annotaties en documentknopen (of ook wel wortelknoop genoemd).

XPath-termen

Knoop (Node)

In XPath zijn er zeven soorten knopen: elementen, eigenschappen, tekst, namespaces, instructies, annotaties en documentknopen (of ook wel wortelknoop genoemd). Een XML-document wordt behandeld als een knooppuntboom. De wortel van de boom wordt de documentknoop of wortelknoop genoemd.

Bekijk onderstaand XML-document:

<?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>

Voorbeelden van knopen in het bovenstaande XML-document:

<bookstore> (documentknoop)
<author>J K. Rowling</author> (elementknoop)
lang="en" (eigenschapsknoop) 

Basiswaarden (of ook wel atoomwaarden genoemd, Atomic value)

Basiswaarden zijn knopen zonder ouder of kinderen.

Voorbeelden van basiswaarden:

J K. Rowling
"en"

Item (Item)

Items zijn basiswaarden of nodes.

Node Relaties

Ouder (Parent)

Elk element en attribuut heeft een ouder.

In het volgende voorbeeld is het book-element de ouder van title, author, year en price-elementen:

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

Kind (Children)

Een elementnode kan geen kinderen, een kind of meerdere kinderen hebben.

In het volgende voorbeeld zijn title, author, year en price-elementen kinderen van het book-element:

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

Medebroeder (Sibling)

Noden met dezelfde ouder

In het volgende voorbeeld zijn title, author, year en price-elementen medebroeders:

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

Voorouder (Ancestor)

Ouder, ouder van ouder, enz.

In het volgende voorbeeld zijn de voorouders van het title-element book en bookstore-elementen:

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

Nakomeling (Descendant)

Zoon, zoon van zoon, enz.

In het volgende voorbeeld zijn de nakomelingen van bookstore book, title, author, year en price-elementen:

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