1. 首先将xml文件中的内容用CDATA显示,即:
<content> <![CDATA[ 这里有个回车<br />挖哈哈 ]]> </content>
然后在xsl中如下调用:
<xsl:value-of select="content" disable-output-escaping="yes" />
即可
此法可以显示所有的html代码,实现也较为简单
2. 如果是希望xsl显示一段含有 的文字,并将中间的换行显示出来,则可以考虑下面的方法(此方法不能转换html代码)
使用xsl写的一个方法
<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www./1999/XSL/Transform"> <xsl:template name="br"> <xsl:param name="string"/> <xsl:choose> <xsl:when test="contains($string,' ')"> <xsl:value-of select="substring-before($string,' ')"/><br/> <xsl:call-template name="br"> <xsl:with-param name="string" select="substring-after($string,' ')"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$string"/> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet>
存为brfunc.xsl
然后在xsl文件头导入此文件(必须紧接<xsl:stylesheet...>之下)
<xsl:import href="brfunc.xsl" />
在文件中需要调用时,方法
<xsl:call-template name="br"> <xsl:with-param name="string" select="content" /> </xsl:template>
此方法较为繁琐,如果只需要转换换行符的话可以考虑
3. 基本和上面的功能差不多,但比上面一种简单得多,呵呵~~ 在xsl里面:
<pre> <xsl:value-of select="content" /> </pre>
|