<xsl:sort>

The <xsl:sort> element sorts a set of nodes.

<xsl:sort
  select = string-expression 
  lang = { nmtoken }
  data-type = { "text" | "number" | qname-but-not-ncname }
  order = { "ascending" | "descending" }
  case-order = { "upper-first" | "lower-first" } /> 
select

Selects the sort expression; this is evaluated for each node in the sort node set

lang

The language to use for sorting purposes

data-type

The sorting data-type

order

The sort order

case-order

Do upper-case letters sort before lower-case, or vice-versa?

The sorting data type determines how selected values are sorted; for example "02" sorts before "1" if "text" is used, after if "number" is used. Specifying any other value invokes a processor-dependent extension.