Sort in When verwnden
PeterK
- xsl
Hallo.
Ich habe wiedereinmal ein Problem mit XSLT. Ich habe versucht eine bedingte Sortierung einer Liste hinzubekommen.
<xsl:for-each select="item">
xsl:choose
<xsl:when test="$sort = 'date'">
<xsl:sort order="descending" data-type="number" select="./date/year" />
<xsl:sort order="descending" data-type="number" select="./date/month" />
<xsl:sort order="descending" data-type="number" select="./date/day" />
</xsl:when>
<xsl:when test="$sort = 'typ'">
<xsl:sort order="descending" data-type="text" select="./typ" />
</xsl:when>
<xsl:when test="$sort = 'title'">
<xsl:sort order="descending" data-type="text" select="./title" />
</xsl:when>
</xsl:choose>
...
</xsl:for-each>
Ergebnis:
XSL element 'when' cannot contain element 'sort' at this point
So. und nun suche ich jemanden, der mir das mal erklärt und mir nen Lösungsvorschlag macht :P
Thx, Peter
Hallo,
Ich habe wiedereinmal ein Problem mit XSLT. Ich habe versucht eine bedingte Sortierung einer Liste hinzubekommen.
Ergebnis:
XSL element 'when' cannot contain element 'sort' at this point
xsl:sort kann nur in apply-templates oder in for-each stehen.
xsl:choose
<xsl:when test="$sort = 'date'">
<xsl:for-each select="item">
<xsl:sort order="descending" data-type="number" select="./date/year" />
<xsl:sort order="descending" data-type="number" select="./date/month" />
<xsl:sort order="descending" data-type="number" select="./date/day" />
</xsl:for-each>
</xsl:when>
etc.
Grüße
Thomas
hallo peter,
Ich habe wiedereinmal ein Problem mit XSLT. Ich habe versucht
eine bedingte Sortierung einer Liste hinzubekommen.
ist zwar etwas unstaendlicher, aber uebersichtlich: ich hatte
auch mal dieses problem, und loeste es damit, dass ich mehrere
templates definiert, und je nach sortierung ein anderes template
aufgerufen habe. ich hoffe ich habe dir damit ein wenig
weitergeholfen. wenn du die xsl-datei moechtes schreibe mir.
gruss,
michael