0

我在页面上有一个实例。但是,我希望这个实例的内容包含一些属于另一个实例的内容。

<xf:instance id="subInstance">
    <data xmlns="">
        <xsl:choose>
            <xsl:when test="$newType= 'false' ">
                ???
                <xsl:copy-of select="????"/>
            </xsl:when>
            <xsl:otherwise>
                <!-- add a new type -->
                <type>
                    <name/>
                    <base/>
                </type>
            </xsl:otherwise>
        </xsl:choose>
    </data>
</xf:instance>

问号应该用什么代替,以便我可以从另一个实例中获取类型?

或者我应该使用xf:setvalue在事件上设置实例xforms-model-construct-done?但这不就是模型本身的构造吗?我很困惑如何使用来自另一个实例的值。

我们可以以某种方式使用 xf:insert 吗?

<xf:action ev:event="xforms-model-construct">
          <xf:insert nodeset="instance('subInstance')" origin="instance('defaultType')/type"/>
      </xf:action>

这是行不通的。事件正确吗?由于实例创建是模型构建的一部分,我想到了使用“xforms-model-construct”。但还是没有运气!!

4

1 回答 1

0

是的。xf:insert 确实有效。事件“xforms-model-construct”没有被调度,这就是我觉得它不起作用的原因。当我将事件更改为“xforms-model-construct-done”时,它起作用了。

<xf:action ev:event="xforms-model-construct">
    <xf:insert nodeset="instance('subInstance')" origin="instance('defaultType')/type"/>
</xf:action>

于 2016-09-30T01:36:03.563 回答