3

我正在使用 Oxygen XML Editor 17.0 (Saxon XQuery 9.6.0.5)。最近我创建了一个非常基本的 XQuery 代码来对 Web Dav 服务器上的 XML 文件执行一些统计测量。假设我只想计算一个目录中 .xml 文件的数量。我将 XQuery 文件添加到 .xml 文件所在的位置。这是代码:

xquery version "3.0" encoding "utf-8";
let $docs := collection('./?select=*.xml')
return count($docs)

我收到一条错误消息:“FODC0004:集合目录不应使用命名空间”

该代码在本地运行时运行良好。我还可以使用绝对路径搜索一个特定文件(在服务器上),但我想要一个通用代码。

我猜它与 Web Dav 服务器的一些限制有关,但我是这方面的新手。你能建议吗?

4

1 回答 1

1

如果您在 Saxon 9.6 中使用标准集合 URI 解析器,那么它会首先询问“此 URI 是否是表示目录的文件方案 URI”,如果答案是否定的(这里大概就是这种情况),那么它将尝试将资源作为 XML 文档打开,其中包含集合中事物的 URI 列表;您看到的错误消息失败了。

Saxon 没有对 WebDAV 的内在支持,但您应该能够通过编写自己的 CollectionURIResolver 轻松地支持它。如果你得到它的工作,请分享代码!

于 2015-12-16T23:30:39.733 回答