Нужно ли объявить XML на странице, используя Doctype XHTML?

StackOverflow https://stackoverflow.com/questions/1335133

  •  20-09-2019
  •  | 
  •  

Вопрос

Я видел какую -то противоречивую информацию, которую документ XHTML также должен объявлять себя XML.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Однако в других местах, которые я вижу (включая w3.org), что Doctype должен быть первым ярлык декларация.

Поскольку W3 говорит это, это должно быть правдой. Тем не менее, у меня, вероятно, есть несколько страниц/приложений, которые лежат о том, что следуют первым методам. Каковы мои риски?

Редактировать: Я только что пропустил страницу через W3 Validator с и без декларации XML, и оно прошло в обе стороны. На данный момент, я предполагаю, что это просто «стиль».

Это было полезно?

Решение

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

... это версия по умолчанию и кодирование для XML, так что вам это вообще не нужно. Если вы обслуживаете XHTML как текст/HTML, это, вероятно, не должно быть вообще.

Однако в других местах я вижу (включая w3.org), что Doctype должен быть первым тегом.

Похоже, что -то путаница ... Doctype не тег, и тоже тожеu003C?xml?> (который называется декларацией XML и выглядит как инструкция по обработке, но это тоже не один из них).

Если вы включаете оба, декларация XML должно быть на первом месте. Хитрость заключается в том, что Doctype Sniffer's IE6 обнаруживает только Doctypes режима стандартов, если они первые вещи на странице, что означает, что вы не можете использовать объявление XML, и вы должны придерживаться кодирования XML 1.0 и UTF-8 (что не отлично потеря).

Другие советы

От XHTML 1.1 Спецификация:

Декларация XML, подобное указанному выше, не требуется во всех документах XML. Авторы документов XHTML должны использовать декларации XML во всех своих документах. Авторы документов XHTML должны использовать объявление XML, когда кодирование символов документа иное, чем UTF-8 или UTF-16 по умолчанию, и кодирование не указывается по протоколу более высокого уровня.

http://www.w3.org/tr/xhtml11/conformance.html

http://validator.w3.org/ только принимаетu003C?xml> вещи раньшеu003C!DOCTYPE> Анкет Другой путь (Doctype раньше? XML) не будет подтвержден.

Я никогда не включал его (всегда ушел только с Doctype), и W3C говорит, что мои строгие проекты XHTML 1.0 «действительны».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top