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

时间:2019-01-16 16:12:25

标签: html xml google-chrome xml-namespaces

为什么这不能在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>

我在这里想念什么?默认名称空间是否应该与明确指定名称空间的行为相同?

1 个答案:

答案 0 :(得分:1)

HTML不是XML。

当我在Chrome中使用application/xml内容类型进行测试时,您的代码可以正常工作。

它不能用作text/html

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