簡體   English   中英

更新到oXygen 17.1后從命令行調用XQuery Update

[英]calling XQuery Update from the command line after update to oXygen 17.1

在過去的一年中,我們一直在運行一個批處理腳本,我編寫該批處理腳本是使用Saxon從Windows命令行調用一系列XQuery Updates。 在使用oXygen 16時,它工作正常,但是在我們部門的所有機器都升級到oXygen 17.1之后,腳本現在拋出了我似乎無法修復的錯誤。 任何想法將不勝感激。

這在安裝oXygen 16時起作用:

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"

我已經確認.jar文件位於相同的相對位置(oXygen版本號是對路徑的唯一更改),並且具有與以前相同的名稱。 不過,在將類路徑更新為“ C:\\ Program Files \\ Oxygen XML Editor 17 \\ lib \\ saxon9ee.jar”之后,腳本將引發以下錯誤:

來自Saxonica的Saxon-EE 9.6.0.7J

Java版本1.8.0_92

java.lang.UnsupportedOperationException:此Saxon配置中不支持XQuery Update

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

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

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

查詢期間發生致命錯誤:java.lang.UnsupportedOperationException:此Saxon配置中不支持XQuery Update

文件名,目錄名稱或卷標簽語法不正確。

我的機器上已安裝Java 8。 從oXygen編輯器中調用時,我還確保了XQuery Update仍能正常工作。

http://www.saxonica.com/documentation9.6/index.html#!using-xquery/commandlinehttp://www.saxonica.com/documentation9.6/index.html#!conformance/上閱讀后更新 ,我添加了-tree:linked標志和-qversion:1.0標志(它們導致相同的錯誤消息):

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"

根據文檔,如果設置了-update:on標志,則XQuery Update應該運行,並且使用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");

我無所適從。 如果有人看到這里出了什么問題,我將不勝感激任何指點!

您是否擁有自己的Saxon-EE許可證,還是依賴於oXygen隨附的許可證? oXygen許可證不涵蓋oXygen本身以外的Saxon-EE使用(因此,它不涵蓋您從命令行運行Saxon的方式)。 也許您發現oXygen處理Saxon激活的方式中存在漏洞,該漏洞在早期版本中有效,但此后已修復,無論是在oXygen還是在Saxon中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM