Re: Congrats on the latest WD ::: lt20 -20011220/

Hi Mike,

> We did try this approach, taking out the language bindings but
> leaving <xsl:script> in. But it makes too many assumptions about the
> way in which language bindings are likely to work in different
> implementations.

OK, good argument. I suppose that the ripost would be that any
additional attributes that were required by the language binding could
be extension attributes, so you'd have:

<xsl:script namespace="some" language="saxon:java"
            saxon:class="my.extension.class.SaxonWrapper" />

<xsl:script namespace="some" language="xalan:java"
            xalan:class="my.extension.class.XalanWrapper" />

<xsl:script namespace="some" language="exsl:java"
            exsl:class="my.extension.class.Function" />

An argument for this would that at least the common functionality of
such elements could be specified in a common way, making them easier
to learn and understand. But then I guess you'd argue that there is no
common functionality between the language bindings (especially when
you consider that some of them might be defining extension elements
rather than extension functions), so they may as well be separate

I think that it would be useful to have some guidelines about creating
language bindings and these element pointers to extension function
implementations somewhere in the XSLT spec (perhaps an appendix,
referenced from the section on extensions). For example, is it
acceptable practice for processors to use namespace declarations as a
way of associating a set of function implementations with a particular
namespace, or must they use an element? Must it be a data element or
can implementations define ways of having local function definitions?
Can a single x:script element be used for more than one language

Such guidelines would also be a place to describe what should happen
when you have extension functions defined through both XSLT and one of
these data elements, even if it's just to say that it's implementation



Jeni Tennison

Received on Friday, 18 January 2002 08:41:35 UTC