2012-01-30 1 views
2

(я только начинаю с XForms)XForms - соответствующий с ИЛИ состоянием

У меня есть форма с 10 целыми полями вводом и 1 текстовым полем Я пытаюсь установить соответствующие критерии для текстового поля , То, что я хочу сделать, это отобразить текстовое поле, если и только если значение одного или нескольких полей выше 18.

Я считаю, что мне нужно или состояние в соответствующем поле, что-то вроде: соответствующих = "(/ data/weight_group/weight1> 18 ||/data/weight_group/weight2> 18)"

Очевидно, что это не совсем так, но я не могу найти ничего даже близко к Google/Stack/etc. заставив меня поверить, что я лаяю неправильное дерево.

Любые предложения? Благодаря

ответ

1

Это должно быть что-то вроде этого:

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

Некоторых пояснений:

  • значения соответствующего свойства является выражением XPath. Поэтому вам нужно обратиться к документации XPath, если что-то не работает.
  • Логические операторы в XPath являются «и» и «или», а не «& &» и «||».
  • Вам нужно избегать < и> в выражениях XPath как & lt; и & gt, чтобы они не испортили структуру XML. (Может кто-то подтвердить это?)
+0

Вздох, да. Я попробовал «или», убежал и еще несколько вещей, но, по-видимому, никогда не был в правильной комбинации. Но да, это решило проблему, спасибо. Чтобы ответить на вашу проблему побега, по крайней мере вам нужно бежать <, я верю. С тех пор я собираюсь избежать всего этого, чтобы уменьшить вероятность проблем. Еще раз спасибо – cdmccann

+0

Если вы используете XPath 2, вы также можете использовать операторы 'lt' и' gt', которые вам не нужно бежать (поэтому были введены эти операторы). – ebruchez

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 управляет это условие, и любое управление, связанное с действительным весом, исчезнет, ​​если это не имеет значения.

Смежные вопросы