2013-12-20 55 views
1

我已經創建了一個數據庫服務來檢索許多列。我已成功創建了調用其他查詢的操作,該查詢通過參數並在下拉框或複選框中顯示輸出。但是,通過這個新的查詢,我想根據單個查詢調用在表單上設置5個不同字段的值。在「設置響應控制值」部分中需要什麼xpath表達式語法才能使其工作.....或者這不是正確的位置或方法來執行此操作?Orbeon - 如何用一個查詢設置衆多字段的值

回答

0

聽起來就像您正在使用表單生成器 - 在動作編輯器的「設置響應控制值」部分中,您應該爲要更新的每個表單字段設置一個項目,並使用目標控制下拉列表指定表單域。所以在你的情況下,你將有5行指向你的5個領域。

我們假設您的查詢返回單行,並將值放入單獨列中的表單字段中。您的查詢結果來自數據庫服務看起來像這樣:

<response> 
    <row> 
     <query-column-1>value</query-column-1> 
     <query-column-2>value</query-column-2> 
     ... 
    </row> 
</response> 

所以,如果你的第一個項目的列名是「ID」,「設置響應控制值」條目是這樣的:

/response/row/id 

有一個疑難問題...如果數據庫中的列名包含下劃線,這將轉換爲數據庫服務結果中的連字符。所以如果你的專欄名稱是「asset_id」,那麼你應該輸入response/row/asset-id

如果您的查詢返回多行,則可以使用謂詞引用特定行,如下所示:response/row[1]/id

相關問題