xsl-list
[Top] [All Lists]

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

2004-01-05 06:31:18

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="{(_at_)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