如何在XSLT的HTML输出模式下插入实际换行字符而非<br>标签
在XSLT(method="html")中插入实际换行字符
有两种可靠的方式可以实现需求:
方法一:使用<xsl:text>输出换行实体
直接在需要插入换行的位置,用<xsl:text>标签包裹换行的Unicode实体 (LF换行符),示例代码:
<p> 第一段内容<xsl:text> </xsl:text> 第二段内容 </p>
这种方式不会被XSLT处理器忽略,会直接输出实际的换行字符到HTML结果中。如果需要Windows风格的CR+LF换行,可以改用 。
方法二:在<xsl:text>中直接写入换行
若你的XSLT文件为UTF-8编码,也可以直接在<xsl:text>内敲入换行,只要确保处理器保留空白字符:
<p> 第一段内容<xsl:text> </xsl:text>第二段内容 </p>
注意不要在<xsl:text>内混入多余空格,否则会连带输出这些冗余字符。
额外说明
- 浏览器渲染HTML时确实会忽略普通文本中的换行(除非在
<pre>标签内,或设置了white-space: pre类CSS属性),但上述方法可确保HTML源码中存在实际的换行字符。 - 不要依赖
xsl:output的indent属性,它仅用于格式化HTML结构的缩进,无法插入内容里的换行。
内容的提问来源于stack exchange,提问作者flymike
相关产品推荐
相关产品推荐

