[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Xpath and Ranges

Subject: RE: Xpath and Ranges
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 2 Aug 2006 18:20:28 +0100
RE:  Xpath and Ranges
> 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/

Current Thread

Back To School Sale!

Save 30% off all Stylus Studio 2008 Products when you purchase from our Online Shop.

Offer ends August 31, 2008.

Coupon Code
TRTY-C4JV-OFF

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2007 All Rights Reserved.