我如何执行一个简单的this xquery,例如this
for $elem in /root/element()
return
$elem
在使用 java 而不使用 fn:doc 的 xml 文件上?
我不断收到 XPDY0002:轴步子的上下文项::元素(xml,xs:anyType)未定义
--概要:我需要一个简单的解决方案来加载 xml 文件、加载 xquery 和处理
这是我发现的最简单的方法,但是我希望使用 XQStaticContext 将 contextDocument “绑定”到表达式。
XQDataSource ds = new SaxonXQDataSource();
XQConnection xqjc = ds.getConnection();
XQPreparedExpression xqje = xqjc.prepareExpression(new FileInputStream("xml\\foo.xquery"));
XMLInputFactory factory = XMLInputFactory.newInstance();
XMLStreamReader streamReader = factory.createXMLStreamReader(new FileReader("xml\\foo.xml"));
xqje.bindDocument(XQConstants.CONTEXT_ITEM,streamReader, xqjc.createDocumentType());
XQResultSequence xqjs = xqje.executeQuery();
xqjs.writeSequence(System.out, null);