Sorry, pressed the wrong keys. Continuing the unfinished post:

where are the functions which would really have

made it useful without taxing the implementers? e.g trigonometry

functions for SVG; square root /log function to do simple statistics?

hex/ dec conversions which dont need 50 lines of extraneous code?

i.e. practical functions, implementable in a web browser which would not

mean re-writing the whole thing from the ground up, and which would have

done a lot more to popularize its usage.

You are describing FXSL 2.x -- and it is ready for use.

Of course, to use the FXSL 2.x functions in a browser, one must first have a

browser with XSLT 2.0 support.

FXSL 1.x can be used (and has been used) in browsers.

Besides its main advantages (implementation of higher-order functional

programming in XSLT) FXSL provides the end user with functions(/templates in

XSLT 1.0) for:

- Recursion over a list

- Iteration (N times or conditional)

- Mapping of a list

- Filtering or splitting of a list

- Zipping of two and more lists

- Functional composition (and multi-pass transformation)

- sum/product of computed values (such as sum/product of units, sums of

products, sums of results of transformations of elements of a list,

hexadecimal arithmetic or arithmetic in any other numeric system)

- min(), max(), avg()

- Trigonemetric functions with controlled precision: sin(), cos(), tan(),

cotg(), sec(), cosec().

- Exponentiation and logarithmic functions: exp(), pow() (a^x), logy(X)

- Character-wize processing of strings and bitwize processing of bit

strings

- String processing -- tokenization, replacement, spelling checking,

finding most likely candidates for spelling correction,

concordance

- Random numbers generation -- sequences of random numbers from a given

interval or with pre-specified distribution, random

shuffling of a list, ..., etc.

- Finding prime numbers

- Generation of Fibonacci numbers

- Generation of permutations, combinations, etc. of elements of a set

More advanced features:

- The means to write and evaluate Higher-Order Functions (HOF). Higher -

Order Functions are such functions that accept other functions as

parameters

or return other functions as their result.

- Provide the means for the implementation and evaluation of

currying/partial-application

More about FXSL can be found on its home page:

http://fxsl.sf.net
and I'd recommend the last ExtremeMarkup Languages conference paper at:

http://www.idealliance.org/papers/ex...ovatchev01.pdf
Cheers,

Dimitre Novatchev

"shaun roe" <sh*******@wanadoo.frwrote in message

news:sh*****************************@news.wanadoo. fr...

mild rant follows

Working now for a couple of years with xslt and now xslt 2.0, does

anyone else get the impression that xslt 2.0 somehow missed the point?

Yes its got a fancy new data model (and thank goodness for the new

grouping functions), but where are the functions which would really have

made it useful without taxing the implementers? e.g trigonometry

functions for SVG; square root /log function to do simple statistics?

hex/ dec conversions which dont need 50 lines of extraneous code?

i.e. practical functions, implementable in a web browser which would not

mean re-writing the whole thing from the ground up, and which would have

done a lot more to popularize its usage.

There's plenty of room here for a XSLT 1.5 standard implemented

retroactively...

ok that was it. I'll get back in my box now.