2013-06-02 71 views
0

我想知道如何使用JavaScript腳本執行XQuery腳本。 例如,用戶填充字段,單擊提交按鈕,調用JS函數並調用XQuery腳本,該腳本將根據參數在XML數據庫中搜索信息。 我想使用一個網頁來調用這個XQuery腳本:例如通過調用http://localhost.com/myXQueryScript.xq?p=myparameter用JavaScript執行XQuery

在此先感謝! ;)

+0

現在我有我的XQuery腳本,我的JS腳本,但我不知道如何鏈接兩者。我想我必須使用XQuery服務器來執行我的XQuery腳本,但我不知道該怎麼做。所以,如果你能告訴我該怎麼做......;) – Hejk

+1

你在使用什麼XQuery引擎和服務器?這與XQuery本身無關,而與您正在使用的處理器無關。例如,BaseX帶有一個REST接口,所以你可以做一些像'http:// localhost/rest?run = XQueryScript.xq' – dirkk

+0

我使用BaseX。我不知道REST接口,我將閱讀有關該文檔。謝謝! – Hejk

回答

0

根據您的描述來判斷,您的任務沒有任何特定的XQuery:您希望用戶填寫表單和瀏覽器以從指定資源中檢索信息。服務器將執行XQuery作爲在實現細節中服務資源的一部分,而不需要客戶端特別關注。

很難找到無法在此場景中使用的XQuery引擎;許多XQuery引擎能夠偵聽指定的端口並接受來自它們的HTTP請求。該接口的細節不是標準化的,因此您需要查閱您正在使用的XQuery引擎的文檔。

在客戶端,您會在Web上找到許多使用XmlHttpRequest()的示例;這將使你能夠做到你需要的東西。有些用戶(包括我在內)更喜歡XForms,因爲它提供了一種更好的方式來實現你描述的那種東西。

如果我誤解了,並且您確實希望在客戶端中對XQuery進行評估,那麼您可能需要查看XQuery in the browser (XQiB)

+0

也許我的問題還不夠清楚,對不起。 我想我的XQuery由我的BaseX服務器執行,並且我成功了。我使用GUI界面啓動了服務器,但必須使用終端啓動服務器並啓動basexhttp服務器。因此,現在我可以通過使用http://localhost.com:8984/rest/myDatabase/?run=myscript.xq&$var="test「來執行XQuery腳本。 反正謝謝你。 ;-) – Hejk