我在 Orbeon Form Builder 中使用输入字段,应该用文本“null”填充,如果用户没有在 Form Runner 中填写,formdata 将作为 xml 发送到服务。假设我必须用 XPath 表达式定义计算值字段。我该怎么做?因为我不想在结果 xml 数据文件中有一个空元素。
问问题
657 次
1 回答
0
在 XForms 中提供 'null' 作为默认值的最简单方法是将 'null' 作为开始加载的文档实例中相关元素或属性的值。如果您想要元素shoesize
并sockscolor
默认为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 回答