[英]How to fetch document directory from the document URI in MarkLogic?
我有一個具有不同目錄的URI列表。 這是從MarkLogic中的URI獲取所有不同目錄的一種方法嗎?
xdmp:directory
用於不同目的。
Example-
let $uri := "/test/abc/somepath/abc.xml"
Output should be- "/test/abc/somepath/"
有什么建議么 ??
有一個實用程序函數可以執行以下操作:
import module namespace util="http://marklogic.com/xdmp/utilities" at "/MarkLogic/utilities.xqy";
util:basepath("/test/abc/somepath/abc.xml")
它使用fn:replace
加上一些關於邊緣情況的邏輯。
對此沒有內置功能,但是您可以通過兩種不同的方式從URI解析目錄值,具體取決於您希望的嚴格程度。
fn:string-join(fn:tokenize('/test/abc/somepath/abc.xml', '/')[1 to last()-1], '/')||'/'
或者,如果您只想在字符串以/
開頭時進行匹配:
replace('/test/abc/somepath/abc.xml', '^((/[^/]+)*/)[^/]*$', '$1')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.