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 :

[xsl] xsl:sort et caractères etrangers


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut [xsl] xsl:sort et caractères etrangers
    bonjour, je souhaite trier des elements par ordre alphabétique, pour cela j utilise la commande sort. Le probleme est que qq fois j ai des caractères suédois en premier, et ces éléments je souhaiterais les mettre a la fin de la liste donc voici ce que j ai écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xsl:for-each select="$var//el | $var//el">
      <xsl:sort  select="id[ contains('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', substring(.,1,1))]"/>
      <xsl:sort select="id[contains(substring(.,1,1),'Å')]"/>
      <xsl:sort select="id[contains(substring(.,1,1),'Ä')]"/>
      <xsl:sort select="id[contains(substring(.,1,1),'Ö')]"/>
    cela ne fonctionne pas du tout. J aimerais en connaitre la raison et voir si possible la solution, en regardant les spec du W3c on y a pprend pas grand chose en fait
    Merci

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    pas sur d'avoir tout suivi et pas testé mais moi j'aurais plutot fait un truc du style (s'il n'y a que le premier caractere suedois different autrement)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <xsl:for-each select="$var//el | $var//el"> 
      <xsl:sort  select="translate(id,'ÅÄÖ','ZZZ')"/>
    je reflechirais a une solution plus detaillé si ca ne te va pas

  3. #3
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    et bien bizarement en écrivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <xsl:sort select="id[contains(substring(.,1,1),'Ö')]"/>
    <xsl:sort select="id[contains(substring(.,1,1),'Ä')]"/>
    <xsl:sort select="id[contains(substring(.,1,1),'Å')]"/>
    <xsl:sort select="id[contains('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', substring(.,1,1))]"/>
    ça marche...
    or la logique voudrais que le résultat sorte les "Ö" puis "Ä" ...

    donc en mettant à l envers je récupère ma liste ....à l endroit
    ...comprend pas mais ça marche

Discussions similaires

  1. [XSL] Traitement chaîne de caractères
    Par VolaiL dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 29/03/2006, 16h55
  2. [XSL] xsl coté serveur? (asp par exemple)
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 02/02/2006, 17h37
  3. [XSL] Transformation xsl et jeu de caractères cyrillique
    Par Maximil ian dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/09/2005, 11h41
  4. [XSL] xsl:sort avec parametre et condition
    Par elraton dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 15/01/2005, 20h59
  5. [xsl] xsl juste pour faire copie d'un xml
    Par peppena dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 17/02/2004, 16h17

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