2013-06-13 30 views
3

我將作爲參數的DOM對象傳遞給Camel中的Xquery。在通過Camel調用的XQuery中使用外部文檔參數

下面是XQuery代碼,寫入訪問參數:

declare variable $dom_param as document-node() external; 
declare variable $someVariable := $dom_param/h1/text(); 

在上面跑,我得到以下錯誤:

XPST0003 XQuery syntax error near #...T as document(dom_param#: 
Expected type name in SequenceType, found <function>(
Error on line 7 column 36 
XPST0003 XQuery syntax error near #... variable $someVariable := /{$#: 
expected ";", found "{" 

關於這可怎麼解決的任何想法?

+0

這聽起來像駱駝實現中的錯誤。 –

回答

1

通常情況下,從外部傳遞文檔節點可能會非常棘手,因爲它需要XQuery引擎和環境達成一致。如果您使用的實現支持它,請仔細檢查文檔,並開始運行文檔中給出的示例。

一種可能的解決方法是不通過文檔節點,而是通過一個包含文檔URI的字符串,然後使用fn:doc()函數來讀取它。如果您的DOM對象是動態構建的,這可能是一個挑戰。