You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by hsp <pi...@ibest.com.br> on 2007/01/27 01:01:16 UTC
search with axis child support
Hi all;
I would to get some help with this;
I need to search nodes that have child nodes of certain type.
For example, let's suppose I have the following hierarchy of node type:
x:base
|
x:file
|
x:atach
So, the nodetype x:file has a child of nt:resource mandatory (jcr:content)
and the x:atach inherits the child definition of your supernode, ok.
So, I want to know the x:base, or whatever, that have any child node of type
x:file (and descendents), because x:file and descents have the child
jcr:content for sure, in xpath or sql, I would appreciate very much. Follow
some explanation about:
________________
|Node1(x:base)|
|______________|
|
|____________
| _______|_______
| |Node2(x:base)|
| |______________|
_______|_______ |___________
|Node3(x:base)| ________|_______
|______________| |Node4(x:file) |
| |______________|
_______|________
|Node5(x:atach)|
|______________|
This hierarchy of nodes created can represent my need. So, with a search up
to Node1, I would like to get Node3 and Node2, because both have child nodes
like type x:file.
In time, I need the child nodes of type x:file in results too.
Hope this could do the right explanation.
Helio.
Re: search with axis child support
Posted by Marcel Reutegger <ma...@gmx.net>.
With the new support for the child axis in jackrabbit 1.2.1 you can execute the
following query:
//element(*, x:base)[jcr:content/@jcr:primaryType = 'x:file' or
jcr:content/@jcr:primaryType = 'x:atach']
For your usecase the following query would probably be more useful, but is
currently not supported by jackrabbit:
//element(*, x:base)[jcr:content/element(*, x:file')]
regards
marcel
ps: for future questions on how to use jackrabbit please write to the jackrabbit
user list.
hsp wrote:
> Hi all;
> I would to get some help with this;
> I need to search nodes that have child nodes of certain type.
> For example, let's suppose I have the following hierarchy of node type:
>
> x:base
> |
> x:file
> |
> x:atach
>
> So, the nodetype x:file has a child of nt:resource mandatory (jcr:content)
> and the x:atach inherits the child definition of your supernode, ok.
> So, I want to know the x:base, or whatever, that have any child node of type
> x:file (and descendents), because x:file and descents have the child
> jcr:content for sure, in xpath or sql, I would appreciate very much. Follow
> some explanation about:
> ________________
> |Node1(x:base)|
> |______________|
> |
> |____________
> | _______|_______
> | |Node2(x:base)|
> | |______________|
> _______|_______ |___________
> |Node3(x:base)| ________|_______
> |______________| |Node4(x:file) |
> | |______________|
> _______|________
> |Node5(x:atach)|
> |______________|
>
> This hierarchy of nodes created can represent my need. So, with a search up
> to Node1, I would like to get Node3 and Node2, because both have child nodes
> like type x:file.
> In time, I need the child nodes of type x:file in results too.
> Hope this could do the right explanation.
> Helio.
>
>