我正在尝试在2个不同的节点下搜索特定名称。这工作
/jcr:root/db067409/libraries/bd0b868d/_x0030_//*[@name="FIRST"]
但是当我尝试将它与第二个节点进行OR运算时......
/jcr:root/db067409/libraries/bd0b868d/_x0030_//*[@name="FIRST"]|/jcr:root/db067409/libraries/_x0033_78d57e4/_x0031_//*[@name="FIRST"]
我不再获得任何搜索结果。请有人指出我做错了什么。
我真正想做的是沿着这些方向;如果我有/ a / b / ID1 / VERSION1和/ a / b / ID2 / VERSION2我想要像这样的/ x /(ID1 / VERSION1或ID2 / VERSION2)的xpath // * [@ name = “某个名字”]。
答案 0 :(得分:1)
答案是否定的。不幸的是,它没有像你期望的那样抛出UnsupportedOperationException。 Jira中有一个项目,但我猜他们忽略了它,因为Xpath现已弃用。
如果确实需要联合,请使用JCR_SQL2。
答案 1 :(得分:0)
修改
This thread表示Jackrabbit 2.0中有类似联合的功能,但不是更早。
使用JCR无法实现[加入] Xpath或JCR-SQL,但使用JCR 2.0中的新查询模型(JCR-SQL2)。 从CQ 5.3 / CRX 2.0 / Jackrabbit 2.0开始支持此功能。请注意 这些联接并没有得到很好的优化。
确实,XPath is deprecated in JCR 2.0。
JCR 1.0定义了一种与JCR-SQL2不同的SQL方言,以及一种XPath方言。不推荐支持这些语言。