in reply to Why XSLT and not just Perl?
The core use I have for XSLT at work is when I interface with my Java middleware system using SOAP. The data I get back is encoded in XML and I needed to put these into reasonably complex HTML templates.
What I didn't do was just do XML->HTML. What I did instead was use XSLT to make a file that Data::Dumper could read and then eval() that.
I know its a bit perverse but I had a morning to render some data which would have taken me hours to figure out using XPATH.
With this example in mind, it should indicate that I had data from one system that I needed to translate into another form. Both the data and the translation language followed a set of rules that everyone knows so producing said translation was just a matter of leg work.
To me that is the power of XSLT. Provided at least one side speaks XML then you can translate into almost anything. In my case, into something that made it easier to use within HTML::Template.
Of course XSLT (with XPATH et al) is a little verbose and ugly and some of the query statements are profane. But like most other technologies, you use it when its best to and don't when its not.