The Element is used to specify sort order for node-sets : Sort « XSLT stylesheet « XML Tutorial






The xsl:sort element can be used together with the xsl:apply-templates element and the xsl:for-each element. 

File: Data.xml

<names>
    <name>John</name>
    <name>Josua</name>
    <name>Charles</name>
    <name>Alice</name>
    <name>Martha</name>
    <name>George</name>
</names>


File: Transform.xslt

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
      <TABLE>
        <xsl:for-each select="//name">
          <xsl:sort order="ascending" select="."/>
          <TR>
            <td>
              <xsl:value-of select="."/>
            </TH>
          </TR>
        </xsl:for-each>
      </TABLE>
    </xsl:template>


</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?><TABLE><TR><td>Alice</TH></TR><TR><td>Charles</TH></TR><TR><td>George</TH></TR><TR><td>John</TH></TR><TR><td>Josua</TH></TR><TR><td>Martha</TH></TR></TABLE>








5.18.Sort
5.18.1.The Element is used to specify sort order for node-sets
5.18.2.sort order="descending" select="."
5.18.3.sort elements
5.18.4.sort order="descending"
5.18.5.sort data-type="number" order="descending"
5.18.6.sort by name()
5.18.7.sort by attribute: sort select="@joined" data-type="number" order="descending"
5.18.8.Sort by different data types and order
5.18.9.Sort in a for-each loop
5.18.10.Sort by last name than first name
5.18.11.sort select="." data-type="number"
5.18.12.sort select="xs:integer(.)"
5.18.13.sort select="."