我在页面上有一个实例。但是,我希望此实例的内容包含一些内容,这些内容是另一个实例的一部分。
<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:以某种方式插入吗?
<xf:action ev:event="xforms-model-construct">
<xf:insert nodeset="instance('subInstance')" origin="instance('defaultType')/type"/>
</xf:action>
这不起作用。事件是否正确?由于实例创建是模型构建的一部分,我想到了使用'xforms-model-construct'。但仍然没有运气!!
答案 0 :(得分:0)
是肯定的。 xf:insert确实有效。事件&#39; xforms-model-construct&#39;没有被派遣,这就是为什么我觉得它不起作用。当我将事件更改为&#39; xforms-model-construct-done&#39;时,它有效。
<xf:action ev:event="xforms-model-construct">
<xf:insert nodeset="instance('subInstance')" origin="instance('defaultType')/type"/>
</xf:action>
&#13;