You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome与Firefox中XSLT渲染<br>数量不一致,哪种显示合规?

内嵌XSLT的XML渲染差异合规性分析

问题中的XML代码

<?xml-stylesheet type="text/xml" href="#style1"?>
<!DOCTYPE message  [ <!ATTLIST xsl:stylesheet id ID #REQUIRED> ]>
<message>
  <xsl:stylesheet id="style1" version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:output method="html"/>
    <xsl:template match="/">
      <html xmlns="http://www.w3.org/1999/xhtml">
        <body>
          line 1
          <br/>
          line 2
        </body>

      </html>
    </xsl:template>
  </xsl:stylesheet>
</message>

问题描述

该XML语法合规,但Chrome渲染后DOM中会出现两个<br>标签,Firefox仅显示一个<br>标签,需判断哪种行为符合规范。

合规性分析

根据XSLT 1.0规范,当output method设为html时,处理器需严格按照模板定义输出元素:

  • 模板内仅明确声明了一个<br/>元素,符合规范的输出HTML中应仅包含一个<br>标签。
  • Chrome出现两个<br>的情况,属于其内置XSLT处理器对模板中空白文本节点(换行、空格)的错误转换,违反了XSLT对元素输出的精确性要求。

结论

Firefox的显示结果符合规范。

内容的提问来源于stack exchange,提问作者hbghlyj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 00:22:09