sknob001: Sortieren von Elementen (nicht anhand des Inhaltes)

Hallo zusammen, existiert eine Möglichkeit mittels einer XSLT-Transformation die Elemente und Attribute in einem XML-File zu sortieren. Also ich möchte nicht gleiche Elemente anhand des Inhaltes sortieren, sonder die Elemente anhand deren Namen.
Hintergrund ist, dass ich zwei XML-Bäume vergleichen muss und die Reihenfolge der Elemente/Attribute können in einer unterschiedlichen Reihenfolge vorliegen.

Einfaches Beispiel:

<?xml version="1.0" encoding="ISO-8859-1"?>  
<html>  
<body>  
<h6>h6</h6>  
<h5>h5</h5>  
<h3>h3</h3>  
<h2>h2</h2>  
<h1>h1</h1>  
<h4>h4</h4>  
</body>  
</html>

Nach der Sortierung:

<?xml version="1.0" encoding="ISO-8859-1"?>  
<html>  
<body>  
<h1>h1</h1>  
<h2>h2</h2>  
<h3>h3</h3>  
<h4>h4</h4>  
<h5>h5</h5>  
<h6>h6</h6>  
</body>  
</html>

Vielen Dank & viele Grüße,
Stefan

  1. Hallo,

    Warum nimmst du nicht xsl:sort in Kombination mit local name ?

    <xsl:apply-templates select="*">
    <xsl:sort order="ascending" data-type="text" select="local-name()" />
    </xsl:apply-templates>

    oder

    <xsl:for-each select="//*[contains(local-name(),'h')]">
       <xsl:sort order="ascending" data-type="text" select="local-name()" />
    </xsl:for-each>

    Gruss,
    Holge r