2016-12-19 7 views
0

XSLTFormと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はインスタンスの設定をサポートしていますか?あるいは同じことをする他の方法はありますか?

答えて

1

<xf:setvalue>は、XML属性またはXML要素内にテキストを設定するために使用されます。 XMLのツリーまたはサブツリーを設定するには、代わりに<xf:insert> actionが必要です。

あなたは$updatedDetailDocumentを取得しているか言うことはありませんが、これは動的であるため、あなたはおそらく<xf:submission>が直接replace="instance"を使用してインスタンスを更新することができますので、あなたが<xf:insert>を必要としません、その場合には<xf:submission>を使用して、その更新されたドキュメントを取得する必要があります。

+0

ありがとうございました。私はxf:insertを使ってxf:deleteを続け、古いノードを削除することができます。 – Crusaderpyro

関連する問題