xsltレンダリングで出力するアイテム(複数行のテキスト)にフィールドがあります。問題は、carrigaereturnが出力に表示されないことです-xslt出力にcarrigaereturnを表示させるにはどうすればよいですか?
3847 次
2 に答える
4
このテンプレートを使用して、改行を置き換えます。
<xsl:template name="br">
<xsl:param name="text"/>
<xsl:choose>
<xsl:when test="contains($text,'
')">
<xsl:value-of select="substring-before($text,'
')"/>
<br/>
<xsl:call-template name="br">
<xsl:with-param name="text">
<xsl:value-of select="substring-after($text,'
')"/>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$text"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
そして、次のようにテキストアイテムにそれを呼び出します。
<xsl:call-template name="br">
<xsl:with-param name="text" select="somenode/mytext"/>
</xsl:call-template>
于 2010-02-03T23:34:15.923 に答える
0
XMLソースのキャリッジリターンは空白として無視されます。(実際には、連続するすべての空白文字は1つのスペースに凝縮されます。)ただし、単純なキャリッジリターンの代わりに、おそらくこれらの1つが機能しますか?
<xsl:text>This text has
a newline</xsl:text>
または
This text has a newline
于 2010-02-03T23:21:25.720 に答える