В соответствии со спецификацией XML правильно сформированный документ XML:
document ::= prolog element Misc*
, где prolog
равно
prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?
и Misc
- это
Misc ::= Comment | PI | S
и
XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'
, что означает, что, если вы хотите иметь комментарии вверху, вы не можете иметь объявление типа XML.
Однако вы можете иметь комментарии после объявления и вне элемента документа, либо в верхней, либо в нижней части документа, поскольку Misc*
может содержать комментарии.
Спецификация согласуется с Википедией по комментариям:
2,5 комментария
[Определение: комментарии могут появляться в любом месте документа за пределами другой разметки; кроме того, они могут появляться в объявлении типа документа в местах, разрешенных грамматикой. Они не являются частью символьных данных документа; XML-процессор МОЖЕТ, но не обязан, позволять приложению получать текст комментариев. Для совместимости строка «-» (двойной дефис) НЕ ДОЛЖНА встречаться в комментариях.] Ссылки на объекты параметров НЕ ДОЛЖНЫ распознаваться в комментариях.
Все это вместе означает, что вы можете размещать комментарии везде, где нет другой разметки , за исключением того, что у вас не может быть объявления XML, если вы ведете с комментарием .
Однако, хотя в теории теория согласуется с практикой, на практике это не так, поэтому мне было бы любопытно посмотреть, как проходит ваш эксперимент.