jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcel Reutegger <marcel.reuteg...@gmx.net>
Subject Re: Multiple jcr:deref in query
Date Wed, 22 Aug 2007 09:42:35 GMT
Michael Korat wrote:
> I wrote a query that should return all the nodes that are somehow 
> referenced by PageA, and contain the wanted value:
> /jcr:root/Content//element(*, my:LinkToDoc)/jcr:deref(@RefToDoc, '*')
>   //element(*, my:DataLink)/jcr:deref(@RefToData,
> '*')[jcr:contains(.,'some value')]
> Unfortunately, the result of this is always zero. If I execute the 
> query without the jcr:contains constraint at the end I get the expected 
> set of DataNodes back:
> /jcr:root/Content//element(*, my:LinkToDoc)/jcr:deref(@RefToDoc, '*')
>   //element(*, my:DataLink)/jcr:deref(@RefToData, '*')

does //*[jcr:contains(.,'some value')] return any result?

> My question is if there is a limitation to the use of multiple jcr:deref
> in a single query, or mixing jcr:deref with constraints or if there
> is another convenient (and fast) way to do such a query?

no, there's not limit. you can use as many jcr:derefs as you like.

as an alternative you can also search for the data nodes directly and then do 
the dereferencing manually using the API (Node.getReferences()).


View raw message