Re: XSL Transformations Requirements Version 1.1 - a crazy idea?

Subject: Re: XSL Transformations Requirements Version 1.1 - a crazy idea?
From: "Steve Muench" <smuench@xxxxxxxxxxxxx>
Date: Tue, 5 Sep 2000 07:55:40 -0700
| The "Crazy Idea" thread from September 1999 came up with some
| interesting ideas for allowing extension functions in XSLT itself - for
:
| 
| There are plenty of interesting possibilities for XSLT/XPath v2.

Francis,

You may want to check out Michael Kay's implementation
of the <saxon:function> extension element in Saxon 5.4:

http://users.iclway.co.uk/mhkay/saxon/extensions.html#saxon:function

This allows you to say:

<saxon:function name="myns:add">
   <xsl:param name="a"/>
   <xsl:param name="b"/>
   <!-- Return a number -->
   <saxon:return select="$a + $b"/>
</saxon:function>

Michael's implementation allows any type of expression to
be returned by the <saxon:return> element, so you can do:

  <xsl:variable name="myvar" select="myns:add($x+$y)"/>

The working group considered various ideas in this regard
for the XSLT 1.1 extension functions project but decided
that this modification to the base language was best done,
if at all, in the XSLT 2.0 timeframe where enough time 
could be spent studying its impact on the rest of the XSLT
language. To keep the scope focussed, for 1.1 the group 
decided to narrow-in on facilities that had already been 
implemented by one or more existing processors in the 
extension functions area and concentrate on specifying
those thoroughly.

Feedback of any kind on experimental XSLT-based function
implementations like Michael Kay has introduced is always
useful input to the group for future efforts.

______________________________________________________________
Steve Muench, Lead XML Evangelist & Consulting Product Manager
BC4J & XSQL Servlet Development Teams, Oracle Rep to XSL WG
Author "Building Oracle XML Applications", O'Reilly
http://www.oreilly.com/catalog/orxmlapp/



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread