Programmation.web : Utilisation d'un paramètre dans xsl:sort
Posté par Sixel (page perso, ) le 25 octobre 2004
Cher forum,
J'essaie de retourner le problème un peu dans tous les sens, mais ça veut pas, sûrement dû à mes faibles connaissances en XSLT...
Voici ce qui me turlupine:
J'ai une longue série de noeuds, comprenant chacun une vingtaine d'attributs. Je voudrais faire un affichage de ces données en triant selon les valeurs d'un attribut donné.
La solution bourrin consiste à définir deux paramètres (un pour definir l'attribut qui servira au tri, l'autre pour le sens de tri). Mais je me trouve avec une 40aine de if, pour chaque paire {attribut,sens} possible.
Une solution plus jolie, serait de pouvoir passer ces deux paramètres à xsl:sort, un truc du genre
/xsl:param name="sortby" select="attribut_1"/
/xsl:param name="sortorder" select="ascending"/
puis
/xsl:sort select="@sortby" case-order="@sortorder"/
mais bien sûr, ça chie dans la colle...
Alors si y'a une solution miracle, ou tout simplement une manière toute bête de faire en xslt, je suis preneur!
Merci d'avance!
J'essaie de retourner le problème un peu dans tous les sens, mais ça veut pas, sûrement dû à mes faibles connaissances en XSLT...
Voici ce qui me turlupine:
J'ai une longue série de noeuds, comprenant chacun une vingtaine d'attributs. Je voudrais faire un affichage de ces données en triant selon les valeurs d'un attribut donné.
La solution bourrin consiste à définir deux paramètres (un pour definir l'attribut qui servira au tri, l'autre pour le sens de tri). Mais je me trouve avec une 40aine de if, pour chaque paire {attribut,sens} possible.
Une solution plus jolie, serait de pouvoir passer ces deux paramètres à xsl:sort, un truc du genre
/xsl:param name="sortby" select="attribut_1"/
/xsl:param name="sortorder" select="ascending"/
puis
/xsl:sort select="@sortby" case-order="@sortorder"/
mais bien sûr, ça chie dans la colle...
Alors si y'a une solution miracle, ou tout simplement une manière toute bête de faire en xslt, je suis preneur!
Merci d'avance!
> Lire le message (4 commentaires, moyenne: 1).
Vous avez demandé le commentaire #493010.



Pour info, j'ai trouvé la solution à mon problème...
* déclaration des parametres :
* et l'utilisation :<xsl:sort data-type="{$type}" order="{$method}" select="@*[name() = $sortby]"/>"Il faut" (Ezekiel 18:4) "forniquer" (Corinthiens 6:9, 10) "avec des chiens" (Thessaloniciens 1:6-9) "morts" (Timothée 3:1-10).