Subject: Re: [xsl] <quote>XSL is NOT easy</quote>|
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Tue, 26 Jun 2007 10:45:44 +0100
Okay, I do not understand: just where and when did XSLT get such a bum rap? I just do not understand, at all, the (below) opinion on the language. This persons comment (a colleague) is in response to a templated XSLT solution I wrote for our organization. The solution is 100% XSLT for the front end (web) presentation layer, and 100% C# classes for middle and backend layers. It encapsulates a number of important business objects and processes, hence making life for the developer simpler...
<comment_begin> I have made this 'argument' to Karl S. before regarding the usage of XSL to create web pages. I have done and entire site this way and while it was technically satisfying it is in no way easy to maintain and it is yet another technology path the needs to be learned and learned well: XSL is NOT easy if you want to code professionally in it. It IS easy to use XSL but not well. .... </comment_ent>
Its hard to measure maintainability... and if you are the only member of the team with sufficient XSLT skills to maintain transforms that you wrote, then perhaps its not the right choice for your team at this time.
However, if there is someone in the team with good CSS skills but little existing programming knowledge, train them in XSLT by getting them to sit next to you and create/maintain the transforms (good CSS programmers will want to produce much cleaner HTML, and they won't tie themselves in knots trying to generate complicated hacked together markup). You can quickly answer any questions that arise (the ones that normally stump new people for a while, like counting whitespace text nodes) and steer them in the right direction of using templates. Within a short period of time, sometimes days, you have a person who is far more knowledgeable than those that raise concerns about the use of XSLT (who usually just know xsl:value-of).
At that point the argument against using XSLT because of difficulty or maintainability carries less weight because your have a "less-experienced" programmer able to do the work.