Мне придётся иметь дело с простым форматированным текстом из нескольких источников в разных форматах, типа Markdown. Фишки вроде вставленных таблиц или изображений не потребуются, только начертания шрифта, моноширинный текст и, возможно, цвет.
Понятно, что проще всего выбрать одно представление для такого текста и конвертировать в него всё, что поступает на вход. Вопрос в том, какое представление выбрать - желательно, чтобы данные были текстовыми, для упрощения передачи, хранения и отладки.
XML хорош тем, что может храниться в простой строке и достаточно прост в экранировании. Он поддерживается из коробки, через lxml или аналоги. Его вариант
enriched text вполне даёт нужное подмножество возможностей. Но он довольно многословен, и конвертация текста будет утомительной - по дереву тегов набегаешься.
Markdown компактен и тоже может храниться в простой строке. Но он сложнее в экранировании, и не поддерживает цвет (насколько я знаю). При экспорте в markdown это не беда, но вот при импорте хотелось бы сохранить всё, что можно. Не уверен насчёт библиотеки, которая умела бы markdown - наверняка есть, но нужно искать и изучать.
RTF более-менее распространён, но он довольно замороченный и напоминает TeX. В плане работы с ним мне кажется, что он будет сочетать многословность XML и нетривиальность markdown.
Какие ещё есть варианты?