内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
在编写HTML5文档时,什么是正确的方法?
<!DOCTYPE html>
要么
<!doctype html>
在HTML中,DOCTYPE不区分大小写。以下DOCTYPE全部有效:
<!doctype html>
<!DOCTYPE html>
<!DOCTYPE HTML>
<!DoCtYpE hTmL>
在XML序列化(即XHTML)中,DOCTYPE不是必需的,但如果使用它,则DOCTYPE
应该是大写:
<!DOCTYPE html>
请注意,如果您
DOCTYPE
在XHTML文档中不使用大写字母,则XML解析器将返回语法错误。 第二部分可以写成小写(html
),大写(HTML
)或者混合大小写(hTmL
) - 它仍然可以工作。但是,要符合适用于HTML兼容XHTML文档的Polyglot标记指南,应该使用小写。
HTML5
DOCTYPE必须按以下顺序包含以下组件:
1. A string that is an ASCII case-insensitive match for the string "<!DOCTYPE".
...
注意:尽管显示在所有大写字母中,但规范指出它并不敏感
XHTML5
This specification does not define any syntax-level requirements
beyond those defined for XML proper.
XML documents may contain a DOCTYPE if desired, but this is not required
to conform to this specification. This specification does not define
a public or system identifier, nor provide a formal DTD.
查看XML规范,它列出了大写的DOCTYPE,但我找不到任何声明需要'全部大写'的内容(相比之下,在上面列出的HTML5规范中,它在所有大写的示例中显示,但该规范明确指出这是不区分大小写的)。
多语种标记
能够提供格式良好的XML文档的HTML5文档有时也很有价值。
多语言标记使用由[HTML5]的第8.1.1节指定的文档类型声明(DOCTYPE)。另外,DOCTYPE符合以下规则:
* The string DOCTYPE is in uppercase letters.
所以,请注意,Ployglot标记使用常规的HTML5文档类型,但添加/更改。在我们的讨论中,最值得注意的是DOCTYPE 是全部大写的。
合计
[意见]除非你特别试图考虑它,否则我不会太担心满足XML合规性。对于大多数客户端和基于JS的服务器开发,JSON已经取代了XML。