2016-09-12 10 views
0

Saxonを使用してWindowsコマンドラインから一連のXQueryアップデートを呼び出すために書いたバッチスクリプトを実行しています。私たちがoXygen 16を使っている間はうまくいきましたが、私たちの部門のすべてのマシンがoXygen 17.1にアップグレードされた後、このスクリプトはエラーを投げかけています。どんな考えでも大変感謝しています。oXygenへの更新後のコマンドラインからのXQuery Updateの呼び出し17.1

これは、酸素16がインストールされたときに動作するように使用される:私は(酸素バージョン番号がパスにのみ変更された状態で).jarファイルが同じ相対位置にあることを確認した

java -cp "C:\Program Files\Oxygen XML Editor 16\lib\saxon9ee.jar" net.sf.saxon.Query -update:on -t -q:"C:\Users\%USERNAME%\Documents\SVN Working Copies\trunk\rbscXSL\Locations2015\AbID2dsc-items.xq" 

と前と同じ名前です。それにも関わらず、へのクラスパスを更新した後

Saxon-EE 9.6.0.7J from Saxonica

Java version 1.8.0_92

java.lang.UnsupportedOperationException: XQuery Update is not supported in this Saxon Configuration

at net.sf.saxon.s9api.XQueryCompiler.setUpdatingEnabled(XQueryCompiler.java:212)

at net.sf.saxon.Query.doQuery(Query.java:281)

at net.sf.saxon.Query.main(Query.java:111)

Fatal error during query: java.lang.UnsupportedOperationException: XQuery Update is not supported in this Saxon Configuration

The filename, directory name, or volume label syntax is incorrect.

のJava 8私のマシンにインストールされている:「C:LIB \ saxon9ee.jar \ 17 \プログラムファイル\酸素XMLエディタ」スクリプトは、次のエラーがスローされます。 oXygenエディタから呼び出されたときにXQuery Updateが動作することを保証しました。ドキュメントのXQueryによる

java -cp "C:\Program Files\Oxygen XML Editor 17\lib\saxon9ee.jar" net.sf.saxon.Query -qversion:1.0 -tree:linked -update:on -t -q:"C:\Users\%USERNAME%\Documents\SVN Working Copies\trunk\rbscXSL\Locations2015\AbID2dsc-items.xq" 

:リンクされたフラグと-qversion:1.0フラグ(これらは同じエラーメッセージをもたらす)

http://www.saxonica.com/documentation9.6/index.html#!using-xquery/commandlinehttp://www.saxonica.com/documentation9.6/index.html#!conformance/update上に読んだ後、私は-treeを追加しました-update:onフラグが設定されていて、doc()またはcollection()関数を使用してXMLが読み込まれている場合、アップデートが実行されます。これは、私のXQueryファイルの変数です。

declare variable $EAD as document-node()* := doc("sample_input.xml"); 
declare variable $ITEMS as document-node()* := doc("sample_input.AbID.xml"); 

私はもう何を試していますか?もし誰かがここで間違っているのを見ることができたら、私は非常にポインタに感謝します!

答えて

0

あなたは独自のSaxon-EEライセンスを持っていますか、oXygenに付属のライセンスに頼っていますか? oXygenライセンスは、oXygen自体の外でSaxon-EEを使用することはできません(したがって、Saxonをコマンドラインから実行する方法は含まれません)。おそらく、oXygenが以前のリリースで動作していたSaxonのアクティベーションを処理する方法の抜け道を見つけたかもしれませんが、oXygenまたはSaxonで修正されています。

+0

ありがとうございました!私たちは実際にoXygenライセンスに頼っています。 – user3657755

関連する問題