marklogic中的分层目录结构

时间:2017-10-05 07:09:12

标签: marklogic marklogic-9

在X-Query或Node-JS客户端API中是否有任何函数可以获取Marklogic 9中的目录列表或文件的分层视图?

2 个答案:

答案 0 :(得分:1)

MarkLogic中的目录只是文档URI反映的惯例。

数据库中不存在与目录对应的资源(WebDav的边缘情况除外)。

正如Tamas在评论中暗示的那样,你可以写一个XQuery或JavaScript函数来

  • 从URI词典中读取URI
  • 排序
  • 将/上的URI标记为URI步骤
  • 关于构建层次结构的步骤的小组

希望有帮助,

答案 1 :(得分: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())