我想用JavaScript調用XQuery函數從XML文件中檢索數據。我能夠把這個簡單的功能不從任意文件中讀什麼:使用javascript調用XQuery
<script type="text/javascript"
src="mxqueryjs/mxqueryjs.nocache.js"
></script>
<script type="application/xquery">
module namespace m = "http://www.xqib.org/module";
declare function m:GetNearestLocations($node as node()+) {
let $message := "Hello XQuery!"
return $message
};
</script>
有了這個JavaScript:
var output = xqib.call(
'http://www.xqib.org/module',
'GetNearestLocations',
center.lat());
返回輸出爲預期的「Hello XQuery的!」。
現在我想導入一個數學模塊,以便我可以在從XML文件讀取數據時使用它的一些功能。
這裏是我有,但數學模塊不導入並導致XQST0059錯誤,說沒有加載模塊命名空間「http://www.w3.org/2005/xpath-functions/math」信息位置:
<script type="text/javascript"
src="mxqueryjs/mxqueryjs.nocache.js"
></script>
<script type="application/xquery">
module namespace m = "http://www.xqib.org/module";
import module namespace math
= "http://www.w3.org/2005/xpath-functions/math";
declare function m:GetNearestLocations($node as node()+) {
let $message := "Hello XQuery!"
return $message
};
</script>
什麼是奇怪這個是當我使用Stylus Studio X15 Entreprise Suite來測試導入工作的相同功能。
重要提示:我在導入或不導入數學模塊時使用相同的JavaScript調用,所以也許我的問題來自那裏,但是,我不知道如何解決這個問題。
如果您也可以指導我我該怎麼辦設置參數m的一點:GetNearestLocations,這樣我可以通過它的整數或字符串
非常感謝。
作爲導入行的一部分,您是否需要''path/to/some-module.xqy''? – wst
嗯,我不知道它做了什麼。我是否需要將模塊下載到「path/to/some-module.xqy」?如果是這種情況,我不知道如何下載它。 – CharleyXIV
對,除非xqib中的數學模塊有特別之處,否則我認爲你需要實際引用一個XQY模塊來導入它。 http://www.w3.org/TR/xquery/#doc-xquery-ModuleImport – wst