背景:
构建提交的表单(使用 XSLTForms),然后用户可以在以后重新提交。我们希望用户在表单输入旁边看到他们之前提交的值,所以我们加载了 2 个实例“数据集”和“旧数据集”。这在大多数情况下都有效,但不是我们有重复的地方。无论出于何种原因,当从“旧数据集”实例调用数据时,position() 方法总是返回“1”。例如:
<xf:repeat nodeset="instance('data-set')/references/reference">
<xf:group ref=".">
<xf:label>Reference <xf:output value="position()"/></xf:label>
<xf:input ref="/org_name">...</xf:input>
<xf:output ref="instance('old-data-set')/references/reference[position()]/org_name"/>
</xf:group>
</xf:repeat>
该position()
方法在标签中有效,但在尝试从第二个实例获取值时始终返回“1”。例如上面的产生:
<label>Reference 1</label>
<input>Org name 1</input>
<output>Old org name 1</output>
<label>Reference 2</label>
<input>Org name 2</input>
<output>Old org name 1</output>
<label>Reference 3</label>
<input>Org name 3</input>
<output>Old org name 1</output>
如何调用重复的 position() 以便我可以使用它从“旧数据集”实例中获取正确的值?