<?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 (что не очень хорошо потеря).