ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> xsl-list
xsl-list
RE: [xsl] Re: . in for
by Michael Kay other posts by this author
Jan 6 2002 7:50PM messages near this date
Re: [xsl] Re: . in for | Re: [xsl] Re: . in for
>  Yes, you're right of course - the focus at the point at which the
>  user-defined function is called provides the focus for the body of the
>  function when it's defined by xsl:function, and that will propagate
>  through function (and named template) calls from those functions and
>  so on, making it impractical for the processor to spot.

There's a debate going on about whether context should be provided as an
implicit parameter to user-defined functions or not. Optimisation is
certainly a lot easier if context is *not* retained through the function
call: in other words, if the function needs to know position(), it has to be
supplied as an explicit argument. In that case it certainly is possible to
detect whether an expression uses position() or last().

(This applies equally to XPath 1.0. Saxon currently assumes the worst case:
if an expression calls an extension function, then it's assumed to need
position() and last().)

Mike Kay


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
Thread:
Dimitre Novatchev
Jeni Tennison
Dimitre Novatchev
Jeni Tennison
Dimitre Novatchev
Michael Kay
Jeni Tennison
Dimitre Novatchev
Jeni Tennison
Dimitre Novatchev
Jeni Tennison
Michael Kay
Dimitre Novatchev
Dimitre Novatchev
Michael Kay

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved