Bonjour
J'ai un fichier XML qui comporte des elements <col> definisant en attribut : id = la position de la colonne, width = sa largeur et dont le contenu est le titre
L'attribut "last" indique la colonne qui doit passer en dernière position
La template suivante affiche les colonnes dans l'ordre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <setting last=1> <col id="0" width="15">Titre1</col> <col id="1" width="10">Titre2</col> <col id="2" width="10">Titre3</col> <col id="3" width="8">Titre4</col> <col id="4" width="15">Titre5</col> <col id="5" width="auto">Titre6</col> <col id="6" width="10">Titre7</col> <col id="7" width="15">Titre8</col> </setting>
Comment peut t'on changer l'ordre pour que la colonne 1 passe en dernière position
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <xsl:template name="colHeader"> <tr> <xsl:apply-templates select="//setting/col"> <xsl:sort select="@id" order="ascending" data-type="text"/> </xsl:apply-templates> </tr> </xsl:template> <xsl:template match="col"> <th> <xsl:attribute name="style"> <xsl:text>width: </xsl:text> <xsl:value-of select="@width"/> <xsl:if test="number(@width)"> <xsl:text>%; </xsl:text> </xsl:if> </xsl:attribute> <xsl:value-of select="."/> </th> </xsl:template>
J'ai testé plusieurs solutions :
- avec for-each mais les paramateres ne peuvent pas être mis dans une clause conditionnelle
- de changer les attributs id de col mais sans succés
Une idée pour résoudre ce problème
Merci
Partager