【问题标题】:Orbeon Form Builder: Define Calculated Value for InputField using XPathOrbeon 表单生成器:使用 XPath 为 InputField 定义计算值
【发布时间】:2012-12-12 20:38:14
【问题描述】:

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

【问题讨论】:

    标签: xml xslt xpath orbeon xforms


    【解决方案1】:

    在 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 可能需要的任何特殊功能来简化此操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-30
      • 2011-11-27
      • 1970-01-01
      相关资源
      最近更新 更多