<fr:currency> </fr:currency>的替代解决方案

时间:2011-05-03 10:58:06

标签: xpath xforms orbeon

我们使用控件获得性能问题,这些控件以$ dollar格式输入数字。为了解决这个性能问题,我们在控件绑定中使用而不是实现了以下计算功能。

<xforms:bind id="Amount" 
             nodeset="instance('sample_form')/Amounts/Amount" 
             calculate="if (. !=0) 
                        then format-number(xs:double(.),'$#,##0.000') 
                        else ."/>

但是上面代码的问题是,它将控件的值转换为String类型,导致控件中的错误,其值依赖于此。请为我提供上述问题的解决方案或提供更好的建议来处理这种情况。

1 个答案:

答案 0 :(得分:0)

如果你只想显示格式化的值(因为你考虑使用calculate,我认为是这种情况),那么你可以将你的表达式放在calculate里面一个:

<xforms:output value="..."/>

如果您同时需要输入和输出,并且您希望实例中存储的值只是未格式化的数字,那么我认为使用<fr:currency>除了某种方式之外还有一种简单的方法重新实现<fr:currency>提供的功能。如果您同时需要输入和输出,那么我建议您进一步调查,以找到并解决性能问题的根源。