Нужно ли мне объявлять XML на странице с помощью типа документа XHTML?

Я видел некоторую противоречивую информацию о том, что документ 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 и без нее. и это прошло в обе стороны. На данный момент, я полагаю, это просто "стиль".


person ale    schedule 26.08.2009    source источник


Ответы (4)


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

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

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

Похоже на некоторую путаницу ... DOCTYPE не является тегом, как и ‹? Xml?> (Который называется объявлением XML и выглядит как инструкция обработки, но это тоже не одна из них).

Если вы включаете оба, объявление XML должно идти первым. Уловка заключается в том, что сниффер DOCTYPE IE6 обнаруживает DOCTYPE в стандартном режиме только в том случае, если они являются первым элементом на странице, что означает, что вы не можете использовать объявление XML и должны придерживаться кодировки XML 1.0 и UTF-8 (что не очень хорошо потеря).

person bobince    schedule 26.08.2009
comment
Простите за неправильное употребление слова tag. Я цитировал документацию, которую читал. - person ale; 26.08.2009

Из спецификации XHTML 1.1:

Объявление XML, подобное приведенному выше, не требуется во всех документах XML. Авторам документов XHTML СЛЕДУЕТ использовать объявления XML во всех своих документах. Авторы документов XHTML ДОЛЖНЫ использовать объявление XML, если кодировка символов документа отличается от UTF-8 или UTF-16 по умолчанию и никакая кодировка не указана протоколом более высокого уровня.

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

person james.garriss    schedule 26.04.2011

http://validator.w3.org/ принимает только материалы ‹? xml› до ‹! DOCTYPE›. Другой способ (doctype до? Xml) не будет проверен.

person André Willik Valenti    schedule 19.03.2013

Я никогда не включал его (всегда использовал только doctype), а w3c говорит, что мои проекты XHTML 1.0 Strict «действительны».

person Sampson    schedule 26.08.2009