This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Re: . in for
- From: Dimitre Novatchev <dnovatchev at yahoo dot com>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Sun, 6 Jan 2002 12:03:31 -0800 (PST)
- Subject: [xsl] RE: Re: . in for
- Reply-to: xsl-list at lists dot mulberrytech dot com
Mike wrote:
> Dimitre wrote:
> > While your mapping operator will perform a series of
> > mappings, each producing an
> > intermediate sequence and may require too much memory, the
> > last function applies the
> > map function only once. The composition of all functions is
> > applied on every element
> > of $sequence and the resulting sequence is produced. No
> > additional memory for
> > intermediate sequences is necessary.
> >
> > This shows that it is better to have a map() function and a
> > composition operator for
> > expressions (in case XPath 2.0 will not fully support
> > higher-order functions).
> >
> As a point of information, the implementation of "for" expressions in Saxon
> 7.0 is fully pipelined, so there will never be a need to store intermediate
> sequences in memory.
We were discussing with Jeni the problem for optimisation if certain functions like
position() (or any other function, including user-defined ones, that uses the result
of the inner for as a sequence) are used in an outer 'for' and the inner 'for'
decreases the cardinality of its sequence by producing one or more empty sequences
(). This is fully described in:
http://aspn.activestate.com/ASPN/Mail/Message/xsl-list/968103
It is interesting to hear your solution -- where were Jeni and I wrong?
Cheers,
Dimitre Novatchev.
__________________________________________________
Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!
http://promo.yahoo.com/videomail/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list