Re: Designs for XSLT functions (Was: Re: [xsl] RE: syntax sugar for call-template)

Subject: Re: Designs for XSLT functions (Was: Re: [xsl] RE: syntax sugar for call-template)
From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx>
Date: Tue, 20 Feb 2001 17:25:32 +0000
Mike Kay wrote:
>>> Yes, but the conditional construct cannot be an extension function
>>> since a function call in XPath evaluates all its parameter
>>> *before* entering the function.
>>
>> Not necessarily; XSLT and XPATH give implementors considerable
>> latitude wrt evaluation strategies.  I suspect that most XSLT
>> processors already use lazy evaluation to some degree.
>
> Yes indeed. Saxon currently pre-evaluates all the arguments in the
> case of an extension function, but for built-in functions it passes
> the unevaluated expression and leaves the function implementation to
> decide when and how to evaluate the argument.

By 'extension function' here, I guess that Mike means user-defined
extension function.

So it would be plausible for us to specify an exsl:if() function that
we want them implementers to implement and to write into that
specification that the second argument must only be evaluated if the
first argument is true, and the third argument must only be evaluated
if the first argument is false.

I like this a lot more than introducing syntax (even in an extension
element's attribute) that isn't valid XPath 1.0 syntax.

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/



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


Current Thread