Salut,
J'ai un petit problème avec un <xsl:sort> dans un <xsl:for-each>. En effet celui-ci me range mal les éléments demandés, en ne tenant pas compte de l'apostrophe comme étant avant les lettres de l'alphabet.
J'obtiens ça :
# La vielle à roue
# La viole de gambe
# L'accordéon
# L'archet
# Le basson
# Les cymbales
# Les grandes orgues
# L'onde Martenot
Au lieu de ça :
# L'accordéon
# L'archet
# L'onde Martenot
# La vielle à roue
# La viole de gambe
# Le basson
# Les cymbales
# Les grandes orgues
Dans le fichier XML où la XSLT récupère ces noms, les apostrophes semblent tout à fait normales...
Voilà le code XSLT :
Au début j'ai pensé à un bug de XSLT mais il semble que d'autres n'aient pas ce problème. J'utilise MSXML3 dans du VBScript pour effectuer la transformation.
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="Videos"> <xsl:param name="positiondesc" /> <xsl:param name="typeMedia" /> <xsl:for-each select="$videos"> <xsl:sort select="@TITRE" /> <xsl:if test="TYPE_CONCERT = $typeMedia"> <xsl:for-each select="DESCRIPTEUR"> <xsl:if test="@Genre = $descripteurs[$positiondesc]/@Genre"> <li> <a class="ccrt" target="content"> <xsl:attribute name="href"> <xsl:value-of select="concat('../NoticeDetaille.asp?ID=', ../@IDALOES)" /> </xsl:attribute> <xsl:value-of select="../@TITRE" /> </a> </li> </xsl:if> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:template>
Partager