繁体   English   中英

如何使用Saxon 9.2he在java中设置xquery上下文文档?

[英]how to set xquery context document in java using saxon 9.2he?

我如何执行一个简单的xquery,例如

for $elem in /root/element()
return 
    $elem

在不使用fn:doc的情况下使用Java对xml文件进行处理?

我一直在获取XPDY0002:轴步骤child :: element(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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM