Ответ 1
Нет, это не нормально.
Приложение F спецификации XML говорит:
Поскольку каждый объект XML не сопровождается внешним кодированием информации, а не в UTF-8 или UTF-16 кодирование должно начинаться с XML кодирования, в котором первые символы должны быть '<? xml ', любой соответствующий процессор может обнаружить, после от двух до четырех октетов ввода, из применяются следующие случаи.
А, но, секция F ненормативная, вы говорите.
Хорошо, раздел 2.1 дает представление для хорошо сформированного XML-документа, таким образом:
[1] document ::= prolog element Misc*
... и в раздел 2.8 мы получаем постановку для пролога:
[22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?
[23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'
Итак, вы можете опустить <? xml, но вы не можете прикрепить его ни к чему.
(Кстати, "Разное" - это категория, в которую входят комментарии).