Допустимы ли одинарные кавычки в Doctype?
Вопрос
Как указано в этот вопрос, одинарные кавычки в html либо стали более популярными, либо мы начали замечать их чаще.
Как бы то ни было, у меня есть связанный с этим вопрос.В HTML 4.01 Strict
введите документ, как показано на w3schools ( школы w3 ) (ниже) использует двойные кавычки.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
Как указано в принятый ответ, одинарные кавычки вполне допустимы.Однако значения, заключенные в кавычки в 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'?>
Решение
Да, оба варианта действительны.
Смотрите на Спецификация SGML.В какой-то момент, просматривая все ссылки для объявления doctype, вы окажетесь на "системный идентификатор"спецификация (части, содержащие кавычки), которая определяется как:
( lit , "
system data [45] ,
lit ) | "
( lita , '
system data [45] ,
lita ) '
Синтаксис определения странный, но, похоже, разрешены либо одинарные, либо двойные кавычки (это похоже на определение значений атрибутов).
Тип документа с одинарными кавычками также, по-видимому, подтвердить просто отлично.