我们正在使用XSLTForms和XSLT来显示页面。 我在页面上有一个实例,其值被设置为文档。
<xf:instance id="myDetails">
<xsl:copy-of select="$detailDocument" />
</xf:instance>
&#13;
工作正常,实例值设置正确。但是,稍后我需要用另一个文档更新此实例的值。我尝试了类似下面的内容,但没有工作:
<xf:setvalue ref="instance('myDetails')"><xsl:copy-of select="$updatedDetailDocument" /></xf:setvalue>
&#13;
这只是使实例为空,即使我知道updatedDetailDocument不为空。 xf:setvalue甚至支持设置实例吗?或者还有其他方法可以做同样的事情吗?
答案 0 :(得分:1)
<xf:setvalue>
用于在XML属性或XML元素中设置文本。为了设置XML的树或子树,您需要<xf:insert>
action代替。
您不知道如何获得$updatedDetailDocument
,但由于这是动态的,您可能需要使用<xf:submission>
检索更新的文档,在这种情况下您不会需要<xf:insert>
因为<xf:submission>
可以使用replace="instance"
直接更新您的实例。