Subject: Re: [xsl] <quote>XSL is NOT easy</quote>|
From: Kamal Bhatt <kbhatt@xxxxxxxxx>
Date: Tue, 26 Jun 2007 17:33:14 +1000
actually I find that most of the really bad code is written by programmers.Another sin that I committed when I first started is the abuse of call-template, ie assuming some XML coming into a call template. That is just confusing.
classical sins: 1. overuse of for-each. The worst ever: match on the root then do a for each on the document element!! followed by a for-each of every child of the document element, for-each of each of those etc. it was for-each all the way down. Matching of attributes using for-each, comparison of two attributes was done using for-each down all attributes until attribute with the name of the to be matched attribute, save the value of that attribute into a variable, do a for-each of parent::*/@* until the attribute to be compared with was found then doing two ifs for if the value matches and if the value does not match.
I submit that this was the most depraved and perfectly developed example of a for-each fetish ever discovered in the history of XSL-T.
2. I once worked with a computer science graduate/programmer, he didn't just know mainstream languages but also Standard ML and Scheme. He had been writiing XSL-T for more than a year, and his code was littered with stuff like <xsl:if test="count(record) > 0"><xsl:apply-templates select="record"/></xsl:if>
-- Kamal Bhatt