>i tried saxon 7.1 (as i was trying to stay away from saxon only extensions to begin with), but i noted that func:function has gone away (without any documentation to that effect).
The documentation (changes.html) notes that xsl:function is provided from Saxon 7.0, replacing the previous Saxon and EXSLT function extensions.
Generally I have been maintaining support for EXSLT extensions in Saxon 7.x even where they are superseded by XSLT 2.0 or XPath 2.0 features, but stylesheet functions are rather deeply embedded in the core of the product and I really didn't want to support two different varieties of them with different syntax and semantics: so you have to use the XSLT 2.0 xsl:function instead.
From: Richard Zschech <richard.zschech@cq...> - 2004-12-09 04:40:18
Is there any chance of getting exslt's version of functions working in
the lastest version of saxon. I see they have been droped in preference
to xslt 2.0 version of functions.
From a migration point of view it would be nice if both were supported.
Would it be hard for a me to add the functionality? Could you please
give a few pointers as to how?
From: Michael Kay <mike@sa...> - 2004-12-09 15:23:27
> Is there any chance of getting exslt's version of functions
> working in
> the lastest version of saxon. I see they have been droped in
> to xslt 2.0 version of functions.
> From a migration point of view it would be nice if both were
> Would it be hard for a me to add the functionality? Could you please
> give a few pointers as to how?
I dropped func:function because it was too much of a pain to support both.
There are some difficulties in interpreting the func:function specification
in an XPath 2.0 context - for example it allows optional parameters, which
means you have to regard one func:function declaration as implementing a set
of XPath functions with the same name and different arity.
The new factory mechanisms for supporting extension functions, introduced in
Saxon 8.1, would probably make it less disruptive architecturally to have an
additional kind of function than it was at the time I took them out.
However, I have no interest in spending any time on this. If you want to do
something aid transition, why not write a stylesheet that converts
func:function definitions into XSLT xsl:function definitions? It shouldn't
be very difficult.