提问人:SoniEx2 提问时间:7/18/2016 最后编辑:SoniEx2 更新时间:7/29/2016 访问量:422
XHTML5 是否需要 DOCTYPE/DTD?
Does XHTML5 require a DOCTYPE/DTD?
问:
我正在创建一种转换为 XML 的语言,它不支持 DOCTYPE/DTD。我可以在不指定的情况下使用 XHTML5 吗,或者我是否坚持必须实现 DOCTYPE/DTD?我宁愿不要,主要是为了避免语言的复杂性。<!DOCTYPE html>
答:
3赞
Alohci
7/20/2016
#1
XHTML5 必须与 XML 媒体类型一起提供,例如 .浏览器将始终以标准/无怪癖模式处理此类资源,因此在开始时放置不起作用,并且可以安全地省略。application/xhtml+xml
<!DOCTYPE html>
评论
0赞
Mr Lister
7/20/2016
但问题不在于怪癖模式。它甚至与 HTML 无关。
0赞
SoniEx2
7/21/2016
@MrLister 但答案确实说 DOCTYPE 可以安全地省略。不链接来源。
0赞
Mr Lister
7/21/2016
@SoniEx2 如果没有 DOCTYPE 声明,文件就不是 XHTML5。它是 XHTML 的一种非版本化类型。因此,如果您的问题是“我可以安全地从 XHTML 文件中省略 doctype 声明吗”,那么答案是肯定的。另一方面,如果你的问题是,“如果我省略文档类型声明,它仍然是 XHTML5 吗”,那么答案是否定的。
0赞
Mr Lister
7/21/2016
@SoniEx2 换句话说,doctype 声明不是使文件成为 XHTML 的原因。它确实定义了 XHTML 的版本。将文件定义为 XHTML 的是 xmlns 属性。
2赞
SoniEx2
7/21/2016
@MrLister 然而,你也没有链接来源。
2赞
Mr Lister
7/21/2016
#2
WHATWG 说:
在 XML 语法中,可以使用任何 doctype 声明,也可以完全省略。
以及:
该定义是可选的,但 (...)
<!DOCTYPE html>
W3C 说:
[文档类型声明] 可以选择在 XHTML 语法中使用,但 (...)
因此,我们可以放心地假设 DOCTYPE 声明是可选的。
此外,一项快速而肮脏的测试表明,在最新的浏览器中,处理带有或不带有 doctype 声明的文件没有明显的区别。只要文件类型为 或 ..xml
.xhtml
评论