XPath Axes
The XML Example Document
We will use the following XML document in the examples below.
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
|
XPath Axes
An axis defines a node-set relative to the current node.
| AxisName |
Result |
| ancestor |
Selects all ancestors (parent, grandparent, etc.) of the current node |
| ancestor-or-self |
Selects all ancestors (parent, grandparent, etc.) of the current node
and the current node itself |
| attribute |
Selects all attributes of the current node |
| child |
Selects all children of the current node |
| descendant |
Selects all descendants (children, grandchildren, etc.) of the current node |
| descendant-or-self |
Selects all descendants (children, grandchildren, etc.) of the current node
and the current node itself |
| following |
Selects everything in the document after the closing tag of the current node |
| following-sibling |
Selects all siblings after the current node |
| namespace |
Selects all namespace nodes of the current node |
| parent |
Selects the parent of the current node |
| preceding |
Selects everything in the document that is before the start tag of the current node |
| preceding-sibling |
Selects all siblings before the current node |
| self |
Selects the current node |
Location Path Expression
A location path can be absolute or relative.
An absolute location path starts with a slash ( / ) and a relative location
path does not. In both cases the location path consists of one or more
steps, each separated by a slash:
An absolute location path:
/step/step/...
A relative location path:
step/step/...
|
Each step is evaluated against the nodes in the current node-set.
A step consists of:
- an axis (defines the tree-relationship between the selected nodes and the current node)
- a node-test (identifies a node within an axis)
- zero or more predicates (to further refine the selected
node-set)
The syntax for a location step is:
axisname::nodetest[predicate]
|
Examples
| Example |
Result |
| child::book |
Selects all book nodes that are children of the current node |
| attribute::lang |
Selects the lang attribute of the current node |
| child::* |
Selects all children of the current node |
| attribute::* |
Selects all attributes of the current node |
| child::text() |
Selects all text child nodes of the current node |
| child::node() |
Selects all child nodes of the current node |
| descendant::book |
Selects all book descendants of the current node |
| ancestor::book |
Selects all book ancestors of the current node |
| ancestor-or-self::book |
Selects all book ancestors of the current node - and the
current as well if it is a book node |
| child::*/child::price |
Selects all price grandchildren of the current node |
 |
 |
 |
 |
|
The Ektron Intranet
lets you do everything you need to do on your corporate intranet and everything you want to do... all with just one application.
What can you do with the Ektron Intranet? |
 |
Navigate through content, documents, assets, colleagues and workgroups quickly and intuitively with enterprise search |
 |
Communicate with friends and colleagues with forums, message boards and corporate blogging using the new Social Networking Platform |

|
Utilize the extensive out-of-the box features or customize your site through Ektron CMS400.NET's open architecture |
 |
Promote collaboration in your organization through project workspaces where others can efficiently find information and work together |
 |
Author/edit content, manage navigation, menus, audit trails, workflow and approvals with the best in breed Content Management |
|
|
|
|
See why there are 20,000+ Ektron integrations worldwide.
|
|
 |
TAKE THE VIDEO TOUR |
 |
or download a FREE TRIAL today. |
|