【转】几种用XSL显示XML中换行的方法
- 首先将xml文件中的内容用CDATA显示,即:
<content>
<![CDATA[
这里有个回车<br />挖哈哈
]]>
</content>
然后在xsl中如下调用:
<xsl:value-of select="content" disable-output-escaping="yes" />即可
此法可以显示所有的html代码,实现也较为简单.
- 如果是希望xsl显示一段含有 的文字,并将中间的换行显示出来,则可以考虑下面的方法(此方法不能转换html代码)
使用xsl写的一个方法<?xml version="1.0"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/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>此方法较为繁琐,如果只需要转换换行符的话可以考虑
- 基本和上面的功能差不多,但比上面一种简单得多
<pre>
<xsl:value-of select="content" />
</pre>