Sort by attribute value
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="text" /> <xsl:template match="employees"> <xsl:apply-templates> <xsl:sort select="@hireDate" /> </xsl:apply-templates> </xsl:template> <xsl:template match="employee"> Last: <xsl:apply-templates select="last" /> First: <xsl:apply-templates select="first" /> Salary: <xsl:apply-templates select="salary" /> Hire Date: <xsl:apply-templates select="@hireDate" /> </xsl:template> </xsl:stylesheet> Output: Last: A First: B Salary: 100000 Hire Date: 04/23/1999 Last: E First: F Salary: 89000 Hire Date: 08/20/2000 Last: C First: D Salary: 95000 Hire Date: 09/01/1998