marklogic中的分层目录结构
答
MarkLogic中的目录只是文档URI反映的约定。
数据库中不存在与目录对应的资源(除了WebDav的边界案例)。
由于塔马斯在他的评论暗示,你可以写一个XQuery或JavaScript函数
- 读的URI由URI词汇
- 排序
- 令牌化的/到URI中的URI步骤
- 群上构建层次结构的步骤
希望能帮上忙,
答
有上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())
可以使用CTS:的URI()函数XQuery中 - 但可以明确的是,你的愿望最终输出? – Tamas
我想设计前端看起来像文件夹层次结构,所以如果获得目录或目录结构的列表,然后我可以通过这些并在前端创建该结构 –