Subject: RE: [xsl] [XSLT2] setting context inside funcdefs From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx> Date: Sat, 15 Feb 2003 08:05:00 -0000 |
> 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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] [XSLT2] setting context i, Michael Kay | Thread | Re: [xsl] [XSLT2] setting context i, Francis Norton |
RE: xslt core and intuition was RE:, Roger Glover | Date | RE: [xsl] [XSLT2] setting context i, Michael Kay |
Month |