Hallo liebe SELFHTML-Gemeinde,
ich stelle in einem Browser XML-Daten (Schallplatten-Infos) per XSL tabellarisch dar. Diese Daten will ich wahlweise nach unterschiedlichen Vorgaben sortieren (Label-Name, Katalog-Nummer, Künstlername). Aus einer HTML-Datei schreibe ich in die Variable "sortierung" eine Textfolge für das entsprechende Element ("labels/label/@name", "labels/label/@catno", "artists/artist/name").
Aus Gründen die ihr besser erklären könnt, muss ich einen relativ komplizierten xsl:sort-Ausdruck verwenden, den ich aber einfach nicht funktionsfähig bekomme:
_____mycoll_gallerie.xsl_____
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8" />
<xsl:param name="auswahl"/>
<xsl:param name="sortierung"/>
<xsl:template match="/">
<xsl:choose>
<xsl:when test="$auswahl=''">
<xsl:apply-templates select="releases/release" >
<xsl:sort select="*[name() = $sortierung]" order="ascending" data-type="text" />
</xsl:apply-templates>
</xsl:when>
</xsl:choose>
</xsl:template>
Die XML-Daten sehen beispielsweise so aus:
_____Biks-collection.xml_____
<release id="105393" status="Accepted">
<artists><artist><name>Noisy Youth</name></artist></artists>
<title>Midelicious EP</title>
<labels><label catno="ADV03" name="Adrenogroov" /></labels>
</release>
Ich hoffe, ihr versteht was ich meine, ansonsten fragt und/oder ladet euch die kompletten Daten runter (siehe URL).
Also, zusammenfassend meine Frage: Wie muss der xsl:sort-Ausdruck richtig formuliert werden?
Viele Grüße!
Biks