xsl-list
[Top] [All Lists]

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

2016-01-26 13:24:12
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(_dot_)retter(_at_)googlemail(_dot_)com 
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> 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

--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--

<Prev in Thread] Current Thread [Next in Thread>