文档类型定义:语法问题

时间:2011-02-16 15:40:03

标签: html xhtml standards dtd web-standards

在我的网页顶部几天:

<!doctype html><html xmlns="http://www.w3.org/1999/xhtml"
lang="nl" xml:lang="nl">

Q1:
在您看来哪一个更具有错误性/更好:<!doctype html><!doctype html/>

Q2:
我想知道是否有比此短的东西,它将定义语言:
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">

那应该以{{1​​}}的{​​{1}}结尾吗?

非常感谢。

1 个答案:

答案 0 :(得分:2)

Q1:这很简单:<!doctype html/>错了。 doctype不是HTML中的自动结束标记,也不是XML。因此,HTML5的唯一有效声明是<!doctype html>

Q2:这取决于。如果您使用的是HTML而不是XHTML变体(并且xml:lang属性也没有意义),则实际上您不需要声明XML命名空间。在这种情况下,doctype(见Q1)就足够了:

<!doctype html>
<html lang="nl">
    …
</html>

另一方面,如果要使用XHTML,则应添加XML命名空间(是的,xml:lang属性)。使用XHTML 确实具有优势,主要是因为一些编辑/评估者会更严格地处理错误,从而可以更好地诊断错误。