Einzelnen Beitrag anzeigen

StTüff

Registriert seit: 3. Dez 2002
132 Beiträge
 
Delphi 2006 Enterprise
 
#1

Zweifaches Sortieren mit XSL

  Alt 21. Dez 2006, 15:13
Hallo!

Ich bin mir nicht sicher, ob ich hier den (Denk-)Fehler mache, oder ob das ein MSXML-Problem ist.

Ich möchte folgende XML-Struktur:
XML-Code:
<TEST>
  <MODE>
    <SETTING ATT="1">6</SETTING>
    <SETTING ATT="0">10</SETTING>
    <SETTING ATT="1">1</SETTING>
    <SETTING ATT="2">954</SETTING>
    <SETTING ATT="1">1234</SETTING>
  </MODE>
</TEST>
mit diesem XSL-Code:
XML-Code:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="* | @* | node()">
    <xsl:copy>
      <xsl:apply-templates>
        <xsl:sort select="@ATT" data-type="number"/>
        <xsl:sort select="SETTING" data-type="number"/>
      </xsl:apply-templates>
    </xsl:copy>
  </xsl:template>
  <xsl:template match="SETTING">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>
... sortieren. Erwartet hätte dieses Ergebnis:
XML-Code:
<TEST>
 <MODE>
  <SETTING ATT="0">10</SETTING>
  <SETTING ATT="1">1</SETTING>
  <SETTING ATT="1">6</SETTING>
  <SETTING ATT="1">1234</SETTING>
  <SETTING ATT="2">954</SETTING>
 </MODE>
</TEST>
Ich erhalte aber leider dieses Ergebnis:
XML-Code:
<TEST>
 <MODE>
  <SETTING ATT="0">10</SETTING>
  <SETTING ATT="1">6</SETTING>
  <SETTING ATT="1">1</SETTING>
  <SETTING ATT="1">1234</SETTING>
  <SETTING ATT="2">954</SETTING>
 </MODE>
</TEST>
Mach ich hier einen Fehler?

Vielleicht hat jemand eine Idee, die mir das gewünschte Ergebnis auf einem anderen Weg liefert.

Gruß und vielen Dank!

StTüff
  Mit Zitat antworten Zitat