私はこのようなことをしたいのですが、JCR_SQL2 で (XPATH は JCR 2.0 で廃止されたため)。
QueryManager queryManager = session.getWorkspace().getQueryManager();
String queryExpression =
NodeNames.PLUGIN.jcrName()+"[@"+NodeProps.ID.jcrName()+"='"+pluginId+"']"
+"/"+
NodeNames.PLATFORM.jcrName()+"[@"+NodeProps.NAME.jcrName()+"='"+platform+"']"
+"/"+
NodeNames.VERSION.jcrName()+"[@"+NodeProps.VERSION.jcrName()+"='"+version+"']";
query = queryManager.createQuery( queryExpression, Query.XPATH);
return query.execute().getNodes().nextNode();
次のように最初のノードを取得できます。
Query query = queryManager.createQuery(
"select * from [nt:unstructured] as p where p.["+NodeProps.ID.jcrName()
+"] = '"+pluginId+"'", Query.JCR_SQL2);
Node pluginNode = query.execute().getNodes().nextNode();
しかし、そのノードの下だけを照会するにはどうすればよいでしょうか?