xsl-list
[Top] [All Lists]

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,
    I've written a document explaining different XSLT repetition constructs. Its available at, http://gandhimukul.tripod.com/xslt/xslt_repetition_constructs.pdf.

Any comments, corrections to this document are welcome.




--
Regards,
Mukul Gandhi


<Prev in Thread] Current Thread [Next in Thread>