【问题标题】:HTML 5 Adding XML NamespacesHTML 5 添加 XML 命名空间
【发布时间】:2026-01-25 02:20:03
【问题描述】:

谁能告诉我如何向 HTML 5 文档添加额外的 XML 命名空间?

我正在尝试创建以下 HTML 5 版本

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:og="http://ogp.me/ns#"
      xmlns:fb="https://www.facebook.com/2008/fbml">

是不是简单的去掉xhtml命名空间的情况:

<html xmlns:og="http://ogp.me/ns#"
      xmlns:fb="https://www.facebook.com/2008/fbml">

谢谢。

【问题讨论】:

    标签: html facebook xml-namespaces


    【解决方案1】:

    根据 WHATWG,在 html 5 中,只要命名空间是 http://www.w3.org/1999/xhtml(文档的命名空间),您就可以在每个 html 元素上使用 xmlns 属性

    是否支持 HTML 中的命名空间?

    HTML 是根据 DOM 和解析文本/html 期间 所有 HTML 元素都将是 自动放入 HTML 命名空间, http://www.w3.org/1999/xhtml。然而, 与 XHTML 序列化不同,有 没有真正的命名空间语法可用 在 HTML 序列化中(参见 上一个问题)。换一种说法, 你不需要声明 命名空间在您的 HTML 标记中,因为您 在 XHTML 中做。然而,你是 允许将 xmlns 属性放在 每个 HTML 元素只要 命名空间是 http://www.w3.org/1999/xhtml

    【讨论】: