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 :
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>
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.