问题描述
|
以下是我的xslt格式-
<?xml version=\"1.0\"?>
<xsl:stylesheet version=\"1.0\" xmlns:ms=\"urn:schemas-microsoft-com:xslt\" xmlns:dt=\"urn:schemas-microsoft-com:datatypes\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">
<xsl:output method=\"text\" indent=\"yes\" />
<xsl:template match=\"/\">
<xsl:for-each select=\"CallXML\">
Added by Vinserve do not delete this line. %$ <xsl:value-of select=\"sCallID\"/> $%
Dear <xsl:value-of select=\"sMailTo\"/>,<xsl:text>
</xsl:text>
<xsl:value-of select=\"sCommentBy\"/> added a comment to call made by <xsl:value-of select=\"sCallOwner\"/>.
<xsl:text>
</xsl:text>
Comments: On( <xsl:value-of select=\"sCommentDate\"/>)
<xsl:text>
</xsl:text>
--------------------------------------------------------
<xsl:text>
</xsl:text>
<xsl:value-of select=\"sComment\"/>
<xsl:text>
</xsl:text>
Original Call Details
<xsl:text>
</xsl:text>
----------------------
<xsl:text>
</xsl:text>
<xsl:value-of select=\"sCallSub\"/>,<xsl:value-of select=\"sCallDate\"/>,<xsl:value-of select=\"sCallType\"/>,<xsl:value-of select=\"sCallOption\"/>
<xsl:text>
</xsl:text>
Party: <xsl:value-of select=\"sPrimaryParty\"/>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
我已经在换行符中使用了“ 1”标签。我不想使用<br>
或任何html tags for new line character
。我的输出将以html或文本格式显示。
我什至尝试使用

和其他类似字符作为换行符。但是它没有给我任何结果。我不明白为什么我没有得到新线的确切问题。有人可以帮我吗?
谢谢。
解决方法
要在XSLT输出中添加换行符,通常最好对字符实体使用
<xsl:text>
:<xsl:text> </xsl:text>
但这不会为HTML文档“工作”,即使它确实向源输出了换行符。
HTML规范定义所有空白都应折叠。这意味着所有换行符和制表符都转换为空格字符,而所有后续空格都转换为一个空格。如何完成此操作取决于HTML查看器应用程序。因此,在HTML中,向用户显示强制换行符的唯一方法是使用<br>
元素。但是,对于所有XML语言而言,ѭ2并不是通用的换行符,因此<br>
仅在(X)HTML文档中显示为换行符。
, 您是否尝试过:
<xsl:text>
</xsl:text>
要么
<xsl:text> </xsl:text>
如果您的输出方法为ѭ12,则HTML标记将不起作用,而上方(或为xsl:text
)旋转的实体则不会。