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

Re: Function for determining one XPath as subset of a

Subject: Re: Function for determining one XPath as subset of another
From: "David Carlisle d.p.carlisle@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 26 Jan 2016 16:54:10 -0000
Re:  Function for determining one XPath as subset of  a
On 26 January 2016 at 16:15, Adam Retter adam.retter@xxxxxxxxxxxxxx <
xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:

> Given two simple XPaths, say:
>
> 1. //w
>
> 2. /x/y/z/w[@a = 'v']
>
> As a human I can very easily tell without evaluating the expressions
> that (2) will return a subset (or the same set) of the results that
> (1) would return *should* they both be evaluated.
>
> My goal here is given any two simple arbitrary XPaths expressed as
> strings, and without evaluating them against a context, to determine
> whether one would return a subset of the results of the other.
>
> I wondered if there might be an algorithm or library that someone
> already had or has written which might be able to give me the answer?
>
> I realise that I can only probably cover a subset of XPath itself, but
> it is only the path steps with predicates which I am interested in.
>
> Ideally I am looking for something in Java.
>
> --
> Adam Retter
>


I suspect it's not possible unless you restrict the paths so much that it
is easy.
In the early xslt discussions there were proposals to have some more exotic
determination of match priority but they were abandoned essentially as this
question couldn't be answered.


even given your easy example


1. //w

2. /x/y/z/w[@a = 'v']


if y is a place holder for an xpath expression rather that just literally
matching the element y then
it isn't always a subset, consider

/x/doc('y.xml')/z/w[@a = 'v']

conversely

/x/y/z/w[@a = 'v'] and /x/y[1+1=2]/z/w[@a][upper-case(@a)= 'V']

do select the same sets but to know that you have to be able to prove that
arbitrarily complicated xpath boolean expressions are true which isn't
likely to be possible.

David

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

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-2013 All Rights Reserved.