On 20.08.2017 15:29, nikos dimitrakas wrote:
I discovered a strange behavior i BaseX (8.6.5):
But when I evaluate //S/@k/parent::*[.//@m="V"] or //S/@k/..[.//@m="V"] it does not work. There is no error, just no result.
When I run your path expression directly against your posted sample with
<Root> <B> <S k="AAA"> <P m="V" a="1000"/> <P m="V" a="800"/> <P m="G" a="1000"/> <P m="E" a="900"/> </S> <S k="AA"> <P m="V" a="2000"/> <P m="G" a="2500"/> <P m="E" a="2900"/> </S> <S k="D"> <P m="V" a="4000"/> </S> <S k="C"> <P m="V" a="4000"/> <P m="G" a="4000"/> </S> </B> <B> <S k="AAA"> <P m="V" a="1200"/> <P m="V" a="800"/> <P m="G" a="1200"/> </S> <S k="AA"> <P m="V" a="2900"/> </S> <S k="C"> <P m="G" a="5400"/> </S> </B> <B> <S k="AAA"> <P m="V" a="1100"/> <P m="E" a="900"/> </S> <S k="AA"> <P m="V" a="2700"/> <P m="G" a="2500"/> </S> </B> </Root>//S/@k/..[.//@m="V"]
in the BaseX GUI I get the following result
<S k="AAA"> <P m="V" a="1000"/> <P m="V" a="800"/> <P m="G" a="1000"/> <P m="E" a="900"/> </S> <S k="AA"> <P m="V" a="2000"/> <P m="G" a="2500"/> <P m="E" a="2900"/> </S> <S k="D"> <P m="V" a="4000"/> </S> <S k="C"> <P m="V" a="4000"/> <P m="G" a="4000"/> </S> <S k="AAA"> <P m="V" a="1200"/> <P m="V" a="800"/> <P m="G" a="1200"/> </S> <S k="AA"> <P m="V" a="2900"/> </S> <S k="AAA"> <P m="V" a="1100"/> <P m="E" a="900"/> </S> <S k="AA"> <P m="V" a="2700"/> <P m="G" a="2500"/> </S>
So how do you run your query when you say you get an empty result?