单引号在Doctype中是否有效?

时间:2010-01-11 21:58:34

标签: html xhtml quotes doctype

正如this question中所述,html中的单引号要么变得更受欢迎,要么我们已经开始更频繁地注意它们。

无论如何,我有一个相关的问题。 w3schools(下方)中显示的HTML 4.01 Strict doctype使用双引号。

<!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'?>

1 个答案:

答案 0 :(得分:10)

是的,两者都有效。

请参阅SGML spec。在钻取doctype声明的所有链接的某个时刻,您将最终得到“system identifier”规范(包含引号的部分),其定义为:

( lit , "
system data [45] ,
lit ) | "
( lita ,    '
system data [45] ,
lita )  '

定义语法很奇怪,但似乎允许使用单引号或双引号(它与属性值定义类似)。

带有单引号的doctype似乎也validate就好了。