Являются ли одиночные кавычки действительными в Doctype?

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

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

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

Как указано в принятом ответе , одинарные кавычки являются абсолютно допустимыми. Однако цитируемые значения в doctype не обязательно являются атрибутами, поэтому разрешены одинарные кавычки? Другими словами, существует ли действующий doctype? Кроме того, если это допустимый 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

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

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

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

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

Тип doctype с одинарными кавычками также кажется проверять как можно точнее.