1

これは静的データで機能します。

<xsl:variable name="ExtensionData3">
<images>
    <image id="10842" width="2450" height="2200" default="1" />
    <image id="10543" width="2450" height="2200" default="0" />
    <image id="10544" width="2450" height="2200" default="0" />
</images>
</xsl:variable>
<xsl:value-of select="msxsl:node-set($ExtensionData3)/images/image[@default='1']/@id" />

これを動的データで動作させるにはどうすればよいですか?:

<xsl:variable name="ExtensionData3">
<xsl:value-of select="XMLData" />
</xsl:variable>
<xsl:value-of select="msxsl:node-set($ExtensionData3)/images/image[@default='1']/@id" />
4

1 に答える 1

0

これを動的データで機能させるにはどうすればよいですか?:

<xsl:variable name="ExtensionData3">
  <xsl:value-of select="XMLData" />
</xsl:variable>
<xsl:value-of select="msxsl:node-set($ExtensionData3)/images/image[@default='1']/@id"

/>

エラーは次の行にあります:

  <xsl:value-of select="XMLData" />

XMLDataこれにより、現在のノードの最初の子の文字列値が出力されます(テキストノードが作成されます) 。

ただし、文字列は必要ありません。ノードをコピーする必要があります。

これを行う正しい方法は次のとおりです。

   <xsl:copy-of select="XMLData" />

さらに良いことに、この場合、RTFを作成してから、それを一時ツリーに変換する必要はまったくありません。次を使用するだけです。

<xsl:variable name="ExtensionData3" select="XMLData"/>
于 2012-11-14T04:38:54.073 に答える