in reply to XSL transformation vs. parsing of html - Performance benefits
As far as XML parsers go, XML::Bare is one of the fastest. Since it was released there are some other faster parsers, but they exchange faster parsing for slower access to the data once parsed.
Based on what you are saying, you are outputting all, or most of your data each time you parse. Because of this it is unlikely to could gain higher speed via another parser.
There are speed losses because an in between structure is created ( a perl hash ). That is bloated and inefficient when you have large XML files ( over 3 MB ). If you have XML files that large you should look at using a SAX parser. XML::Bare has a SAX parser as well, but it is pre-beta and very unstable. ( there are a bunch of other SAX parsers on CPAN )
Note that I wrote XML::Bare, and have been using it in a way similar to what you are describing for the last several years, so I am sort of biased.
Note also that there are various glitches and problems with the current version of XML::Bare. The biggest one is that you cannot have nodes named value ex: '<value>'. Using such a node -will- crash the parser.