【问题标题】:How to update an instance value with another document如何使用另一个文档更新实例值
【发布时间】:2017-05-04 07:38:41
【问题描述】:

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

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

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

 &lt;xf:setvalue ref="instance('myDetails')"&gt;&lt;xsl:copy-of select="$updatedDetailDocument" /&gt;&lt;/xf:setvalue&gt; 

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

【问题讨论】:

    标签: xslt-2.0 xforms xsltforms


    【解决方案1】:

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

    你没有说你是如何得到$updatedDetailDocument的,但由于这是动态的,你可能需要使用&lt;xf:submission&gt;检索更新的文档,在这种情况下你不需要&lt;xf:insert&gt;,因为&lt;xf:submission&gt;可以使用replace="instance" 直接更新您的实例。

    【讨论】:

    • 谢谢。我可以使用 xf:insert 后跟 xf:delete 来删除旧节点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-28
    • 2016-11-16
    相关资源
    最近更新 更多