On 26 Jan 2016, at 19:29, Wolfgang Laun
wolfgang(_dot_)laun(_at_)gmail(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
If you can't prove it: claim it is an axiom ;-)
That's exactly what the XQuery formal semantics does, as it happens.
For the record, the actual theorem is: for any nodeTest T, the expressions
preceding::T
and
ancestor-or-self::*/preceding-sibling::node()/descendant-or-self::T
are equivalent; that is, for any context node, the two expressions deliver the
same sequence of nodes as the result.
Michael Kay
Saxonica
-W
On 26 January 2016 at 20:24, Michael Kay mike(_at_)saxonica(_dot_)com
<mailto:mike(_at_)saxonica(_dot_)com>
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com
<mailto:xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com>> wrote:
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
<mailto:adam(_dot_)retter(_at_)googlemail(_dot_)com>
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com
<mailto: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 <http://www.adamretter.org.uk/>
XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
EasyUnsubscribe <-list/293509> (by email <>)
--~----------------------------------------------------------------
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
--~--