XSLT <xsl:sort> Element

From http://www.w3schools.com (Copyright Refsnes Data)

# XSLT <xsl:sort> Element

Complete XSLT Element Reference

## Definition and Usage

The <xsl:sort> element is used to sort the output.

Note: <xsl:sort> is always within <xsl:for-each> or <xsl:apply-templates>.

## Syntax

    <xsl:sort
    select="expression"
    lang="language-code"
    data-type="text|number|qname"
    order="ascending|descending"
    case-order="upper-first|lower-first"/>

## Attributes

Attribute | Value | Description
--- | --- | ---
select | XPath-expression | Optional. Specifies which node/node-set to sort on
lang | language-code | Optional. Specifies which language is to be used by the sort
data-type | text number qname | Optional. Specifies the data-type of the data to be sorted. Default is "text"
order | ascending descending | Optional. Specifies the sort order. Default is "ascending"
case-order | upper-first lower-first | Optional. Specifies whether upper- or lowercase letters are to be ordered first

### Example 1

The example below will sort the output by artist:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/">
      <html>
      <body>
        <h2>My CD Collection</h2>
        <table border="1">
          <tr bgcolor="#9acd32">
            <th>Title</th>
            <th>Artist</th>
          </tr>
          <xsl:for-each select="catalog/cd">
          <xsl:sort select="artist"/>
          <tr>
            <td><xsl:value-of select="title"/></td>
            <td><xsl:value-of select="artist"/></td>
          </tr>
          </xsl:for-each>
        </table>
      </body>
      </html>
    </xsl:template>

    </xsl:stylesheet>

View the XML file, View the XSL file, and View the result.

Complete XSLT Element Reference

From http://www.w3schools.com (Copyright Refsnes Data)