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 |
Learn how your website performs under various load conditions
|
|
WAPT
is a load, stress and performance testing tool for websites and web-based applications.
In contrast to "800-pound gorilla" load testing tools, it is designed to minimize the learning
curve and give you an ability to create a heavy load from a regular workstation.
WAPT is able to generate up to 3000 simultaneously acting virtual users using standard hardware configuration.
Virtual users in each profile are fully customizable. Basic and NTLM authentication methods are supported.
Graphs and reports are shown in real-time at different levels of detail, thus helping to manage the testing process.
Download the free 30-day trial!
|
|