我在 xslt 渲染中输出的项目(多行文本)中有一个字段。问题是我的输出中没有显示回车 - 我需要做什么才能使我的 xslt 输出显示回车?
问问题
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 源代码中的回车被忽略为空格。(实际上,所有连续的空白字符都压缩为一个空格。)但是,也许其中一个可以代替普通的回车符?
<xsl:text>This text has
a newline</xsl:text>
或者
This text has a newline
于 2010-02-03T23:21:25.720 回答