Basierend auf dem folgenden XML, was ist der beste Weg, um eine alphanumerische Sortierung in XSL zu erreichen?So wenden Sie eine alphanumerische Sortierung in XSLT an
Bearbeiten: Um zu verdeutlichen, ist das XML unten nur ein einfaches Beispiel, das echte XML würde viel mehr abweichende Werte enthalten.
<colors>
<item>
<label>Yellow 100</label>
</item>
<item>
<label>Blue 12</label>
</item>
<item>
<label>Orange 3</label>
</item>
<item>
<label>Yellow 10</label>
</item>
<item>
<label>Orange 26</label>
</item>
<item>
<label>Blue 117</label>
</item>
</colors>
z. Ich möchte ein Endergebnis in dieser Reihenfolge:
Blue 12, Blue 117, Orange 3, Orange 26, Yellow 10, Yellow 100
Das ist „effektiv“, was ich möchte.
<xsl:apply-templates select="colors/item">
<xsl:sort select="label" data-type="text" order="ascending"/><!--1st sort-->
<xsl:sort select="label" data-type="number" order="ascending"/><!--2nd sort-->
</xsl:apply-templates>
<xsl:template match="item">
<xsl:value-of select="label"/>
<xsl:if test="position() != last()">,</xsl:if>
</xsl:template>
Ich aktualisiere meine Antwort mit einem allgemeineren Ansatz für das Problem. –