RE: [xsl] How to put sorted nodes into a variable? (to xsl:number a sorted node-set)

Subject: RE: [xsl] How to put sorted nodes into a variable? (to xsl:number a sorted node-set)
From: "Andrew Welch" <AWelch@xxxxxxxxxxxxxxx>
Date: Mon, 5 Jan 2004 13:31:18 -0000
Sorry I tidied your sample xml incorrectly and was working with bad data
(I put the software value inside hardware..)  I see what you are trying
to do now :)

This might be what you need:

<xsl:stylesheet version="1.0"
xmlns:exsl="http://exslt.org/common";
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

<xsl:variable name="firstVar-rtf">
  <xsl:apply-templates select="/root/thing" mode="number">
    <xsl:sort select="@sequenceIndex" order="ascending"
data-type="number"/>
  </xsl:apply-templates>
</xsl:variable>
<xsl:variable name="firstVar" select="exsl:node-set($firstVar-rtf)"/>

<xsl:template match="/">
  <xsl:for-each select="$firstVar">
    <xsl:apply-templates/>
  </xsl:for-each>
</xsl:template>

<xsl:template match="thing" mode="number">
  <thing id="{generate-id()}" key="{@key}">
    <xsl:apply-templates select="thing" mode="number">
       <xsl:sort select="@sequenceIndex" order="ascending"
data-type="number"/>
    </xsl:apply-templates>
  </thing>
</xsl:template>

<xsl:template match="thing">
  <div>
    <xsl:number format="1.1.1" level="multiple"/>
    <xsl:text/> - <xsl:value-of select="@key"/>
  </div>
  <xsl:apply-templates/>
</xsl:template>

</xsl:stylesheet>

Cheers
andrew


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


Current Thread