RE: Re: . in for
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
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