0

我在 Orbeon Form Builder 中使用输入字段,应该用文本“null”填充,如果用户没有在 Form Runner 中填写,formdata 将作为 xml 发送到服务。假设我必须用 XPath 表达式定义计算值字段。我该怎么做?因为我不想在结果 xml 数据文件中有一个空元素。

4

1 回答 1

0

在 XForms 中提供 'null' 作为默认值的最简单方法是将 'null' 作为开始加载的文档实例中相关元素或属性的值。如果您想要元素shoesizesockscolor默认为null,请相应地编写您的 XForms 实例:

<xforms:instance id="main" xmlns="">
  <mydata>
    <name></name>
    <age></age>
    <shoesize>null</shoesize>
    <sockscolor>null</sockscolor>
  </mydata>
</xforms:instance>

如果您从外部文档加载文档实例,您将需要做一些更复杂的事情,例如在用户单击提交按钮时将 shoesize 和 sockscolor 的值设置为操作的一部分。就像是:

<xforms:trigger>
  <xforms:label>Submit</xforms:label>
  <xforms:action ev:event="DOMActivate">
    <xforms:setvalue ref="shoesize"
                     if=".=''"
                     value="'null'"/>
    <xforms:setvalue ref="sockscolor"
                     if=".=''"
                     value="'null'"/>
    <xforms:send submission="go"/>
  </xforms:action>
</xforms:trigger>

不过,这只是通用的 XForms,并没有利用 FormsRunner 可能必须使这更容易的任何特殊功能。

于 2012-12-13T01:49:29.137 回答