Client-side XSLT is major PITA, though. I doubt I will be using it anywhere else, not in a near future.
It forces browsers in some serious XHTML mode, that I can't get otherwise, even with correct MIME type and XML declaration. Effect of that is crippled JavaScript - jQuery, reCAPTCHA, @Anywhere, Firebug doesn't work, cookies don't work and a lot more [0]. It's not so hard to write correct JavaScript, but apparently no one does that. Newer versions of Google Analytics work and Ext JS too.
Another downside is that you will need to do server-side transformations anyway, for old browsers and Google. That complicates things, not because it's hard to implement the functionality and not even so much because XSLT implementations differ, but because of crazy browser tantrums, you would think that XSLT is XSLT, no matter where you do it, but no, I had a page that works when sent to browser, but don't work on browser when transformed on server.
Oh, and great fun when you need to inject HTML into XSL template, thanks to Firefox not supporting disable-output-escaping="yes".
Anyway, even after all the pain and general complexity, I still like XSLT and will probably be using it more, but just on server-side.
[0]
http://developer.mozilla.org/en/Writing_JavaScript_for_XHTML