xsl-list
[Top] [All Lists]

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

2007-07-23 07:09:55
You do yourself a favor when you listen to criticism, especially 
well-intentioned criticism from a source with experience in the field.
-- 
Charles Knell
cknell(_at_)onebox(_dot_)com - email



-----Original Message-----
From:     Dimitre Novatchev <dnovatchev(_at_)gmail(_dot_)com>
Sent:     Mon, 23 Jul 2007 06:52:36 -0700
To:       xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject:  Re: [xsl] Vendor extensions for XSLT - higher order functions

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(_at_)saxonica(_dot_)com> 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/


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--