Поскольку вы не указали, как должны сортироваться данные, трудно дать точный ответ.
Элемент xsl:sort
можно использовать для сортировки списков, как в случае выбора for-each внеэлегичный пример ниже.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<xsl:for-each select="//Account">
<xsl:for-each select="Code">
<xsl:sort select="CodeValue" data-type="number"/>
<xsl:copy-of select="."></xsl:copy-of>
</xsl:for-each>
<xsl:for-each select="Bonus">
<xsl:sort select="BonusOfferNumber" data-type="number"/>
<xsl:copy-of select="."></xsl:copy-of>
</xsl:for-each>
<xsl:for-each select="AccountOption">
<xsl:sort select="AccountOptionNumber" data-type="number"/>
<xsl:copy-of select="AccountOptionNumber"/>
<xsl:for-each select="Supplier">
<xsl:sort select="SupplierName"/>
<xsl:copy-of select="."></xsl:copy-of>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Обратите внимание, что Code
отсортировано по номеру CodeValue
, Bonus
по номеру BonusOfferNumber
и Supplier
по алфавиту SupplierName
.