我正在生成一个包含CRLF的XML
<col4>
* Comment # 1
* Comment # 2
* Comment # 2
* Comment # 3
* Comment # 3 edited
</col4>
现在我把它转换成HTML转换后,从输出中缺少CRLF。HTML中的输出生成如下内容(缺少CRLF)
* Comment # 1 * Comment # 2 * Comment # 2 * Comment # 3 * Comment # 3 edited
我已经在使用
<xsl:preserve-space elements="*" />
和
<xsl:value-of select="." disable-output-escaping="yes"/>
请告诉我如何在输出中保留CRLF
将<col4>
中的文本括在<xsl:text>
中,应保留空白
您需要提供更多的细节—从下面可以看到,这不是XSLT进程的固有行为。
XML文件:<?xml version="1.0" encoding="UTF-8"?>
<col4>
* Comment # 1
* Comment # 2
* Comment # 2
* Comment # 3
* Comment # 3 edited
</col4>
XSLT样式表:<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:output method="html" />
<xsl:template match="col4">
<p><xsl:value-of select="." /></p>
</xsl:template>
</xsl:stylesheet>
输出:<p>
* Comment # 1
* Comment # 2
* Comment # 2
* Comment # 3
* Comment # 3 edited
</p>