Open Twilight-Shuxin opened 1 year ago
I'm not very sure whether this is considered to be a bug or not, and might not be a common expression? Therefore it might not be of great importance or require a fix. Thanks!
I can reproduce these results on 6.2.0.
A bug is a bug! Thank you for your reports!
My hunch is that this report is a variation of the earlier ones, and that solving them will solve this.
It is definitely a valid predicate. I am just not sure what it actually does :)
edit: Maybe it selects all elements, if there are less than 2 selected in the current XPath step.
in saxon <A><B></B></A>//*[last() <= 1]
returns <B/>
The results in Saxon are ... mixed https://xqueryfiddle.liberty-development.net/bdxZ98
Thank you very much!
Christian Grün was so kind to explain to me what //*[somePredicate]
actually means.
//*[last()]
is a shortcut for/descendant-or-self::node()/child::*[last()]
. It will give you the last child of each node of a document.
This can only mean that eXistdb is currently not rewriting the shortcut //*
to the correct long form.
Describe the bug
Given XML document:
(No index defined)
and XPath query:
Exist db returns empty result set
Expected behavior
Should return
as BaseX, Saxon and Oracle
To Reproduce
Context (please always complete the following information)
Additional context
conf.xml
? No