【发布时间】:2010-11-12 01:40:27
【问题描述】:
据我了解,XHTML(1.0、1.1)和 XHTML 5 都不需要 DTD。如果这是真的,浏览器将如何区分两者?
我只能假设当浏览器供应商支持 (X)HTML 5 时,所有 XHTML 都将按照 XHTML 5 规则进行解释(假设 XHTML 5 是 XHTML 1.0 的超集)。这就是它的工作方式吗?
【问题讨论】:
标签: xhtml dtd xml-parsing
据我了解,XHTML(1.0、1.1)和 XHTML 5 都不需要 DTD。如果这是真的,浏览器将如何区分两者?
我只能假设当浏览器供应商支持 (X)HTML 5 时,所有 XHTML 都将按照 XHTML 5 规则进行解释(假设 XHTML 5 是 XHTML 1.0 的超集)。这就是它的工作方式吗?
【问题讨论】:
标签: xhtml dtd xml-parsing
没有 XHTML 5。目前有 HTML 4.01 和 XHTML 1.0。 There will be no XHTML 2.0。只有 HTML 5。HTML 5 不是 XML 标准(意味着 HTML 5 文档不是 XML 文档)。
也许您正在查看HTML 5 + XML = XHTML 5。我想您可以将 HTML 5 表示为 XML,但据我所知这是非标准的。更具体地说,这只是文档树的序列化方法,而不是标准。
要澄清这个问题,请查看HTML 5 and XHTML 5 - one vocabulary, two serializations。即使从标题上看,它也说“一个词汇,两个连载”。还有Conversation With X/HTML 5 Team:
XHTML 5 规范说“一般来说,作者是 不鼓励尝试使用 XML Web”。为什么要编写 XML 规范 XHTML 5 然后劝阻作者 从使用它?为什么不直接放弃 支持 XML (XHTML 5)?
有些人会使用 XML HTML 5 无论我们做什么。这是一个简单的 要做的事——XML 是一种元语言 用于描述树结构,HTML 5 是树形结构,很明显 XML 可用于描述 HTML 5。 问题是如果我们不 指定它,然后每个认为 很明显,继续前进 它会以稍微不同的方式做到这一点 方式,我们将有一个 互操作性的噩梦。所以与其 我们咬紧牙关,定义它如何 如果人们这样做,就必须工作。
XHTML 1.0 是一个标准。它与 HTML 4 不同。XHTML 5,如果你可以这么说的话,只不过是用 XML 格式表示 HTML 5 文档。
【讨论】:
来自http://hsivonen.iki.fi/xhtml2-html5-q-and-a/:
如果我可以为 XHTML5 使用任何 doctype,浏览器如何区分 XHTML 1.0 和 XHTML5?
他们不能,也不需要。按照设计,实现 XHTML5 的用户代理将适当地处理以 XHTML 1.0 编写的输入。
【讨论】:
可以通过 DOCTYPE 来区分(HTML5 和 XHTML 1.x 不同),但它的存在在 XHTML5 中是非强制性的;和元素命名空间是一样的。所以,一般来说,没有很好的方法来区分它们。如果你想编写可移植的 XHTML5,我想提供 DOCTYPE 是你最好的选择。
【讨论】:
浏览器不会。这些元素存在于同一个命名空间中,并且具有相同的含义,除了 WHATWG 决定更改它们的地方——例如 b 元素——浏览器将不得不应付。
【讨论】: