在XQuery中,使用eXist,如何获取当前集合的子集合?

时间:2012-11-29 19:04:08

标签: xquery exist-db

问题

我有一个查询,它由eXist通过REST API执行,并且它被POST到它需要运行的集合,例如/db/foo/db/bar。在查询中,我想获取当前集合的子集合。那就是:如果发布在/db/foo上,我希望查询返回xmldb:get-child-collections('/db/foo')将返回的内容;如果发布在/db/bar上,我希望查询返回xmldb:get-child-collections('/db/bar')将返回的内容。但是,当然,我不希望在查询中对当前集合的路径进行硬编码。

我尝试了什么

  • xmldb:get-child-collections('.'),没有运气,.不被eXist理解为“当前收藏”。
  • 寻找一个返回当前集合路径的function,就像shell中的pwd一样,但我找不到。

1 个答案:

答案 0 :(得分:0)

使用REST API,您可以使用request:get-path-info()来获取“当前集合”的路径。例如:

  • 如果您正在对http://www.my-site.com/exist/rest/db/my-collection进行GET或POST。
  • request:get-path-info()将返回/db/my-collection,这正是您感兴趣的路径的一部分。