我正在渲染 XML Dom 对象并面临一个非常严重的问题。" "
一个问题是:每当我得到and时,我都想打破界限"¬"
。
在 IE8 中:它正确呈现" "
(新行)并将<br>
标签放在找到的位置" "
。但在 IE9 中,它会将每个单词都分成新行,无论它在哪里找到" "
,并带有一个空格(单个空格)
<xsl:template name="for-each-character">
<xsl:param name="data"/>
<xsl:variable name="lf"><xsl:text> </xsl:text></xsl:variable>
<xsl:variable name="sr"><xsl:text>¬</xsl:text></xsl:variable>
<xsl:if test="string-length($data) > 0">
<xsl:value-of select="substring($data,1,1)"/>
<xsl:if test="substring($data,1,1) = $sr or substring($data,1,1) = $lf">
<br/>
</xsl:if>
<xsl:call-template name="for-each-character">
<xsl:with-param name="data" select="substring($data,2)"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
IE8 中的输出:
您好,这是在规范字符之后换行的文本
IE9 中的输出:
你好
这
是
....等等
预期的输出应该是(在 IE8 和 IE9(或 >=IE9)中):
您好,这是在规范字符之后换行的文本
上面的模板在 Chrome 和 IE8 中正常工作,但在 IE9 中产生问题。
将不胜感激任何进一步的帮助。