Re: Crazy idea

Subject: Re: Crazy idea
From: Francis Norton <francis@xxxxxxxxxxx>
Date: Mon, 13 Sep 1999 12:02:45 +0100

Oren Ben-Kiki wrote:
> 
...
> 
> Yes, that's pretty annoying. It would have been so very nice if it were
> possible to write:
> 
> <xsl:call-template name="its-name" some-param-name="..."
> another-param-name="..."/>
> 
> As long that the parameter names don't clash with XSL attributes - XSLT
> could declare it would never define any attribute whose name matches some
> pattern (ends with "-param", say?). Today I've got little pieces of code
> which would be functions in any other language, but it turns out that the
> call to a named template is longer then the code it replaces!
> 

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')" />

It hadn't occurred to me that the compactness of calling functions is
more important than the compactness of writing them, but it does seem to
be true.

Francis.


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


Current Thread