Is it possible to use Xpath to select a range of nodes.
<chapter>
<title>X</title>
<para>
<para>
<title>Y</title>
</chapter>
I would like an Xpath statement that would select //title[1]
THROUGH //title[2] and include all nodes between. Is this possible?
I'm assuming that <para> represents <para>....</para>, i.e. a complete
element.
If you know that the nodes are siblings, and you are positioned on their
parent, then you can do
(title[1] , *[. >> title[1] and . << title[2]] , title[2])
If they aren't siblings and you are positioned on the root, then you can do
for $T1 in (//title)[1], $T2 in (//title)[2]
return ($T1, //*[. >> $T1 and . << $T2], $T2)
That's XPath 2.0; in 1.0 it's more tricky.
Michael Kay
http://www.saxonica.com/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--