Re: [xsl] Sort By Multiple Values?

Subject: Re: [xsl] Sort By Multiple Values?
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Thu, 27 Dec 2007 19:39:28 +0100
Alice Wei wrote:


The XSL:

  <xsl:template match="computer">
  [<span class="skills">
                       <xsl:apply-templates select="language">
                           <xsl:sort select="@rank" order="ascending"/>
                       </xsl:apply-templates>
                   </span>]
</xsl:template>

The output now is in the same order as it is in the order of the
document w= hen the @rank value is 1, and followed by the one where
@rank=2.

[XML 1.0] [XSLT 1.0] [HTML 4.01/XHTML 1.0] [CSS] [XSLT 2.0].

Is it possible that I can get it to display as

[CSS] [HTML 4.01/XHTML 1.0] [XML 1.0] [XSLT 1.0] [XSLT 2.0]

One way to achieve that is to change your sort to select="type" (since the requested order is strictly alphabetical by type), but from your postings subjectline, I think you mean how to sort on several values, which is done by adding more xsl:sort values under each other:


<xsl:sort select="@rank" />
<xsl:sort select="type" />

HTH,
Cheers,
-- Abel Braaksma

Current Thread