9

定義済みの文字列変数を xsl テキスト要素に挿入したいスタイルシートがありますが、Web の検索中にポインターが見つかりません。

例えば:

<xsl:variable name="var" select="node()/ref/text()"/>
...
<xsl:text>Some text where I want to append $var variable desperately</xsl:text>
...

$var、($var)、{$var} で試しました...

4

4 に答える 4

12
Some text where I want to include the value of <xsl:value-of select='$var'/>.

<xsl:text>空白の動作を制御するためにのみ必要であることに注意してください。ほとんどの場合、結果が期待したものと異なる場合は、単純にテキストを入力してこの要素を含めることができます<xsl:text>。:) (そして、それは複雑ではありません:<xsl:text>そうでなければ、テキストノードに空白しかない場合、または両端に避けたい追加の空白が含まれる場合に使用します。)

xsl:text編集: 変数内の空白は、使用時に保護する必要がないことに注意してください。これは、XSL 解析ステップのためだけです:

<xsl:variable name="newline"><!-- can be global -->
<xsl:text>
</xsl:text>
</xsl:variable>

<xsl:when test="starts-with(., $newline)">
  ...
</xsl:when>

Here's some text<xsl:value-of select='$newline' />with formatting.
于 2012-07-23T14:40:18.120 に答える
8

別の方法は次のとおりです。

<xsl:value-of select="concat(
    'Some text where I want to append ', 
    $var, 
    ' variable desperately')" />

少し見にくいですが、これにより、テキストと変数のテキストの間の空白を完全に制御できます。

于 2013-08-02T22:03:27.280 に答える
6

xsl:text固定テキストの出力にのみ使用され、ネストされた命令を含めることはできません。可変テキストを出力する命令はxsl:value-of.

于 2012-07-23T20:45:18.703 に答える