2017-10-05 113 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())