Syntax
- All ancestors of a node
- /path to the node/ancestor::node()
- A specific ancestor of a node
- /path to the node/ancestor::ancestor_name
- Parent of a node
- /path to the node/parent::node()
- Following siblings of a node
- /path to the node/following-sibling::node()
- A specific sibling following a node
- /path to the node/following-sibling::sibling_name
- Preceding siblings of a node
- /path to the node/preceding-sibling::node()
- A specific sibling preceding a node
- /path to the node/preceding-sibling::sibling_name
- All immediate child nodes of a node
- /path to the node/child::node()
- A specific immediate child node of a node
- /path to the node/child::chid_name
- All the descendants of a node
- /path to the node/descendant::node()
- All specific descendants of a node
- /path the to node/descendant::descendant_name
Parameters
| Axis | selects |
|---|
| ancestor | all the ancestor nodes |
| parent | parent node |
| following-sibling | siblings following the node |
| preceding-sibling | siblings preceding the node |
| child | immediate children |
| descendant | all the descendant irrespective of the nesting level |
These axes can be used in combination with other functions to suit our needs.