xslt を使用して、C# で xml を xml に変換しています。以下は、変数の割り当てが示されている xslt からの抜粋です。
<xsl:variable name="testvar">
<xsl:choose>
<xsl:when test="$condition">
<xsl:value-of select="myUtils:Method1($var1,$var2)" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="myUtils:Method2($var1,$var2)" /> <!--Method1 and Method 2 are written in c# code.-->
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
上記の割り当ては、以下の割り当てとは異なります。
<xsl:variable name="testvar" select="myUtils:Method1($var1,$var2)"/>
別の変数は、以下のように上記の変数に依存します。
<xsl:variable name="testvar2" select="$testvar/node()[1]/node()[1]/node()[1]/node()[1]"/>
この変数には$testvar
、2 番目の方法で が割り当てられたときに期待される値が割り当てられます。
Method1
との両方の戻り値の型Method2
は ですXmlDocument
。に何か問題があると思います<xsl:value-of>
。この変数を割り当てる正しい方法は何ですか?
更新 次のコードで問題を解決しました:
<xsl:variable name="testvar"><xsl:copy-of select="myUtils:Method1($var1,$var2)"/></variable>
2 番目の変数については、以下のコードを使用しました。
<xsl:variable name="testvar2" select="msxsl:node-set($testvar)/node()[1]/node()[1]/node()[1]/node()[1]"/>
詳細については、このリンクを参照してください。