Subject: XSL Transformations Requirements Version 1.1 - a crazy idea? From: Francis Norton <francis@xxxxxxxxxxx> Date: Tue, 05 Sep 2000 09:44:35 +0100 |
The Requirements Document contains a reuirement for Portable Extension Functions Implementations ( http://www.w3.org/TR/2000/WD-xslt11req-20000825#section-Requirements-for-Portable-Extension-Function-Implementations ). This discusses ways to make sure that extensions in Java or EcmaScript will be portable between XSLT implementations, while specifically making support for extensions in *any* language an optional feature. The "Crazy Idea" thread from September 1999 came up with some interesting ideas for allowing extension functions in XSLT itself - for example, James Clark's reply: <quote src="http://www.mulberrytech.com/xsl/xsl-list/archive/msg05080.html"> > I was thinking of an extension to XSLT (I know, it's too late for this > version). > > Something like: > > <xsl:function name="reverse" namespace:fn="www.redrice.com"> > <xsl:param name="string" /> > <xsl:if test="$string"> > <xsl:value-of select="fn:reverse(substring($string,2))" /> > </xsl:if> > <xsl:value-of select="substring($string,1,1)" /> > </xsl:function> > > so I could then call it with > > <xsl:stylesheet indent-result="yes" default-space="strip" > xmlns:xsl="http://www.w3.org/XSL/Transform/1.0" > xmlns:fn="www.redrice.com"> > > ... > > <xsl:value-of select="fn:reverse('able was I ere I saw Elba')" /> The trouble with that is that functions would only be able to return result tree fragments. I had been thinking of something like: <xsl:variable name="reverse" select="function($s) (concat($s ? $reverse(substring($s,2)) : '', substring($s,1,1)))"/> <xsl:value-of select="$reverse('able was I ere I saw Elba')"/> Something like you suggest would be useful too (I would think of it as a way to call named templates from functions). There are plenty of interesting possibilities for XSLT/XPath v2. James </quote> If such a proposal was easy to implement, and could be shown to be "syntax sugar" - then would it not be a good idea to specify and indeed mandate it for XSLT 1.1 as the ultimate in portable extension function support? Francis. -- Francis Norton. Defy Convention? Deify Convention! XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: why is select=".[true()]" bad?, Kay Michael | Thread | Re: XSL Transformations Requirement, Steve Muench |
Re: why is select=".[true()]" bad?, Mike Brown | Date | Problems reading params, Matt Watson |
Month |