2017-10-05 114 views
0

在X-Query或Node-JS客戶端API中是否有任何函數來獲取Marklogic 9中文件的目錄列表或分層視圖?marklogic中的分層目錄結構

+0

可以使用CTS:的URI()函數XQuery中 - 但可以明確的是,你的願望最終輸出? – Tamas

+0

我想設計前端看起來像文件夾層次結構,所以如果獲得目錄或目錄結構的列表,然後我可以通過這些並在前端創建該結構 –

回答

1

MarkLogic中的目錄只是文檔URI反映的約定。

數據庫中不存在與目錄對應的資源(除了WebDav的邊界案例)。

由於塔馬斯在他的評論暗示,你可以寫一個XQuery或JavaScript函數

  • 讀的URI由URI詞彙
  • 排序
  • 令牌化的/到URI中的URI步驟
  • 羣上構建層次結構的步驟

希望能幫上忙,

0

有上developer.marklogic.com食譜,應該幫助:http://developer.marklogic.com/recipe/list-directory-count

declare function local:map-uris($uris as xs:string*) 
{ 
    let $map := map:map() 
    let $_ := 
    for $uri in $uris 
    let $toks := fn:tokenize($uri, "/") 
    for $t at $i in fn:subsequence($toks, 1, fn:count($toks) - 1) 
    let $key := fn:string-join($toks[1 to $i], "/") || "/" 
    let $count := (map:get($map, $key), 0)[1] 
    return map:put($map, $key, ($count + 1)) 
    return $map 
}; 

local:map-uris(cts:uris())