2012-10-17 2 views

답변

0

여기 번째 예에서 설명 된 바와 같이 소자 질의 내부 및 쿼리 감싸 : 그것은 직접 소자 자체에 필요한 제한도 자손이 경기를 포함하지 않는

http://docs.marklogic.com/cts:element-query?q=cts:element-query

콘텐츠 구조에 따라 충분할 수도 있습니다.

그렇지 않은 경우 XPath 조건자를 사용하여 검색 결과에서 가양 성을 필터링합니다. 검색 합계 등을 계산하는 것이 더 어려워 지지만 최소한 올바른 결과를 제공합니다.

HTH!

0

XML 구조에 따라 cts:and-query()을 사용하는 대신 거리가 0 인 cts:near-query()을 사용하여 XML 구조에 따라이 작업을 수행 할 수 있습니다. 나는 얼마 전 near-query distance에 관한 글을 썼다. 즉, 거리는 요소 내부의 단어에 따라 다르지만 특성의 단어의 영향을받지 않습니다. 다른 요소들에서 하나 개의 요소의 속성을 분리 element-level 단어가없는 경우이 방법이 작동하지 않습니다

cts:near-query(
    (cts:element-attribute-value-query($element-qname, $attr1-qname), 
    cts:element-attribute-value-query($element-qname, $attr2-qname)), 
    0 
) 

참고 :이 트릭을 할해야합니다. 예를 들어 :

<doc> 
    <stuff a="1" b="2">some text</stuff> 
    <stuff a="3" b="4">some other text</stuff> 
</doc> 

물건 요소의 내부 텍스트는 /doc/stuff\[1\]의 속성과 /doc/stuff\[2\]의 속성 사이에 약간의 거리를 제공합니다. a와 b 속성 사이에는 거리가 없습니다. stuff 요소에 텍스트가 없으면 /doc/stuff\[1\]의 특성과 /doc/stuff\[2\]의 특성 사이에 거리가 없습니다.

관련 문제