定義片段時計算文件

在此示例中要考慮的 XML 文件 -

<a>
    <b>test-value</b>
    <d>fragment-d</d>
    <c-root>
        <d>fragment-d</d>
        <e>fragment-e</e>
    </c-root>
</a>

片段根在 <c-root> 上宣告

如果這是資料庫中唯一的文件,則 xdmp:estimatefn:count 的行為會有所不同 -

xdmp:estimate(cts:search(fn:doc(), cts:element-value-query(xs:QName("d"), "fragment-d")))

以上查詢的結果將是 2(片段數)

fn:count(cts:search(fn:doc(), cts:element-value-query(xs:QName("d"), "fragment-d")))

以上查詢的結果將是 1(檔案數量)

在效能方面 xdmp:估計fn:count要好得多,因為它在解析搜尋結果時利用索引的優勢