我正在尝试找到一个简单的 cli 命令来从 linux shell 执行 xquery。我想要的是避免我需要安装的外部依赖项(使用fedora 18)。
我已经找到的是可以通过 yum 安装的 saxon 和 xqilla。如果没有别的,我可以使用它们,但它们不在基本系统中。我希望找到类似于用于进行 xslt 处理的 java 内部类(com.sun.org.apache.xalan.internal.xsltc.cmdline.Transform)。
我的另一个想法是使用 XSLT 将文档转换为所需的 xquery 结果,但单行是不可能的。
我可以用 xqilla 做什么的例子(但正在寻找另一个实用程序):
$ xqilla -i TEST-com.ecample.testcase.MyTestCase.xml <(echo '/testsuite/@failures + /testsuite/@errors')
更新:不完全是我遇到的问题,但我决定默认安装 perl XML::Twig,让我可以灵活地使用 perl 实现复杂的逻辑。这也带来了不错的速度提升,因为不需要为每个 XML 文件派生一个进程。