sort element by data type : Sort « XSLT stylesheet « XML






sort element by data type


File: Data.xml
<employees>

  <employee hireDate="04/23/1999">
    <last>A</last>
    <first>B</first>
    <salary>100000</salary>
  </employee>

  <employee hireDate="09/01/1998">
    <last>C</last>
    <first>D</first>
    <salary>95000</salary>
  </employee>

  <employee hireDate="08/20/2000">
    <last>E</last>
    <first>F</first>
    <salary>89000</salary>
  </employee>

</employees>


File: Transform.xslt
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0">
  <xsl:output method="xml" omit-xml-declaration="yes" indent="no" />
  <xsl:template match="employees">
    <xsl:for-each select="employee">
      <xsl:sort select="salary" data-type="number" />
      <xsl:if test="position() = 1">
        Lowest salary:
        <xsl:apply-templates />
      </xsl:if>
      <xsl:if test="position() = last()">
        Highest salary:
        <xsl:apply-templates />
      </xsl:if>

    </xsl:for-each>
  </xsl:template>
  

</xsl:stylesheet>

Output:


        Lowest salary:
        
    E
    F
    89000
  
        Highest salary:
        
    A
    B
    100000
  

 








Related examples in the same category

1.Sort value first then output
2.sort select="salary" data-type="number" order="descending"
3.Sort by two columns
4.Sort by attribute value
5.Sort by substring
6.sort by different level of node
7.for each sort descending
8.sort with current-grouping-key() function
9.sort by attribute
10.Sort by element text
11.Set sort order as ascending
12.sorts in text
13.sorts in numeric mode.
14.sorts upercase letters first
15.sorts lowercase letters first