...
<xf:action>
<xf:setvalue
iterate="instance('fr-send-submission-params')/@*"
ref="."
value="event(name(context()))"/>
</xf:action>
...
如何参考当前的迭代位置?与value="position()"
我可以将此位置用作xpath表达式的变量吗?与ref="/AnotherElement[position()]"
答案 0 :(得分:1)
以下作品:
<xf:action iterate="instance('fr-send-submission-params')/@*">
<xf:var name="p" value="position()"/>
<xf:setvalue ref="." value="$p"/>
</xf:action>
我认为只有使用xf:setvalue
才能逃脱,因为ref
会将表达式的评估上下文更改为单个项目,这意味着position()
会返回{{ 1 {} 1
。
警告我看到你在属性上进行迭代:我不认为属性位置保证一致。
<强>更新强>
如果您有元素,则以下情况有效,但您需要了解value
中迭代的项目:
xf:setvalue
所以我认为带有封闭动作的选项更加清晰。