Re: [xsl] [exsl] Re: Draft 0.1 - call for comments (longish...)

Subject: Re: [xsl] [exsl] Re: Draft 0.1 - call for comments (longish...)
From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx>
Date: Mon, 26 Feb 2001 13:42:46 +0000
Hi Kevin,

>>I see the route being:
>>  user-defined extension functions (in XSLT or other languages) ->
>>    community standardisation ->
>>       W3C standardisation
> I guess we differ here. It not clear to me that the first step is
> required although XSLT based user-defined extensions would at least
> be portable if it is. I don't think we have a strong enough case
> either way but it looks like an expensive option to assume we do
> need user-defined functions.

That's fair enough. I can't say that I've ever used user-defined
extension functions much (and those that I have have tended to be for
things that I couldn't do in XSLT anyway). But then I didn't use the
node-set() extension function until RTFs were taken out of XSLT 1.1,
and boy has it made my life easier now that I can! That's why I'm
really interested in hearing from people who *do* use saxon:function
about why they use it.

Mind you, it will always be the case that any particular use case for
having user-defined extension functions can be met by the "let's make
it a community standard" argument. And a built-in extension will
always win over a user-defined one in terms of efficiency, ease of
implementation and complexity.

On the other hand, the user-defined extension wins in terms of process
and portability. It is always going to be a lot simpler for an author
to create the function they want rather than put it forward to the
community to discuss, have it bundled together with various other
functions to make a new version of the community standard extension
functions, and wait for that to be implemented in the new version of
the implementation they use.

Similarly, it is going to be easier in the long run for an implementer
to have a generic way of adding extension functions than to implement
every extension function that comes along. I think that Mike Kay noted
that the Saxon extension functions are all implemented as if they were
user-defined extension functions.

It's also worth noting that the cat is out of the bag already - almost
every XSLT processor already offers some way of adding user-defined
extensions, whether through a special element or through namespace
resolution.  All EXSLT is doing is standardising a way of doing this
using XSLT (+ EXSLT).



Jeni Tennison

 XSL-List info and archive:

Current Thread