You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Alexander Klimetschek (JIRA)" <ji...@apache.org> on 2010/10/21 21:14:18 UTC

[jira] Commented: (JCR-2797) Xpath: pure descendant-or-self axis does not work

    [ https://issues.apache.org/jira/browse/JCR-2797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12923575#action_12923575 ] 

Alexander Klimetschek commented on JCR-2797:
--------------------------------------------

Ok, // is actually /descendant-or-self::node()/, so this forces a child step at the end, that's why //node() doesn't work.

Simply /jcr:root/content/descendant-or-self::node() should do it (afaiu the Xpath 2.0 specification). For this Jackrabbit returns only the direct child nodes of /content, but not /content itself nor any sub nodes below the children (eg. /content/child/sub/child etc.).

> Xpath: pure descendant-or-self axis does not work
> -------------------------------------------------
>
>                 Key: JCR-2797
>                 URL: https://issues.apache.org/jira/browse/JCR-2797
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core, xpath
>            Reporter: Alexander Klimetschek
>
> A pure descendant-or-self axis "//" does not work, albeit it is defined in JCR 1.0, section 6.6.4.6. Running this query 
> /jcr:root/content// 
> returns an error: 
> Encountered "$" at line 1, column 38. Was expecting one of: "or" ... "and" ... "div" ... "idiv" ... "mod" ... "*" ... "return" ... "to" ... "where" ... "intersect" ... "union" ... "except" ... ... ... "/" ... "//" ... "=" ... "is" ... "!=" ... "<=" ... "<<" ... ">=" ... ">>" ... "eq" ... "ne" ... "gt" ... "ge" ... "lt" ... "le" ... "<" ... ">" ... "-" ... "+" ... "|" ... "[" ... ... ... ... ... "," ... ... ... for statement: for $v in /jcr:root/content// return $v 
> It only works in combination with another location step, like /jcr:root/content//* or /jcr:root/content//test. Tested this on a 2.2 snapshot, but I think it was actually never supported so far. 
> The use case comes up when searching for a property in a subtree of a certain node, where you want to include a property on that node directly as well, eg. /jcr:root/content//[@my:prop = 'value']

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.