在eXist 4.4和XQuery中使用XPath 2.0。
我要使用/db/apps/deheresi/data
检索eXist-db目录collection()
中的一系列文档,但是使用通配符或谓词来过滤特定名称的文档。
例如,我想获取以ABC
开始并以.xml
结尾的文档。我认为?select=ABC*.xml
这样的通配符会起作用,但不会返回预期的结果。
collection("/db/apps/deheresi/data?select=ABC*.xml")
我还尝试将starts-with
和ends-with
组合使用,但没有成功。我无疑在这里忽略了一些简单的事情。
谢谢。
答案 0 :(得分:1)
存在这种情况的一种方法
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