[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: [XSLT2] setting context inside funcdefs

Subject: RE: [XSLT2] setting context inside funcdefs
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Sat, 15 Feb 2003 08:05:00 -0000
RE:  [XSLT2] setting context inside funcdefs
> Hi
> 
> Inside function definitions, is there a way to set the 
> context to that 
> of the function call, so that I can write "local-name()" etc?
> 
> Or should I pass in the context node as argument, in addition 
> to all the 
> local params visible to the function call.
> Then I probably  would write s.th. like 
> "local-name($callers_context-node)"; which is more typing ...
> 

You should pass all the information the function needs (unless it's
available as a global variable) in the arguments to the function call.

We banned passing the context implicitly because it prevents many
optimizations. For example, if you're doing lazy evaluation, then you
typically have to save all aspects of the context that an expression
depends on. Saving the context "just in case" the function uses it is
very expensive. It also means you can't move function calls out of loops
and predicates such as //a[f() = 2].

Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.