9.3.1. Building Compound Location Paths from Location Steps with /
Location steps can be combined with a
forward slash (/) to make a
compound location path. Each step in the path is relative to the one
that preceded it. If the path begins with /, then
the first step in the path is relative to the root node. Otherwise,
it's relative to the context node. For example,
consider the XPath expression
/people/person/name/first_name. This begins at the
root node, then selects all people element
children of the root node, then all person element
children of those nodes, then all name children of
those nodes, and finally all first_name children
of those nodes. Applied to Example 9-1, it indicates
these two elements:
<first_name>Alan</first_name>
<first_name>Richard</first_name>
To indicate only the textual content of those two nodes, we have to
go one step further. The XPath expression
/people/person/name/first_name/text( ) selects the
strings "Alan" and
"Richard" from Example 9-1.
These two XPath expressions both began with /, so
they're absolute location paths that start at
the root. Relative location paths can also count
down from the context node. For example, the XPath expression
person/@id selects the id
attribute of the person child elements of the
context node.