Re: [xsl] [exsl] EXSLT 1.0 - Common, Sets and Math

Subject: Re: [xsl] [exsl] EXSLT 1.0 - Common, Sets and Math
From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx>
Date: Mon, 12 Mar 2001 14:24:52 +0000
Hi Mike,

>> I'd like to use system-property() for this.  What about:
>>   system-property('exsl:common-available') => true()/false()
>>   system-property('exsl:math-available')   => true()/false()
>>   ...
> A disadvantage of this is that there's then no mechanism for third
> parties to implement the extension libraries. Up till now, the
> functions have all been implementable (many of them with a portable
> implementation) on top of an XSLT 1.1 processor that supports
> xsl:script, without changes to the processor.

That's a good point. But on the other hand, it's already possible to
test whether specific functions or elements are available with the
function-available() and element-available() functions.  If we state
that implementers must implement each module in its entirety, then you
can test whether a module is supported just by testing whether one of
the functions is available.  If we state that implementers may
implement any functions/elements from the module that they wish, then
you shouldn't test whether the module is available anyway, but test
each function/element as you use it.

So why have a test at all? Well, there are some things that we could
add to EXSLT that don't involve extension elements or functions:

  * extension attributes
  * output methods
  * sort data types
  * system properties
  * script languages (in XSLT 1.1)

There's no way to test for the availability of these values, so
they're really what we need the test for.  And having support for any
of the EXSLT values for these properties really needs something built
in to the processor anyway.

Perhaps that's too wide a scope for EXSLT, but I think it would be
jolly useful if we could have an 'exsl:xhtml' output method and a
'exsl:date' sort data type, for example.  Am I being too ambitious?

Even if the above extras weren't supported, I'd like to see EXSLT used
to specify extension elements along the lines of exsl:function,
saxon:doctype and saxon:group. Those would need to be built in too,
presumably, unless there were some standard mechanism for defining
extension elements ala Xalan's lxslt:component.



Jeni Tennison

 XSL-List info and archive:

Current Thread