XSLT - Как отсортировать записи.
Сортировка
Чтобы это сделать следует в цикл for-each добавить xsl:sort с аттрибутом select указывающим поле (правило), по которому будет идти сортировка.
Отметим что по умолчанию параметры сравниваются как строки т.е. "1" > "2", но "10" < "2". Чтобы это изменить надо использовать аттрибут data-type со значением number.
Пример:
<xsl:for-each select="elem">
<xsl:sort select="@pos" data-type="number" order="ascending"/>
<xsl:value-of "@id" />
</xsl:for-each>
Чтобы сделать двойную сортировку пишем правила в порядке применения
Пример:
<xsl:for-each select="elem">
<xsl:sort select="@pos" data-type="number" order="ascending"/>
<xsl:sort select="@title" order="ascending"/>
<xsl:value-of "@id" />
</xsl:for-each>