Допустимы ли одинарные кавычки в Doctype? - PullRequest
10 голосов
/ 12 января 2010

Как указано в в этом вопросе , одинарные кавычки в html либо стали более популярными, либо мы стали замечать их чаще.

Несмотря на это, у меня есть связанный вопрос. HTML 4.01 Strict тип документа, как показано в w3schools (ниже), использует двойные кавычки.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">

Как указано в принятом ответе , одинарные кавычки являются абсолютно действительными. Однако значения в кавычках в типе документа не обязательно являются атрибутами, поэтому допускаются ли одинарные кавычки? Другими словами, является ли следующий действительный тип документа? Кроме того, если это действительный HTML, то принимаются ли они современными браузерами?

<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01//EN'
    'http://www.w3.org/TR/html4/strict.dtd'>

Кроме того, верно ли то же самое для типов документов XML?

<?xml version='1.0' encoding='utf-8'?>

1 Ответ

10 голосов
/ 12 января 2010

Да, оба действительны.

См. SGML спецификацию . В какой-то момент, просматривая все ссылки для объявления doctype, вы окажетесь в спецификации " системный идентификатор " (части, содержащие кавычки), которая определяется как:

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

Синтаксис определения странный, но кажется, что допускаются одинарные или двойные кавычки (это похоже на определение значений атрибута).

Тип документа с одинарными кавычками также, кажется, подтверждает просто отлично.

...