HTML默认名称空间与显式名称空间

问题描述 投票:0回答:1

为什么在Chrome上无法正确呈现:

<h:html xmlns:h="http://www.w3.org/1999/xhtml">
  <h:head/>
  <h:body>
    <h:ul>
      <h:li>
        A
      </h:li>
      <h:li>
        B
      </h:li> 
    </h:ul>
  </h:body>
</h:html>

虽然这确实正确呈现? :

<html xmlns="http://www.w3.org/1999/xhtml">
  <head/>
  <body>
    <ul>
      <li>
        A
      </li>
      <li>
        B
      </li> 
    </ul>
  </body>
</html>

我在这里错过了什么? Doens't默认命名空间应该与明确指定命名空间的行为相同吗?

html xml google-chrome xml-namespaces
1个回答
1
投票

HTML不是XML。

当我在Chrome中使用application/xml Content-Type测试时,您的代码运行正常。

它不像text/html那样工作。

HTML允许xmlns属性与XML兼容,并且允许将一些XML(例如SVG)嵌入其中,但HTML解析器不支持HTML元素的命名空间别名。

© www.soinside.com 2019 - 2024. All rights reserved.