如何用另一个文档更新实例值

How to update an instance value with another document

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

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

它工作正常并且实例值设置正确。但是,稍后我需要用另一个文档更新这个实例的值。我尝试了类似下面的方法但没有成功:

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

这只会让实例变空,即使我知道 updatedDetailDocument 不为空。 xf:setvalue 是否支持设置实例?或者还有其他方法可以做到这一点吗?

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

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

更新你的实例