2012-10-17 44 views

回答

0

如在第二實施例在此描述的包裹元件查詢內部的和查詢:

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

它不必需限制於直接元素本身,也後代被包括在匹配,但取決於你的內容結構,這可能就足夠了。

如果不是,則使用XPath謂詞過濾搜索結果中的誤報。使計數搜索總數等更加困難,但至少可以給出正確的結果。

HTH!

0

根據您的XML結構,您可以通過使用距離爲零的cts:near-query()而不是使用cts:and-query()來完成此操作。我之前寫了一篇文章,談到near-query distance。簡而言之,距離取決於元素內部的單詞,但不受屬性中的單詞的影響。這應該做的伎倆:

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

注意,如果沒有的話element-level從這些其它元素分離出一張元素的屬性這種方法是行不通的。例如:

<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\]的屬性之間沒有距離。

相關問題