我想删除所有文字后面的换行符参见图表
不需要的换行符,如notepadd ++中所示:
alt text http://img13.imageshack.us/img13/9803/clcflinebreak.png
这是我到目前为止所做的:
<xsl:template match="p">
<!-- output everything but the See the exhibit text should have the line break removed -->
</xsl:template>
有什么想法吗?谢谢!
答案 0 :(得分:13)
如果您使用转换生成HTML输出,最简单的方法通常是:
<xsl:value-of select="normalize-space($text)"/>
normalize-space
剥离前导和尾随空格,并用一个空格替换字符串中多个空格字符的运行。
要删除确切的尾随CR / LF对:
<xsl:choose>
<xsl:when test="substring(., string-length(.)-1, 2) = '
'">
<xsl:value-of select="substring(., 1, string-length(.)-2)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."/>
</xsl:otherwise>
</xsl:choose>
答案 1 :(得分:1)
<!-- Get text. Replace all “break with “ -->
<xsl:variable name="linebreak">
<xsl:text>
</xsl:text>
</xsl:variable>
<xsl:variable name="text">
<xsl:call-template name="replace-string">
<xsl:with-param name="text" select="."/>
<xsl:with-param name="replace" select="concat('“',$linebreak)" />
<xsl:with-param name="with" select="string('“')"/>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="$text"/>