xforms 重复绑定两个实例

xforms bind in repeat with two instances

我有一个要求,我有两个实例: 实例 1:

<some >
<Element12/>
<Element123/>
<example>
    <tree id="qw" show="true">
        <label>This tree</label>
    </tree>
    <tree id="as" show="true">
        <label>This is tree</label>
    </tree>
</example>

实例 2:

<data>
<SomeElement/>
<example>
    <tree id="qw" show="true">
        <label>This tree</label>
    </tree>
    <tree id="as" show="true">
        <label>This is tree</label>
    </tree>
</example></data>

根据输入,我将提交一个实例。 有一组带有是和没有单选按钮的问题。 我必须将这些输入绑定到两个实例。 目前我已经将其中一个实例绑定到单选按钮

  <xf:repeat id="fl" nodeset="instance('instance1')/some/example/tree">
    <xf:select1 ref="@show" >
      <xf:label><xf:output ref="../label"  /></xf:label>
      <xf:item>
        <xf:label>yes</xf:label>
        <xf:value>true</xf:value>
      </xf:item>
      <xf:item>
        <xf:label>No</xf:label>
        <xf:value>false</xf:value>
      </xf:item>
    </xf:select1>
  </xf:repeat>

该实例运行良好。 再举一个例子,我试图像这样绑定:

<xf:repeat nodeset="instance('instance2')/example/tree">
        <xf:bind ref="@show" calculate="instance('instance1')/some/example/tree/@show"/>
    </xf:repeat>

这不起作用。

在提交时使用 xforms insert 解决了问题我已将第一个实例的元素复制到第二个实例:

<xf:insert nodeset="instance('instance2')/example" origin="instance('instance1')/some/example" />

这将整个示例元素从绑定实例复制到未绑定实例。