Я закончил тем, что делал это, я чувствовал, что это было самым чистым:
formatters = {
'RED': '\033[91m',
'GREEN': '\033[92m',
'END': '\033[0m',
}
print 'Master is currently {RED}red{END}!'.format(**formatters)
print 'Help make master {GREEN}green{END} again!'.format(**formatters)
Нет, это не нормально.
Приложение 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, но вы не можете префикс его
(Кстати, «Разное» - это категория, в которую попадают комментарии).
Объявление XML определяет кодировку документа, которая так же важна для комментариев, как и для структурного XML. Следовательно, декларация должна идти первой. Я не удивлюсь, если многие читатели XML смогут справиться с этим, но это плохая идея.
Нет, это не соответствует стандартам XML, но комментарии хороши.