XPath Axes contain the directive following::
to obtain the set of all following nodes.
Given for instance the following file:
<?xml version="1.0" encoding="UTF-8"?>
<foo>
<a/>
<b/> <!-- access 1 -->
<a/>
<ca/>
<a/>
<b/>
<a/>
<a/>
<cb/>
<b/> <!-- access 2 -->
</foo>
One can for instance use following::a/preceding::b[1]
to access access 1
given <ca>
. In other words one wish to access:
the "last"
<b>
before the next<a>
.
If the current node is however <cb>
, that trick doesn't work anymore, since there is no following::a
. Is there a following-or-end directive (or something equivalent) that in that case returns the last tag (</foo>
), such that access 2
can be obtained from <cb/>
?
Such following-or-next should be read as:
The next
<a>
or the end of the file in case this doesn't exist.
No comments:
Post a Comment