XForms:根据另一个实例中的值删除一些节点

时间:2015-12-01 16:09:26

标签: xml xpath orbeon xforms

在我的主实例中,我有一组节点如下:

主要实例

 <Items>
    <Item>
       <Id>2</Id>
    </Item>
    <Item>
       <Id>3</Id>
    </Item>
    <Item>
       <Id>4</Id>
    </Item>
    <Item>
       <Id>5</Id>
    </Item>
 </Items>

另一个(类似的)实例,其值如:

其他实例

 <Items>
    <Item>
       <Id>4</Id>
    </Item>
    <Item>
       <Id>5</Id>
    </Item>
    <Item>
       <Id>6</Id>
    </Item>
 </Items>

现在我要删除Main实例中的所有项目,这些项目在其他实例中没有相应的条目,因此主实例将如下所示:

 <Items>
    <Item>
       <Id>4</Id>
    </Item>
    <Item>
       <Id>5</Id>
    </Item>
 </Items>

然后我想删除主实例中存在的另一个实例中的所有项,因此另一个实例将如下所示:

 <Items>
    <Item>
       <Id>6</Id>
    </Item>
 </Items>

我正在努力完成此任务的语法。 提前致谢 彼得

1 个答案:

答案 0 :(得分:2)

这样的事情:

/usr/lib/jvm/java-6-openjdk-amd64

<xf:delete
    ref="
        instance('main')/Item[
            not(
                Id = instance('other')/Item/Id
            )
        ]"
/>