Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Wie in XML-Daten die Kindknoten von Kindknoten sortieren

  Alt 10. Jun 2005, 07:36
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
  Mit Zitat antworten Zitat