的eXist XQuery Sandbox文件與網頁一個文本字段和一個提交按鈕。當您輸入查詢並提交查詢時,文本字段的內容將通過Ajax發送到服務器上的sandbox.xql查詢,並且服務器動態執行查詢(使用util:eval())。然後將結果序列存儲在會話中。結果序列中的前10個項目然後顯示在結果窗口中;您可以一次翻閱結果10。通過將結果存儲在會話中,通過結果進行分頁不需要重新提交查詢。下次您提交查詢時,您的舊結果將被清除,並將新結果插入到會話中。
當您通過REST接口執行查詢時(即通過將Web瀏覽器直接指向查詢存儲在數據庫中,如.xq,.xqy,.xql或.xquery文件)。數據庫讀取文件並執行查詢,直接將所有結果直接返回給瀏覽器。
注意,而如果您的查詢返回多個結果沙盒不抱怨,一個瀏覽器期待的XML文檔得到很好的形成 - 即有一個根元素。將查詢從沙盒移動到存儲的.xq文件時發生的常見錯誤或誤解是忘記將查詢結果包裝在單個根元素中。
例如,在沙箱中,您可以輸入這個作爲查詢:
<x/>, <y/>, <z/>
當您提交它,你會得到3個結果:
<x/>
<y/>
<z/>
但是,如果將此文件保存爲.xq文件(例如,myquery.xq)並通過http://localhost:8080/exist/rest/db/myquery.xq調用此文件,那麼瀏覽器中會出現錯誤信息,說明結果不完整。解決的辦法是包裝在一個根元素,例如:
<results><x/><y/><z/></results>
你的最後一個問題是一個有點含糊的結果,但你有沒有看到我的回答your earlier question有關如何運行CSV轉換?我概述瞭如何編寫查詢以獲取存儲在數據庫中的CSV文件,將CSV文件轉換爲XML,並將結果作爲XML文件保存在數據庫中。