IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XSLT]xsl:sort qui classe mal les éléments (apostrophe)


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Par défaut [XSLT]xsl:sort qui classe mal les éléments (apostrophe)
    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.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Tu peux peut être contourner le bug en faisant un translate genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:sort select='translate(@TITRE,"&apos;"," ")' />

  3. #3
    Membre éclairé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Par défaut
    Citation Envoyé par Morbo
    Tu peux peut être contourner le bug en faisant un translate genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:sort select='translate(@TITRE,"&apos;"," ")' />
    Ça a marché. Merci!

    Cela dit j'aurais bien voulu savoir ce qui provoquait ce bug...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSLT] xsl:sort + apply-templates
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 04/10/2007, 17h52
  2. Réponses: 8
    Dernier message: 26/04/2007, 17h24
  3. Réponses: 4
    Dernier message: 16/01/2007, 15h27
  4. [Tableaux] un sort qui trie mal
    Par Bibicmoi dans le forum Langage
    Réponses: 19
    Dernier message: 20/07/2006, 17h49
  5. [XSLT]petit(s) pb(s) avec les xmlns et <xsl:namespace-ali
    Par Swoög dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 08/01/2005, 17h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo