Тема интересная.
Немного не в тему. Для xml я написал программу для форматирования упакованного xml.
#!/usr/bin/env python
#!-*-coding: UTF-8-*-
'''Привести xml файл к smart виду (удобному для просмотра и редактирования)
Скрипт предназначен для встраивания в nautilus.
Выбирается файл
Вызов из командной строки:
smartXML.py file.xml
'''
import os, sys
import re
from lxml import etree
if __name__=="__main__":
if len(sys.argv)!=2:
print '''usage: smartXML.py file.xml'''
raise SystemExit(1)
tree = etree.parse(sys.argv[1])
#выведем весь текст
a=etree.tostring(tree, pretty_print=True)
f1=open(sys.argv[1], "w")
f1.write(a.encode('utf-8'))
f1.close()