避免 XSLTForms 主表单数据模型替换

Avoiding XSLTForms main form data model replacement

我正在使用子表单(非常有用!)但我遇到了一个问题:我需要某些子表单加载一些 JS 行为和一些 "xf:setdata" 操作,所以在 header 这些我包含的子表单是这样的:

<head>
    <xf:model xmlns="" id="aux">
        <xf:load ev:event="xforms-subform-ready" resource="javascript: loadMagicMenu('#mainMenu');"/>
    </xf:model>
</head>

这样做的问题是主数据模型(包含在主窗体中)丢失了,所以我无法通过添加控件来引用它。例如。这不起作用:

<xf:group model="magic-main-model">
    <xf:input ref="instance('wizzard')/@name" class="xforms-value">
        <xf:label>Name:</xf:label>
    </xf:input> 
</xf:group>

但是如果我删除子表单数据模型,它确实有效。如果下面的子窗体没有定义模型,则可以访问主模型。

所以我尝试将 "on load" 操作放在其他地方(在同一个子表单中),但是没有用。

有什么想法吗?非常感谢!

只需复制子窗体中的主要数据模型定义。我检查了是否制作了另一个克隆模型,但是没有,一切正常!