浏览器如何区分XHTML 1.0和XHTML 5?

时间:2009-07-19 06:14:14

标签: xhtml dtd xml-parsing

据我了解,XHTML(1.0,1.1)和XHTML 5都不需要DTD。如果这是真的,浏览器将如何区分这两者?

我只能假设当浏览器供应商支持(X)HTML 5时,所有XHTML都将在XHTML 5规则下解释(假设XHTML 5是XHTML 1.0的超集)。这是怎么回事?

4 个答案:

答案 0 :(得分:3)

来自http://hsivonen.iki.fi/xhtml2-html5-q-and-a/

如果我可以为XHTML5使用任何doctype,浏览器如何区分XHTML 1.0和XHTML5?

他们不能,他们不需要。按照设计,实现XHTML5的用户代理将适当地处理作为XHTML 1.0创作的输入。

答案 1 :(得分:2)

没有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文档。

答案 2 :(得分:2)

浏览器不会。这些元素存在于同一名称空间中,并具有相同的含义,除非WHATWG决定更改它们 - 例如b元素 - 浏览器将不得不混淆。

答案 3 :(得分:-1)

可以通过DOCTYPE(HTML5和XHTML 1.x不同)进行区分,但它的存在在XHTML5中是非强制性的;和元素命名空间是一样的。所以,一般来说,没有好办法区分它们。如果你想编写便携式XHTML5,我想提供DOCTYPE是你最好的选择。