RE: [xsl] Vendor extensions for XSLT - higher order functions

Subject: RE: [xsl] Vendor extensions for XSLT - higher order functions
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Sat, 21 Jul 2007 15:03:32 +0100
> I am curious to know why some XSLT vendors have implemented 
> one or more XSLT extension functions with their product to 
> make for the implementation of higher-order functions (HOF) in XSLT.

In the case of Saxon, it was needed by an XQuery user, and availability in
XSLT was just a spin-off. It's not possible to use the FXSL approach in
XQuery because it relies on xsl:apply-templates. In fact, this kind of
capability is needed much more in XQuery because even without FXSL, there
are many things you can do with xsl:apply-templates to handle dynamic
content that have no simple solution in XQuery.

In fact, in business applications I far more often see the need for
saxon:evaluate() (in both XSLT and XQuery) where expressions are constructed
at run-time from strings. But saxon:evaluate() is easy to understand, and it
often gets used to solve problems where compile-time higher-order functions
would be a cleaner and more efficient solution.

FXSL, unfortunately, is so powerful that I think many "ordinary" users find
it rather daunting. A gentler introduction, using examples from the world of
commercial IT systems rather than computer science, would help to sell it to
the general public.

Michael Kay
http://www.saxonica.com/

Current Thread