如
this question年所述,html中的单引号已经变得更受欢迎,或者我们已经开始更频密地注意到它们.
无论如何,我有一个相关的问题. HTML 4.01严格的doctype如w3schools(下)所示使用双引号.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
如accepted answer所述,单引号完全有效.但是,doctype中的引用值不一定是属性,因此允许使用单引号?换句话说,以下是有效的doctype吗?此外,如果这是有效的HTML,现代浏览器是否接受?
<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01//EN' 'http://www.w3.org/TR/html4/strict.dtd'>
而且,同样适用于XML doctypes?
<?xml version='1.0' encoding='utf-8'?>
解决方法
是的,两者都是有效的.
参见SGML spec.在某些时候,通过doctype声明的所有链接进行钻取时,最终将以“system identifier”规范(包含引号的部分)定义为:
( lit," system data [45],lit ) | " ( lita,' system data [45],lita ) '
定义语法很奇怪,但是似乎允许使用单引号或双引号(它类似于属性值定义).
单引号的doctype也似乎是validate.