Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

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!

> Lire le message (4 commentaires, moyenne: 1).  

Vous avez demandé le commentaire #493010.

Pour info, j'ai trouvé la solution à mon problème...

Posté par Sixel (page perso, ) le 03/11/2004 à 16:15. (lien). Évalué à 1.

* déclaration des parametres :

	<xsl:param name="sortby">price</xsl:param>
	<xsl:param name="type">number</xsl:param>
	<xsl:param name="method">ascending</xsl:param>
* 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).