XPath Axes
The XPath specification defines thirteen different axes; each axis contains various nodes. The nodes that are in a given axis depend on the context node. All 13 axes, excerpted from our more involved discussion in Section 3.1 in Chapter 3, are listed here.
-
childaxis Contains the children of the context node. As we’ve already mentioned, the XPath expressions
child::lines/child::lineandlines/lineare equivalent. If an XPath expression (such as/sonnet) doesn’t have an axis specifier, thechildaxis is used by default.-
parentaxis Contains the parent of the context node, if there is one. (If the context node is the root node, the parent axis returns an empty node-set.) This axis can be abbreviated with a double period (
..). The expressionsparent::sonnetand../sonnetare equivalent. If the context node does not have a<sonnet>element as its parent, these XPath expressions return an empty node-set.-
selfaxis Contains the context node itself. The
selfaxis can be abbreviated with a single period (.).-
attributeaxis Contains the attributes of the context node. If the context node is not an element node, this axis is empty. The
attributeaxis can be abbreviated with the at sign (@). The expressionsattribute::typeand@typeare equivalent.-
ancestoraxis Contains the parent of the context node, the parent’s parent, and so on. The
ancestoraxis always contains the root node, unless the context node is the root node.-
ancestor-or-selfaxis Contains the context node, its parent, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access