如何使用其他文档更新实例值

时间:2016-12-19 09:28:48

标签: xslt-2.0 xforms xsltforms

我们正在使用XSLTForms和XSLT来显示页面。 我在页面上有一个实例,其值被设置为文档。



<xf:instance id="myDetails">
        <xsl:copy-of select="$detailDocument" />
</xf:instance>
&#13;
&#13;
&#13;

工作正常,实例值设置正确。但是,稍后我需要用另一个文档更新此实例的值。我尝试了类似下面的内容,但没有工作:

&#13;
&#13;
 <xf:setvalue ref="instance('myDetails')"><xsl:copy-of select="$updatedDetailDocument" /></xf:setvalue> 
&#13;
&#13;
&#13;

这只是使实例为空,即使我知道updatedDetailDocument不为空。 xf:setvalue甚至支持设置实例吗?或者还有其他方法可以做同样的事情吗?

1 个答案:

答案 0 :(得分:1)

<xf:setvalue>用于在XML属性或XML元素中设置文本。为了设置XML的树或子树,您需要<xf:insert> action代替。

您不知道如何获得$updatedDetailDocument,但由于这是动态的,您可能需要使用<xf:submission>检索更新的文档,在这种情况下您不会需要<xf:insert>因为<xf:submission>可以使用replace="instance"直接更新您的实例。