使用 libxslt 时如何添加为文本?
或者,或者,td/title
通过生成不同的输出,使包括 Firefox 在内的所有浏览器在元素中正确显示换行符?
我使用的 xslt 代码:
<td>
<xsl:attribute name="title">
<xsl:for-each select="input/item">
<xsl:if test="position()!=1"><xsl:text>
</xsl:text></xsl:if>:<xsl:value-of select="."/>
</xsl:for-each>
</xsl:attribute>
</td>
这在应用 Saxon9he 时效果很好,例如导致
<td title="item1
item2
item3"/>
但是当我使用libxslt
(php 的一部分)作为 XSLT 1.0 处理器并运行与上面相同的代码时,我会在结果文件中得到真正的换行符:
<td title="item1
item2
item3"/>
导致 Firefox 错误地显示工具提示(没有换行符)。
所以我假设我必须添加disable-output-escaping
属性<xsl:text>
如下:
<xsl:text disable-output-escaping="no">
</xsl:text>
但这没有效果。