I had the opportunity to learn some XSL this week, and was quite excited to dive on in to this hot technology.
2 days later, I was all ready to write a full piece on XSL and how much of a stinking turd it is. But after some Googling, I realized I didn’t have to, because other people already wrote that article, 4 years ago:
XSLT, Perl, Haskell, & a word on language design [kuro5hin]
XSL Considered Harmful [xml.com]
So I’ll be brief:
* XSL is a programming language, despite what you may have been told.
* XSL Stinks. Stinks Bad. Really Bad. It’s hard to use. Really hard. It’s hard to read, too.
* XSL makes easy stuff hard, and hard stuff damn-near impossible. Try munging a string or date with XSL.
* XSL exists in the weird vacuum world where XML is the be-all, end-all problem solver. This world is called ‘The World where XML is something more than text files’
* XSL is a product of the “Markup Geeks”, who seem to think that programming in a markup language is a good thing. ‘It’s Turing complete!’ Right. That’s what matters to a programmer on a crunch deadline, Turing completeness.
* XSL is a W3C spec – more proof that the W3C has gone completely bonkers.
* Pick a programming language – any programming language – and accomplish the same task in 5 minutes, in 5 lines, as a whole gob of XSL does.
I predict the quiet and unceremoneous death of XSL in the near future. Look at ASP.NET, Smarty, JSTL, CFML, Mason, Freemarker, or any simple template class to see why.*
* Hint: You can transform XML in damn-near any programming language – Javascript, Flash, PHP, etc…