XPATH 2.0 collection() with "?select="(在 eXist-db/XQuery 中)

XPATH 2.0 collection() with "?select=" (in eXist-db / XQuery)

在 eXist 4.4 和 XQuery 中使用 XPath 2.0。

我在 eXist-db 目录 /db/apps/deheresi/data 中有一系列文档,我想用 collection() 检索这些文档,但使用通配符或谓词来过滤特定命名的文档。

例如,我想获取以ABC开头并以.xml结尾的文档。我认为 ?select=ABC*.xml 这样的通配符会起作用,但它没有返回预期的结果。

collection("/db/apps/deheresi/data?select=ABC*.xml")

我也尝试过应用 starts-withends-with 的组合,但没有成功。毫无疑问,我在这里忽略了一些简单的事情。

提前致谢。

现有一种方法

xquery version "3.1";
(: get document names :)
 let $doc-names := for $n in collection('/db/apps/deheresi/data')
 return
    util:document-name($n)

(: apply filter :)
 for $f in $doc-names[matches(., '^ABC.*\.xml$')]
 return
  $f