This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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


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

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.

Cheers,

</David>

David Rosenborg
Pantor Engineering AB


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]