The <xsl:sort> element defines a sort key for nodes selected by <xsl:apply-templates> or <xsl:for-each> and determines the order in which they are processed.
<xsl:sort
select=EXPRESSION
order="ascending" | "descending"
case-order="upper-first" | "lower-first"
lang=XML:LANG-CODE
data-type="text" | "number" />None.
selectUses an XPath expression to specify the nodes to be sorted.
orderSpecifies whether the nodes should be processed in ascending or descending order. The default is ascending.
case-orderIndicates whether upper- or lowercase letters are to be ordered first. The allowable values are upper-first and lower-first.
langSpecifies which language is to be used by the sort.
data-typeDefines whether items are to be ordered alphabetically or numerically. The allowable values are text and number with text being the default.
Subinstruction, always appears as a child of <xsl:for-each>, where it must appear before the template proper or of <xsl:apply-templates>.
XSLT, section10.
Supported.