The xsl:perform-sort
instruction takes a sequence as its input and
produces a sorted sequence as its output.
The input sequence may be specified either using the select
attribute, or using the
instructions contained within the xsl:perform-sort
instruction.
The sort criteria are specified using xsl:sort
elements as children of
xsl:perform-sort
, in the usual way.
For example:
<xsl:perform-sort select="//BOOK">
<xsl:sort select="author/last-name"/>
<xsl:sort select="author/first-name"/>
</xsl:perform-sort>
It's often useful to use xsl:perform-sort
inside a stylesheet function; the function
can return the sorted sequence as its result, and can be invoked directly from an XPath expression.