Тип документа XHTML в затмении - PullRequest
0 голосов
/ 22 января 2012

При использовании встроенного шаблона для моих html-страниц в eclipse я получаю следующий код, добавляемый до xhtml doctype: <?xml version="1.0" encoding="ISO-8859-1" ?> Влияет ли этот код на html-страницы?

Ответы [ 2 ]

1 голос
/ 22 января 2012

Конструкция <?xml version="1.0" encoding="ISO-8859-1" ?> - это не проблема типа документа, а декларация XML, которая может использоваться в начале любого XML-документа, независимо от того, имеет он декларацию типа документа или нет, и является ли он XHTML или чем-то еще. Согласно спецификации XHTML 1.0 , «декларация XML не требуется во всех документах XML; однако авторам документов XHTML настоятельно рекомендуется использовать декларации XML во всех своих документах. Такое объявление требуется, когда кодировка символов документа отличается от кодировки UTF-8 или UTF-16 по умолчанию и кодировка более высокого уровня не была определена. ”

Таким образом, если документ XHTML фактически закодирован в соответствии с ISO-8859-1, декларация XML полезна и рекомендуется. Если нет, то это неверная информация.

1 голос
/ 22 января 2012

Нет, ваш HTML-код по-прежнему действителен и доступен для чтения любым браузером. (Тем не менее, он переведет IE в режим причуд для каждой версии ниже IE9 - см. @ комментарий Роба .)

Поскольку вы используете xhtml, который в основном является типом xml, браузер нуждается в некоторой кодировке для документа.

См. W3c:

Исторически кодировка символов HTML-документа либо указывается веб-сервером через параметр charset HTTP Заголовок Content-Type или через элемент meta в самом документе. В XML-документ, кодировка символов документа указана в декларации XML (например, <?xml version="1.0" encoding="EUC-JP"?>). Для того, чтобы представить документы с конкретные кодировки символов, лучший подход состоит в том, чтобы гарантировать, что веб-сервер предоставляет правильные заголовки. Если это невозможно, документ, который хочет явно установить свою кодировку символов, должен включает как объявление XML, так и объявление кодировки и meta http-эквивалентное утверждение (например, <meta http-equiv="Content-type" content="text/html; charset=EUC-JP" />). В XHTML-совместимом пользователе агенты, значение декларации кодирования декларации XML имеет приоритет.

Кстати, это только если вы используете другой набор символов, чем UTF-8 или UTF-16. Если вы используете UTF8 или UTF016 по умолчанию, есть некоторые исключения. См. W3C (снова).

...