2012-07-17 1 views
0

특정 이름으로 2 개의 다른 노드에서 검색하려고합니다. 이Jackrabbit은 XPath 유니온 (|) 연산자를 지원합니까?

/jcr:root/db067409/libraries/bd0b868d/_x0030_//*[@name="FIRST"] 

작동하지만 ...과 같이 두 번째 노드 또는 그것에

/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이/a/b/(ID1/VERSION1 또는 ID2/VERSION2)와 같은 xpath를 원합니다. // * [@ name = "일부 이름"].

+0

참조 용으로 실제로 or * (xpath도 있음)가 아닌 * union *입니다. – FatalError

+0

나는 네라고 말하고 싶습니다. 그렇습니다. 그것은 노동 조합입니다. 비록 그것이 사용하기 쉬운 첫 번째 경기를 반환하는 것이 더 쉽다면. – TedTrippin

+0

몇 가지 게시물을 발견했습니다. 아주 오래된 것입니다. jackrabbit이 유니온을 지원하지 않을뿐만 아니라 예외를 던지기보다는 무시한다고합니다. (그래서 Jackrabbit도 유니언을 지원합니까?) – TedTrippin

답변

1

불행히도, 기대했던 것처럼 UnsupportedOperationException을 던지지 않습니다. Jira에 항목이 있지만 Xpath가 현재 사용되지 않으므로 무시한 것 같습니다.

공용체가 필요한 경우 JCR_SQL2를 사용하십시오.

0

편집

This thread 노조와 같은 기능은 잭 래빗 2.0에서 사용할 수 있지만 이전을 나타냅니다.

[조인]는 JCR 는 XPath 또는 SQL JCR-불가능하지만 JCR 2.0 (JCR-SQL2)에 새로운 질의 모델. CQ 5.3/CRX 2.0/Jackrabbit 2.0 이후 지원됩니다. 은 이러한 조인이 매우 최적화되지 않았 음을 유의하십시오.

실제로는 XPath is deprecated in JCR 2.0입니다.

JCR 1.0은 XPath의 방언뿐만 아니라 JCR-SQL2와 다른 SQL 언어를 정의합니다. 이러한 언어는 지원되지 않습니다.

+0

그 스레드를 잘못 읽은 것 같아 XPath에서는 가능하지 않지만 JCR-SQL2를 사용하는 JCR 2.0에서 사용할 수 있습니다 – TedTrippin

+0

젠장, 아래쪽에 투표하지 말고 이제는 편집 할 수 없습니다 : ( – TedTrippin

+0

그리고 XPath는 더 이상 사용되지 않습니다. , 정말로. 선배 순간. –