目前,我遇到了问题,无法生成具有多个路径的查询。我可以完成从crx存储库中的特定单根路径搜索子节点的情况。我使用了关键字isdecendantnodenode()
:
select * from [nt:base] as p
where
(isdescendantnode (p, [first path]))
and contains(p.*, '"bankproducts"')
and p.[sling:resourceType] = 'components/content/download'
正如我所说,这样做很好。现在,我必须面对挑战,搜索出现在两个或更多不同子节点中的元素 - 在同一层次结构级别。
我的目标是:
select * from [nt:base] as p
where
(isdescendantnode (p, [first path]) and isdescendantnode(p, [second path]))
and contains(p.*, '"bankproducts"')
and p.[sling:resourceType] = 'components/content/download'
这只给了我回来的元素,他们只在第二条道路上(在我看来)。
下一个示例导致存储库异常:
select * from [nt:base] as p
where
(isdescendantnode (p, ([first path] and [second path]))
and contains(p.*, ' "bankproducts"')
and p.[sling:resourceType] = 'components/content/download'
可能关键字的顺序错误。我没有想法所以SO属于我最后的选择。
提前致谢
答案 0 :(得分:0)
在路径条件中使用“OR” - (isdescendantnode (p, [first path]) or isdescendantnode(p, [second path]))
。