我正在使用Orbeon Form Builder中的输入字段填充文本“null”,当formdata将作为xml发送到服务时,如果用户没有在Form Runner中填充它。假设我必须使用XPath表达式定义计算值字段。我该怎么做? 因为我不想在结果xml数据文件中有空元素。
答案 0 :(得分: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>
如果从外部文档加载文档实例,则需要执行更复杂的操作,例如在用户单击提交按钮时将shoeize和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可能使这更容易的任何特殊功能。