Each location step can contain zero or more predicates that further restrict
which nodes an XPointer points to. In most non-trivial cases a predicate is
necessary to pick the one node from a node set that you want.
Each predicate contains an
expression in square brackets ([]
) that further winnows the node
set. This allows an XPointer to select nodes according to many different
criteria. For example, you can select:
All elements that have a specified attribute
All elements that have a specified attribute with a specified value
The first element that contains a specified child element
An element whose text content includes a specified string
All elements that are not the first or last children of their parents
All elements whose value is a number
All elements whose value is a number greater than 100
These are just a small sampling of the selections that predicates make possible.