0

XQJ API と eXist に問題があります。eXist db 内で自分のファイルをクエリしようとするたびに、

XQJTO013 - org.xml.sax.SAXParseException; lineNumber: 928; columnNumber: 354; The reference to entity "quotDer" must end with the ';' delimiter.

"が使用されるたびに、ドキュメント全体で他のいくつかの区切り文字の例外が発生します(&ところで、エラーは発生しません)。

ただし、ドキュメント内では「;」の後ろに設定されており&quot、eXist GUI Query Dialog でファイルを照会すると機能します。baseX db内のXQJ APIを介してファイルをクエリしても問題ありません。

SAX パーサーを Saxon から Xerces に変更しようとしましたが、最終的に Oracle に変更すると、これらのそれぞれでエラーが発生します。

私の質問は、XQJ eXist 実装にバグがあるのか​​、それとも何か不足しているのかということです。助けていただければ幸いです。

クラスパスにexist-xqj-api-1.0.1のlibがあります。


簡単に再現するためのコードを次に示します。

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();
    }

}
4

1 に答える 1

1

再現可能な小さな孤立した例を作成できますか?

たとえば、XML を生成する小さな XQuery を送信すると、このエラーが発生します。ドキュメントは必ずしもデータベースに存在する必要はありません。

これができる場合は、XQJ.NET イシュー トラッカー [1] で問題として提起してください。

よろしく、

チャールズ

[1] http://xqj.net/issues/

于 2012-10-17T14:02:29.637 に答える