XPath Nodes

In XPath zijn er zeven soorten knopen: element, eigenschap, tekst, naamruimte, procesinstructie, opmerking en document knoop (of de wortelknoop). Een XML-document wordt behandeld als een knooppuntboom. De wortel van de boom wordt genoemd de documentknoop of de wortelknoop.

XPath-termen

Knoop (Node)

In XPath zijn er zeven soorten knopen: element, eigenschap, tekst, naamruimte, procesinstructie, opmerking en document (wurzel) knoop. Een XML-document wordt behandeld als een knooppuntboom. De wortel van de boom wordt genoemd de documentknoop of de wortelknoop.

Zie hieronder deze 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) 

Basiswaarde (of atomaire waarde, Atomic value)

Basiswaarden zijn knopen zonder ouder of kinderen.

Voorbeeld van basiswaarden:

J K. Rowling
"en"

Item (Item)

Een item is een basiswaarde of een knoop.

Knopenrelaties

Ouder (Parent)

Elk element en eigenschap heeft een ouder.

In het volgende voorbeeld is het element book 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>

Kinderen (Children)

Een element kan geen kinderen, één kind of meerdere kinderen hebben.

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

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

Medebroeder (Sibling)

Knopen die dezelfde ouder hebben

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)

De ouder van een bepaalde knoop, de ouder van de ouder, enz.

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

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

Nakomeling (Descendant)

De nakomeling van een bepaalde knoop, de nakomeling van de nakomeling, enz.

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

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