如何用另一个文档更新实例值
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"
.
更新你的实例
我们正在使用 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"
.