Re: Is xsl:for-each "syntactic sugar"?
> Hi Folks,
> 1. Everything that can be done using xsl:for-each can be done using a recursive function. (True or False)
anything that can be done on a computer can be done with a recursive function so clearly the statement is true, but not very informative.
More to the point, xsl:for-each is (if you want to view it that way) syntactic sugar for apply-templates in a unique mode, with a single template that matches all nodes.
> 2. There are things that can be done using a recursive function that cannot be done using xsl:for-each. (True or False)
the two things are not comparable. "recursive function" is an abstract concept not related to any particular programming language. "xsl:for-each" is a particular syntactic construct in xslt. You can not do anything with xsl:for-each on its own, its expressive power is just related to what you use in the body, which can of course include calling recursive functions.
> > 3. xsl:for-each is syntactic sugar. (True or False)
As above, it can be seen as syntactic variation on apply-templates, however you have to work quite hard to get exactly the same behaviour with respect to variable scope.
> > 4. Favor recursive functions over xsl:for-each. (True or False)
One might always expect that compilers have an easier job to optimise specific language constructs rather than using generic programming constructs which have notionally the same behaviour. Thus one would presumably expect to find that xsl:for-each is going to be pretty efficient.
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format