我们正在运行eXist-db 3.0版,并希望尝试在其中运行XProc。
我们发现XProcxq模块现在是eXist的一部分:http://exist-db.org/exist/apps/doc/extensions.xml#module_xprocxq
但是,在尝试使用它时,我们会收到以下错误,并想知道是否有人建议我们可能出错?
如链接到的模块页面顶部所指定的,我们将模块添加到conf.xml文件并重新启动eXist。 (这可能是我们出错的地方,但这是对我们的猜测)
这就是我们添加的模块在conf.xml中的样子:
<module uri="http://xproc.net/xproc" class="org.exist.xquery.modules.xprocxq.XProcxq/>
以下是我尝试使用的简单启动的XQuery:
xquery version "1.0" encoding "UTF-8";
import module namespace const = "http://xproc.net/xproc/const";
import module namespace xproc = "http://xproc.net/xproc";
import module namespace u = "http://xproc.net/xproc/util";
declare variable $local:XPROCXQ_EXAMPLES := "/db/examples"; (:CHANGE ME:)
let $stdin :=document{<test>Hello World</test>}
let $pipeline :=document{
<p:pipeline name="pipeline"
xmlns:p="http://www.w3.org/ns/xproc"
xmlns:c="http://www.w3.org/ns/xproc-step">
<p:identity/>
</p:pipeline>
}
return
xproc:run($pipeline,$stdin)
以下是错误: 加载模块xproc时发现错误:加载模块时出现IO异常&#39; http://xproc.net/xproc&#39;来自&#39; http://xproc.net/xproc&#39;
答案 0 :(得分:3)
我向存在开放的邮件列表提出了问题(我鼓励你加入未来的eXist-db问题),it appears eXist的XProc支持目前介于摇滚和硬盘之间。您提到的xprocxq库非常不发达(被其原始创建者抛弃),而且更好的开发Calabash模块与eXist中使用的当前版本的Saxon不兼容,因为它依赖于该版本的Saxon。我欢迎你join exist-open进一步讨论。也许还有其他一些解决方法。
答案 1 :(得分:3)
需要重建。
根据http://exist-db.org/exist/apps/wiki/blogs/eXist/eXist30RC1
geom_bar()
我正在研究XProc EXPath模块的更新。
答案 2 :(得分:2)
eXist的XMLCalabash模块现在已经针对更新版本的eXist和Calabash进行了重建,并且可以与eXist 3.0.RC1一起使用。
为eXist 3.0.RC1运行构建自己的Jar包:
$ git clone https://github.com/eXist-db/eXist-XMLCalabash.git
$ cd eXist-XMLCalabash
$ rm -rf src/test
$ mvn package
然后Jar就在target/
文件夹中。您应该将其复制到$EXIST_HOME/lib/user
修改$EXIST_HOME/conf.xml
以加载模块,然后重新启动eXist。
用于eXist的XML Calabash模块现在也有一个PR,因此它将支持即将推出的eXist 3.0.RC2 - https://github.com/eXist-db/eXist-XMLCalabash/pull/2
但是,在eXist 3.0.RC2发布之前,您无法远程构建它。