Orbeon - 如何使用一个查询设置多个字段的值

时间:2013-12-20 20:09:05

标签: orbeon

我创建了一个检索众多列的数据库服务。我已成功创建动作来调用传入参数的其他查询,并在下拉框或复选框中显示输出。但是,对于这个新查询,我想基于单个查询调用在表单上设置5个不同字段的值。 “设置响应控制值”部分需要什么xpath表达式语法才能使其工作.....或者这不是正确的地方或方法吗?

1 个答案:

答案 0 :(得分: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