Fredrik Lundh wrote: > here's a simple (and only lightly tested) in-place indenter: > > def indent(elem, level=0): > i = "\n" + level*" " > if len(elem): > if not elem.text or not elem.text.strip(): > elem.text = i + " " > for elem in elem: > indent(elem, level+1) > if not elem.tail or not elem.tail.strip(): > elem.tail = i > else: > if level and (not elem.tail or not elem.tail.strip()): > elem.tail = i
which can, in fact, be simplified too: def indent(elem, level=0): i = "\n" + level*" " if not elem.text or not elem.text.strip(): elem.text = i + " " for elem in elem: indent(elem, level+1) if not elem.tail or not elem.tail.strip(): elem.tail = i (however, this is perhaps a bit too clever...) </F> _______________________________________________ XML-SIG maillist - XML-SIG@python.org http://mail.python.org/mailman/listinfo/xml-sig