Re: [xsl] XSLT repetition constructs
2019-03-05 09:59:56
You might also consider including fold-left() and fold-right(). In many ways these are similar to xsl:iterate in that they represent an "accumulating" iteration where a value is computed as the output of one iteration and supplied as input to the next. The main differences are (a) xsl:iterate has multiple iteration parameters, fold-left/fold-right only have one; (b) xsl:iterate has a break option, fold-left/fold-right do not.
You can't assume that recursion will be inefficient (either in time or space). It all depends on the implementation. With tail call optimization, there should be very little difference.
There's also, of course, the option of "for $x in...", and the bang operator (and indeed the "/" operator). The bang operator (!) is semantically equivalent to xsl:for-each.
Michael Kay Saxonica
Hi all,
Any comments, corrections to this document are welcome.
|
|
|