单引号在Doctype中是否有效?

bra*_*rad 10 html quotes xhtml doctype

正如这个问题所述,html中的单引号要么变得更受欢迎,要么我们已经开始更频繁地注意它们.

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

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
Run Code Online (Sandbox Code Playgroud)

接受的答案所述,单引号完全有效.但是,doctype中的引用值不一定是属性,因此允许单引号?换句话说,以下是有效的doctype吗?此外,如果这是有效的HTML,它是否被现代浏览器接受?

<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01//EN'
    'http://www.w3.org/TR/html4/strict.dtd'>
Run Code Online (Sandbox Code Playgroud)

此外,XML doctypes也是如此吗?

<?xml version='1.0' encoding='utf-8'?>
Run Code Online (Sandbox Code Playgroud)

mol*_*olf 10

是的,两者都有效.

请参阅SGML规范.在钻取doctype声明的所有链接的某个时刻,您将最终得到" 系统标识符 "规范(包含引号的部分),其定义为:

( lit , "
system data [45] ,
lit ) | "
( lita ,    '
system data [45] ,
lita )  '
Run Code Online (Sandbox Code Playgroud)

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

用单引号一个DOCTYPE也似乎验证就好了.