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] Faire plusieurs remplacement avec l"expression "translate" sur un atribut


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 120
    Points : 56
    Points
    56
    Par défaut [XSLT] Faire plusieurs remplacement avec l"expression "translate" sur un atribut
    Bonjour à tous et bonne année!
    j'ai mon code suivant qui fonctionne très bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:template match="_Autre"><xsl:value-of select="translate(@Contenu,', ','£*')"/></xsl:template>
    En plus de la virgule (,) que je remplace par £, j'aimerai sur la même balise remplacer < par µ et > par §.
    Qualqu'un saurait-il si les and se gèrent dans le cas des "translate", genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:template match="_Autre"><xsl:value-of select="translate(@Contenu,', ','£*' and '<','µ' and '>', '§')"/></xsl:template>
    ?
    je n'ose pas le tester tellement ça me parait faux!
    Merci d'avance

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    tu peux faire des translate imbiriées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    translate (translate ($contenu,'b','a'),'c','d')
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  3. #3
    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 : 47
    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

    Les translates utilisent des listes

    ainsi pour gérer les pb d'accent et de majuscules j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	<xsl:variable name="MAJ" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZÂÊÛÎÔÉéèàêâûîô'"/>
    	<xsl:variable name="MIN" select="'abcdefghijklmnopqrstuvwxyzaeuioeeeaeauio'"/>
    <xsl:value-of select="translate($ce_que_je veux_traduire,$MAJ,$MIN))"/>
    le caractère 1 de la première liste correspond au caractère 1 de la seconde liste et ainsi de suite si la première liste contient + d'element que la seconde tous les caractères excedentaires de la première seront supprimé dans la chaine à "traduire"

Discussions similaires

  1. faire plusieurs return avec des vectors
    Par mazertys17 dans le forum C++
    Réponses: 10
    Dernier message: 13/11/2014, 16h57
  2. Exécuter plusieurs commandes avec JSCH en EXEC ou en SHELL sur un switch
    Par alecorps dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 03/04/2012, 17h11
  3. Plusieurs remplacements avec replace
    Par vaneck dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/03/2011, 22h32
  4. faire plusieur declaration avec boucle for ?
    Par debutant-1 dans le forum C
    Réponses: 4
    Dernier message: 18/05/2006, 20h19
  5. Faire du telnet avec visual c++ express
    Par jean tof dans le forum MFC
    Réponses: 2
    Dernier message: 10/01/2006, 14h11

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