Subject: Re: Designs for XSLT functions (Was: Re: [xsl] RE: syntax sugar for call-template) From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx> Date: Fri, 23 Feb 2001 07:48:55 +0000 |
David C. wrote: > Personally an xsl:append looks deeply suspect to me, if it's > required for functions why isn't it required for the almost > identical situation of binding node sets to variables? If it is also > required for that is "append" the right concept for a declarative > language, or should it be more like > <xsl:variable select="foo[postion('some named construct corresponding > to an xsl:sort setup') < 5]"/> So what about this: <xsl:variable select="$nodes[sort:position($nodes) < 5]" /> <exsl:function name="sort:position"> <xsl:param name="node-set" select="/.." /> <xsl:variable name="current" select="." /> <xsl:choose> <xsl:when test="count($current | $node-set) = count($node-set)"> <xsl:for-each select="$node-set"> <xsl:sort /> <xsl:if test="count(.|$current) = 1"> <exsl:result select="position()" /> </xsl:if> </xsl:for-each> </xsl:when> <xsl:otherwise> <exsl:return select="0" /> </xsl:otherwise> </xsl:choose> </exsl:function> Naturally in a production version there would be more parameters/arguments to allow for different sort orders etc. Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Designs for XSLT functions (Was, Clark C. Evans | Thread | Re: Designs for XSLT functions (Was, David Carlisle |
[xsl] Displaying Problem., Srinivas, Santoshkum | Date | Re: [xsl] Poluting XSLT??? (Was Re:, Jeni Tennison |
Month |