xsl-list
[Top] [All Lists]

Re: [xsl] XSLT repetition constructs

2019-03-07 05:23:26
Hi all,
    I've updated the document I've prepared, at the same link (
http://gandhimukul.tripod.com/xslt/xslt_repetition_constructs.pdf)
discussing fold-left() and fold-right() functions as well.

I hope to edit the document I've prepared as I learn more about this topic.
Any more comments are welcome as well.

On Tue, Mar 5, 2019 at 9:29 PM Michael Kay mike(_at_)saxonica(_dot_)com <
xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:

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





-- 
Regards,
Mukul Gandhi
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--
<Prev in Thread] Current Thread [Next in Thread>