Subject: Re: [xsl] RE: syntax sugar for call-template From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx> Date: Fri, 16 Feb 2001 09:26:02 +0000 |
David Carlisle wrote: > Howver This is still an element and so still not usable in XPath > expressions, so I'd rather have > > ... something... > > and then have > select="my:func(xpath)" > essentially doing something equivalent to > <xsl:variable name="x"><xf:func one="xpath" /></xsl:variable> ... > select="$x" Couldn't agree more strongly. Thinking about Uche's comments on run-time dynamism and introspection yesterday (I don't know what that means but it sure sounds good) another option would be single new XSLT function: call-template('my:func', 'one', xpath, 'two', $rtf) I don't know whether this would be more or less acceptable than a means of defining XSLT user extension functions? The one big limitation is that you wouldn't be able to return node sets (aside from those constructed as an RTF) so there would be limitations on this. Even without a general call-template() function, if we're going for XSLT user extension functions there's still the issue of how the parameters are passed. In saxon:function, they're passed by position. Another alternative would be, as above, if they were passed by name using something like: my:func('one', xpath, 'two', $rtf) rather than: my:func(xpath, $rtf) I like being able to set parameters by name. It also might lead to interesting situations if you dynamically alter the names of the parameters (they're just strings, after all) [if we had a call-template() function then you could dynamically alter the name of the template too!) Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] RE: syntax sugar for call, David Carlisle | Thread | Re: [xsl] RE: syntax sugar for call, Francis Norton |
RE: [xsl] xsl:include still a probl, Michael Kay | Date | Re: [xsl] xsl:script and side-effec, David Carlisle |
Month |