2014-02-25 38 views
1

嗨我正在尝试使用XPath动态显示/隐藏我的XForms下拉列表中的选项。在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,在我的下拉列表显示1,2和3个选项,而4

我可以使用识别号

if(contains(//othe_field, '1') then 

但什么接下来,是否有任何方法显示/隐藏项目标签或值?

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

我应该写这计算约束也许更好吗?

回答