使用XPath a/b/c
,有什麼方法可以找出元素c
上是否存在元素範圍索引?如何找出範圍指數是否存在?
0
A
回答
0
你的問題的簡單答案是:如果你沒有配置一個元素範圍索引,那麼你沒有一個。您可以查看數據庫配置以查看是否創建了元素範圍索引或以您所關心的元素結尾的路徑索引。
我懷疑你可能會問一個不同的問題,但我不確定它是什麼。你爲什麼想知道?
2
我不確定我是否理解這個問題,但有幾種方法可以找出是否存在範圍索引。
例如,您可以嘗試使用https://docs.marklogic.com/cts:element-reference或https://docs.marklogic.com/cts:path-reference構建範圍索引參考。如果範圍索引不存在,那麼引用構造函數將引發錯誤,並且您可以測試該錯誤。例如:
try { cts:element-reference(xs:QName('DNE')) }
catch($ex) {
if (not($ex/error:code = 'XDMP-ELEMRIDXNOTFOUND')) then xdmp:rethrow()
else xdmp:log(text { 'No element range index on DNE!' }) }
另一種方法是使用admin API:https://docs.marklogic.com/admin:database-get-range-element-indexes及其相關函數。您可能預期這會比嘗試捕捉元素引用更高效,但可能會更慢。但是,管理API允許相當容易地測試任意數據庫配置。
0
這聽起來像是一個「反向」XPath選擇,XPath模擬爲reverse query。給定一組匹配特定節點的路徑?對於元素範圍索引,與本地名稱,名稱空間和類型匹配非常簡單。匹配路徑或字段比較複雜。
一個想法:可以通過爲每個路徑設置一個動態的XSLT樣式表和一個xsl:template match="path"
並轉換節點的父文檔來完成路徑匹配嗎?有更容易的方法嗎?
相關問題
- 1. 如何查找NSDate是否在指定範圍內?
- 2. 如何找出NFC標籤是否仍在Android的範圍內?
- 3. 一旦指針超出範圍,內存是否會被釋放?
- 4. Golang指數超出範圍
- 5. 指數超出範圍
- 6. 指數0超出範圍
- 7. 指數超出範圍wp7
- 8. UDP指數超出範圍
- 9. 指數超出範圍
- 10. 函數在退出範圍時是否清除動態內存?
- 11. 如何查找SQL Server存儲過程中日期範圍列表中是否存在給定日期範圍?
- 12. 如何查找範圍是否包含在另一個範圍內? VBA
- 13. 尋找是否在編程範圍內的某個範圍
- 14. 如何找出是否存在
- 15. 如何找出框架是否存在
- 16. 指數超出範圍在asp.net的GridView
- 17. 如何讓指針超出範圍
- 18. 如何檢查數組索引是否超出範圍SWIFT
- 19. 如何檢查二維數組是否超出範圍?
- 20. 如何檢查數組索引是否超出範圍?
- 21. 如何測試無符號__int64數字是否超出範圍
- 22. 找出時間範圍內是否存在其他表中的值
- 23. 如何找出日期是否在一定範圍內?訪問2010
- 24. 如何找出某個Point3D是否在相機視圖範圍內?
- 25. 查找指定的範圍
- 26. 「範圍」的指導鏈接功能是根範圍,而不是指令範圍
- 27. 列表索引超出範圍錯誤,但值是否存在?
- 28. 如何在RELAX NG中指定出現的數字範圍?
- 29. 如何找到數字是在Python中的某個指定範圍之間?
- 30. 模板類函數T:如何找出T是否是指針?