Hallo!
hier (http://www.cpan.org/modules/by-module/Stat/ENNO/libxml-enno-1.02.readme) steht was von einem Perl-Modul namens XML::Checker, das ein package enthält, welches das kann was du willst. Zumindest laut dem Text:
XML::Filter::Reindent - PerlSAX filter that can re-indent XML files.
Vielleicht hilfts ja was.
Gruß
Franz