Hi,

Only to tell you where i'm gone because i ever try this
http://dev.day.com/discussion-groups/content/lists/jackrabbit-users/2010-11/2010-11-23_Re_xpath_query_of_subnode_Alexander_Klimetschek.html

You will not succeed to do what you want. The xpath implementation is very far 
to be exaustive as all the documentation tell it. Think about going back to 
whiteboard to try to find a workaround to your problem.

The conditions (between []) can only test properties on same node, not child 
nodes even is sql2.

-----Message d'origine-----
De : Stefan Hagedorn [mailto:[email protected]] 
Envoyé : mercredi 1 décembre 2010 14:39
À : [email protected]
Objet : XPath query: check if child-node does not exist

Hi,

I am trying to build a XPath query that gets all nodes that do not have 
a certain (grand)child node but do have a property with a certain value

example

node1 (property=test)
  + child
     + grandchild1
     + grandchild2


node2 (property=test)
  + child
     + grandchild1


With my query I would like to find all nodes ("nodeX") that do not have 
a grandchild "grandchild2" but do have a property "property" with value 
"test".

i.e. in the example above I would like the query to return node2 (since 
node1 has a grandchild "grandchild2".

It doesn't matter to me if "grandchildX" is the name of the 
grandchild-node, or if it was in an extra name-property of the grandchild.

I tried with the grandchild names as a property (all grandchildren have 
the same node name) and have the following sample:
//element(*,mynode)[child/grandchild/@name!='grandchild2' and 
@property='test']

But this also returns node1 as this has a granchild which is not 
grandchild2 ...


Is this possible with Jackrabbit/XPath and could someone please show me 
how? ;)

Thanks in advance,
Stefan

Reply via email to