RE: [xsl] Relative XPATH between 2 nodes

Subject: RE: [xsl] Relative XPATH between 2 nodes
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 28 Jan 2005 15:31:51 -0000
> If the input is just the Xpaths then clearly one algorithm  
> is to delete
> "equivalent" steps from the start of each path,

Only if the paths select single nodes. If the paths are

a/b/c[@x=3]/d

and

a/b/c[@x=4]/d

then you can't return

../../c[@x=4]/d

unless you know there is only one b.

The problem is seriously under-specified.

Michael Kay
http://www.saxonica.com/


 and then to  enough
> ../ to the second for each of the remaing steps in the first so
> 
> /a/b[2]/c/d
> /a/b[2]/e/f
> 
> goes in the first stage to
> c/d
> e/f
> 
> and so finally returns a relative path of
> ../../e/f
> 
> 
> However given 
> id('x')
> id('y')
> 
> you'd just have to return
> id('y')
> 
> On the other hand, if you also input a particular document into teh
> algorithm and ask for a relative Xpath that gets from one to teh other
> _in that document_ you may well be able to return something else, eg
> *[1]
> if the structrure was
> <foo id="x"><bar id="y"/>....
> 
> David
> 
> ______________________________________________________________
> __________
> This e-mail has been scanned for all viruses by Star. The
> service is powered by MessageLabs. For more information on a proactive
> anti-virus service working around the clock, around the globe, visit:
> http://www.star.net.uk
> ______________________________________________________________
> __________

Current Thread