AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zweifaches Sortieren mit XSL

Ein Thema von StTüff · begonnen am 21. Dez 2006 · letzter Beitrag vom 22. Dez 2006
Antwort Antwort
StTüff

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

Zweifaches Sortieren mit XSL

  Alt 21. Dez 2006, 14: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
marabu

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

Re: Zweifaches Sortieren mit XSL

  Alt 21. Dez 2006, 15:48
Hallo,

probiere es so:

XML-Code:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/ | @* | node()">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()">
        <xsl:sort select="@ATT" data-type="number"/>
        <xsl:sort select="." data-type="number"/>
      </xsl:apply-templates>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>
Freundliche Grüße
  Mit Zitat antworten Zitat
StTüff

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

Re: Zweifaches Sortieren mit XSL

  Alt 22. Dez 2006, 07:57
Danke!

Manchmal ist's so einfach

Gruß,

StTüff
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz