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 19:39:18 +0100
> Reading between the lines it sounds like XQuery really is 
> dumbed-down XSLT.

There's a sense in which that's true. A significant motivation among the
XQuery designers was to make the language amenable to static analysis, so
that you could optimize database queries, implement streaming, and such
like. They therefore wanted to keep the language small and to avoid features
like polymorphism and rule-based processing that make static analysis
difficult.
> 
> Anyway, as an insider, Mike, are you able to say just why 
> higher-order functions were left out of XSLT/XPath 2.0?

Because there was never a serious proposal on the table to put them in. Why
not? Because no-one wrote one. Why did no-one write one? You have to ask
each member of the committee why they didn't write one. If you ask me why I
didn't, it's because I thought that 2.0 was already too big a step from 1.0
and that we ought to move forward in smaller increments, giving us a chance
to produce a new version after 3 years instead of after 7. And I had already
pushed hard for dynamic evaluation (xx:evaluate()) and lost that battle, so
I was licking my wounds in that area...
> 
> What the heck is wrong with the W3C 

Standards work is a fascinating process and from the outside it always looks
as if the people are totally incompetent. They aren't; the WGs are made up
of many very clever and creative people. However, if you put 20 of the
world's best composers in a room together they won't necessarily produce a
wonderful piece of music. A standard contains features that everyone can
agree on, and that tends to stifle some of the more creative ideas. Remember
that the process isn't designed to encourage innovation or technical
excellence; it's designed to encourage interoperability.

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

Current Thread