Björn: Dynamisches xsl:sort - parameter und knoten

Hallo zusammen,

ich versuche einen rekursiven Baum auf zu bauen. Je nachdem, welchen Typ der  übergeordnete Knoten hat, wird die nächste Ebene numerisch oder alphabetisch sortiert und dabei unterschiedliche Parameter benutzt. Problem: einmal handelt es sich um den Wert eines Knotens, das andere mal um den Wert eines Attributes.

Für den Sortierausdruck benötige ich als einmal:

<xsl:sort select="*[name()=$sortselect1]" ...

und zum zweiten

<xsl:sort select="@*[name()=$sortselect1]" ...

Hat jemand eine Idee, wie ich das @ da rein bekomme?

Unten schon mal mein Versuch mit concat. $sortattribute wird aber nicht berücksichtigt...

Danke und viele Grüße
Björn

<xsl:param name="sortattribute">
  xsl:choose
    <xsl:when test="$parenttype = 'type1'"></xsl:when>
    xsl:otherwise@</xsl:otherwise>
  </xsl:choose>
</xsl:param>
<xsl:param name="sortselect1">
  xsl:choose
    <xsl:when test="$parenttype = 'type1' ">channel</xsl:when>
    xsl:otherwiseposition</xsl:otherwise>
  </xsl:choose>
</xsl:param>
<xsl:param name="sorttype">
  xsl:choose
    <xsl:when test="$parenttype = 'type1'">text</xsl:when>
    xsl:otherwisenumber</xsl:otherwise>
  </xsl:choose>
</xsl:param>

<xsl:for-each select="thisnode">

<xsl:sort select="concat($sortattribute,*[name()=$sortselect1])"  order="ascending" data-type="$sorttype" />