sort elements : Sort « XSLT stylesheet « XML Tutorial






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:apply-templates select="//name">
          <xsl:sort order="descending" select="."/>
        </xsl:apply-templates>
      </TABLE>
    </xsl:template>
    <xsl:template match="name">
      <TR>
        <td>
          <xsl:value-of select="."/>
        </TH>
      </TR>
    </xsl:template>

</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?><TABLE><TR><td>Martha</TH></TR><TR><td>Josua</TH></TR><TR><td>John</TH></TR><TR><td>George</TH></TR><TR><td>Charles</TH></TR><TR><td>Alice</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="."