xforms - 与OR条件相关

时间:2012-01-30 20:50:26

标签: xforms

(我刚刚开始使用xforms)

我有一个包含10个整数输入字段和1个文本字段的表单 我正在尝试在文本字段上设置相关标准。 我想要做的是当且仅当一个或多个字段的值高于18时才显示文本字段。

我相信我需要相关领域的条件或条件,例如: related =“(/ data / weight_group / weight1> 18 || / data / weight_group / weight2> 18)”

显然这不完全正确,但我在Google / Stack /等上找不到任何东西,让我相信我正在咆哮错误的树。

有什么建议吗? 感谢

2 个答案:

答案 0 :(得分:1)

它应该是这样的:

relevant="/data/weight_group/weight1 < 18 or /data/weight_group/weight2 > 18"

一些解释:

  • 相关属性的值是XPath表达式。因此,当某些东西不起作用时,您需要查阅XPath文档。
  • XPath中的逻辑运算符是“and”和“or”,而不是“&&”和“||”。
  • 你需要逃避<和>在XPath表达式中为& lt;和& gt;,以便它们不会搞乱XML结构。 (有人可以证实这一点吗?)

答案 1 :(得分:0)

首先,相关属性是一个模型属性,这意味着它不适用于控件。其次,它通过绑定元素更新。

<model  xmlns="http://www.w3.org/2002/xforms">
  <instance>
     <data xmlns="">
        <weight_group>
           <weight1/><weight2/>
        </weight_group>
        <valid_weight>
     </data>
  </instance>
  <bind nodeset="/data/valid_weight" relevant="../weight_group/weight1 &lt; 18 or ../weight_group/weight2 &gt; 18">
</model>

属性valid_weight由此条件控制,任何绑定到有效权重的控件在不相关时都会消失。