2012 RC中有哪些新的HTML文档类型?

5

我刚安装了VS 2012 RC,在HTML工具栏下拉菜单中有许多新选项:

  • DOCTYPE: HTML5
  • HTML5
  • XHTML5

两个HTML5选项之间有什么区别?我认为HTML5的建议是不要指定DOCTYPE,所以第一个选项有点像“你想加咖啡因吗?”

我很确定W3C放弃了XHTML,转而发展HTML,那这个新的XHTML5选项是什么呢?更新:似乎维基百科有答案

提前感谢!

更新:针对未回答的问题发布了一个新问题

PS:我不是在寻找下拉菜单目的的解释,而是在寻找选择“DOCTYPE:HTML5”和“HTML5”之间差异的解释。

2个回答

6
关于HTML5与DOCTYPE的问题,以下是我在使用VS 2012 RTM时观察到的情况:
DOCTYPE:{value}选项告诉VS检查你的页面,并尝试从DOCTYPE和html标签中确定应用哪个级别的验证。例如,如果我创建一个页面,开头如下所示:
<!DOCTYPE html>
<html>
...

然后,如果 DOCTYPE:{value} 选项变成 DOCTYPE:HTML5。但是,如果我的页面像这样开始:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
...

那么它就变成了DOCTYPE:XHTML5。

没有DOCTYPE前缀的选项会强制VS使用所选的验证级别,而不管您的页面的结构/内容如何。


1
太棒了 - 这正是我在寻找的答案! - Morten Mertner

2
XHTML 5.0通常写作XHTML5,意味着使用XHTML序列化的HTML5。参考:W3C HTML5草案中的HTML vs XHTML。因此,它是使用符合XML标记的HTML5编写的。是的,“XHTML5”的名称很奇怪也很令人困惑,但它可能被选为其假定的酷炫因素。
所有HTML5草案都要求使用DOCTYPE引导程序。例如,在W3C HTML5草案中,参见The DOCTYPE。即使在正式上也不是文档类型声明(HTML5没有DTD,而我的尝试编写一个表明这将是相当棘手的)。相反,它只是一个神奇的字符串,用于让浏览器应用“标准模式”与“怪异模式”。它做得很好。
要了解“DOCTYPE:HTML5”和“HTML5”之间的区别,请查看它们对结果源代码的影响。我猜后者意味着没有DOCTYPE序言的HTML5,这是不合逻辑的,因为HTML5需要序言。如果是这种情况,“HTML5”会将浏览器切换到“怪异模式”,这通常对于任何新页面都不好,但如果想避免重大重写,则经常是旧页面所必需的。

它在哪里被称为XHTML 5.0?我从未在任何官方文档中看到过这样的称呼。 - Alohci
我一直在使用 <!DOCTYPE html><html>...</html>,这似乎很好用。问题是,在编辑类似HTML的东西时,VS中的下拉菜单只会显示,并且仅控制文档的验证方式。但我不明白为什么它需要两个HTML5选项.. - Morten Mertner
@Jukka的“检查它们对结果源代码的影响”没有意义。在我选择下拉值之前,源代码已经存在。 - Morten Mertner
@Alohci,这有点挑剔,但我理解你的观点。然而,所有这些都没有帮助回答原始问题。 - Morten Mertner
抱歉造成困惑,我不应该提到“XHTML 5.0”的拼写。无论如何,剩下的问题是“DOCTYPE: HTML5”和“HTML5”的区别,显然只在某些验证/检查中有所不同。通过测试各种简单的不正确文档可能会揭示这一点。听起来有点像“DOCTYPE: HTML5”是指基于DTD的验证。 - Jukka K. Korpela
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接