我对XQJ和eXist有一个问题。每当我试图在eXist db中查询我的文件时,我都会得到一个
XQJTO013 - org.xml.sax.SAXParseException; lineNumber: 928; columnNumber: 354; The reference to entity "quotDer" must end with the ';' delimiter.以及整个文档中的其他几个分隔符异常,无论何时使用" ( &不会引发错误)。
但是,在文档中,";“设置在"后面,当我使用eXist GUI查询对话框查询文件时,”;“会工作。当我在baseX db中通过XQJ查询文件时,也没有问题。
我试图将SAX解析器从Saxon更改为Xerces,最后将错误更改为Oracle,每个都会引发错误。
我的问题是,XQJ eXist实现中是否有bug,还是我遗漏了什么,希望您能帮我解决问题。
我的类路径上有eX2-xqj-API-1.0.1的库。
这里有一些简单复制的代码
public static void main(String[] args) {
XQDataSource xqs = new ExistXQDataSource();
try {
xqs.setProperty("serverName", "localhost");
xqs.setProperty("port", "8080");
XQConnection conn = xqs.getConnection("admin", "admin");
XQPreparedExpression xqpe = conn.prepareExpression("element test {'"bla"'}");
XQResultSequence rs = xqpe.executeQuery();
rs.writeSequence(System.out, new Properties()); // SAXParseException is raised here
conn.close();
} catch (XQException e) {
e.printStackTrace();
}
}发布于 2012-10-17 14:02:29
你能创造一个小的,孤立的例子,可以复制吗?
例如,提交一个小的XQuery,它生成XML,然后导致这个错误。文档可能不一定需要存在于数据库中。
如果你能做到这一点,请提出它作为一个问题在XQJ.NET问题跟踪器1。
致以敬意,
查尔斯
1
https://stackoverflow.com/questions/12913214
复制相似问题