在XForms下拉列表中显示/隐藏标签

时间:2014-02-25 16:23:03

标签: xml xpath constraints xforms

您好我正在尝试使用XPath在我的XForms下拉列表中动态显示/隐藏选项。

这是带有我的下拉列表的XML:

<xml_someField>
  <label>Podmiot</label>
  <hint/>
  <help/>
  <alert/>
  <item>
    <label>1</label>
    <value>1</value>
  </item>
  <item>
    <label>2</label>
    <value>2</value>
  </item>
  <item>
    <label>3</label>
    <value>3</value>
  </item>
  <item>                  
    <label>4</label>
    <value>4</value>
  </item>
</xml_someField>

基本上我有一个other_field给我输出例如 - 1,1 2,1 3,1 2 3 4等。取决于我在另一个组合框中检查的内容。

所以,在计算的下拉列表中,我写了一个XPath表达式

if(//other_field != '') then 
if(//other_field castable as xs:integer) then 
     //other_field
    else .
else
    false()

如果我从other_field只得到一个数字 - 1,2,3或4它的工作,那就是用我选择的数字填充我的xml_someField,但是如果我得到更多,例如 - 2 3 4或1 3 4它会给我也选择所有4个选项。

我想要的是,当我得到1 3 4时,在我的下拉列表中显示没有4的1,2和3选项。

我可以使用

识别号码
if(contains(//othe_field, '1') then

但接下来,有什么方法可以显示/隐藏商品标签或价值吗?

//other_field/item/label[text() = '1'] = false()

我应该在计算中写这个,还是在约束中写得更好?

1 个答案:

答案 0 :(得分:0)

  

我想要的是,当我得到1 3 4时,在我的下拉列表中显示没有4的1,2和3选项。

使用约束:

 constraint=". &lt; 4"
  

我应该在计算中写这个还是更好地约束?

使用constraint,因为计算出的值会自动变为只读

<强>参考