Elmex: xsl:sort und descendant-or-self

Beitrag lesen

Hallo,

Mein Problem ist folgendes:

ich habe viele ineinander verschachtelte <page> (für ein Menü).
diese will ich jetzt nach priorität sortiert ausgeben.
dazu benutze ich

<xsl:apply-templates select="Page">
  <xsl:sort data-type="number" order="ascending" select="@priority"/>
</xsl:apply-templates>

die ausgabe erfolgt jetzt auch in der richtigen reihenfolge.

In dem Template möchte ich jetzt die id einer <page> ausgeben, wenn es sie gibt, ansonsten die von der ersten untergeordneten page (die oberste seite mit inhalt):

<xsl:value-of select="descendant-or-self::Page/@id"/>

Hierbei funktioniert die sortierung nicht, da die untergeordnete ebene ja noch nicht soritert ist. Gibt es eine Möglichkeit, die unteren ebenen vorher zu sortieren?

Grüße, Elmex