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: David.Rosenborg@xxxxxxxxxx
Date: Tue, 20 Feb 2001 17:58:30 +0100
Hi Joe,

> > 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.

It's true that implementors can choose to evaluate expressions
in any fashion they like as long as the result is the same
as if evaluated by the process described in the spec. However,
this doesn't help much in this situation. The only thing
a user can rely on is (from 3.2 in the spec):

"A FunctionCall expression is evaluated by using the FunctionName to identify
a function in the expression evaluation context function library, evaluating
each of the Arguments, converting each argument to the type required by the
function, and finally calling the function, passing it the converted

By this definition a recusive function written with an exsl:if () extension
function would recurse for ever. It could work in some implementations
that for example utilize lazy evaluation, but it would be implementation
dependent hence you can't count on it.



David Rosenborg
Pantor Engineering AB

 XSL-List info and archive:

Current Thread