Hallo toko,
mit dem folgenden XSLT-Code kannst du deine Daten zweistufig sortieren. Bei deinen track numbers wirst du recht bald in den zweistelligen Bereich geraten. Um dir dann Kopfschmerzen zu ersparen habe ich dem
xsl:sort bereits das Attribut
data-type hinzugefügt. Auch diesen Code kannst du in ein Template verwandeln, allerdings sind es jetzt zwei xsl:sort Elemente, die du dann instanziieren musst. Außerdem musst du den data-type entsprechend anpassen.
Code:
<?
xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="cd">
<xsl:copy>
<xsl:apply-templates select="@* | track">
<xsl:sort select="@titel" data-type="text"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="cdorganizer">
<xsl:copy>
<xsl:apply-templates select="@* | cd">
<xsl:sort select="@id" data-type="number"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="/ | @* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Grüße vom marabu