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

Subject: Re: [xsl] Vendor extensions for XSLT - higher order functions
From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx>
Date: Mon, 23 Jul 2007 06:52:36 -0700
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.

There is nothing so powerful in FXSL and it implements some most basic concepts.


Concepts like: fold, map, compose, repeat/iterate   -- form the
alphabet of programming.

Certainly, if someone has arrived at grade 5 in school and still
doesn't know the alphabet, this person will find reading even ordinary
text rather "daunting".

To summarize, FXSL provides a big potential to learn, requires
learning, and this is even a bigger value than simply the provided
functionality.


-- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play

On 7/21/07, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> 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