1

在模态对话框中,当用户单击确定时,我必须在现有实例中插入不同的“模板”实例。要插入的模板实例的数量取决于另一个节点集中的元素数量。我试图以这种方式实现这种行为:

<xforms:trigger>
    <xforms:label>OK</xforms:label>
    <xforms:action ev:event="DOMActivate">
        <xforms:repeat nodeset="$currentBranche/../../Eleves/Eleve">
            <xforms:insert context="instance('examen-template')/Notes" nodeset="Note" at="1" position="before" origin="instance('note-template')"/>                                
        </xforms:repeat>
        <xforms:insert context="$currentBranche/Examens" nodeset="Examen" at="1" position="before" origin="instance('examen-template')"/>
        <xxforms:hide dialog="create-examen"/>                            
    </xforms:action>
</xforms:trigger>

我收到以下错误:Invalid action: {http://www.w3.org/2002/xforms}repeat

这是否意味着我不能xforms:repeat在 a 中使用xforms:action?如果是这种情况,我该如何实现所需的行为?

4

2 回答 2

2

xforms:repeat您可以在 XForms 2.0 中使用 @iterate代替(迭代属性),它至少已经在 Orbeon 中实现为 xxforms:iterate :由于迭代,更强大的 XForms 操作

-阿兰

于 2012-12-16T15:28:39.813 回答
2

正如 Alain 所提到的,xforms:repeat它是一个用户界面元素,不能在操作中使用。

而是在支持它的实现中使用 XForms 2.0iterate属性。自2012 年 3 月 10 日提交以来的 Orbeon Forms 版本支持它。如果您使用 Orbeon Forms 3.9 或 2012 年 3 月 10 日之前的版本,请使用xxforms:iterate扩展。

于 2012-12-17T01:04:33.820 回答