Re: [xsl] Function for determining one XPath as subset of another

Subject: Re: [xsl] Function for determining one XPath as subset of another
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 26 Jan 2016 19:24:07 -0000
I've always been a little frustrated that I rely heavily on equivalences like

preceding::x ===
ancestor-or-self::*/preceding-sibling::*/descendant-or-self::*

without having what I would consider a formal proof.

Michael Kay
Saxonica


> On 26 Jan 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
>
> skype: adam.retter
> tweet: adamretter
> http://www.adamretter.org.uk

Current Thread