Re: [xsl] Sort By Multiple Values?

Subject: Re: [xsl] Sort By Multiple Values?
From: Abel Braaksma <>
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"/>

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

[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" />

-- Abel Braaksma

Current Thread