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] Remplacer par des caractères spéciaux


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 15
    Points : 17
    Points
    17
    Par défaut [XSLT] Remplacer par des caractères spéciaux
    En entrée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Noeud Attribut="§N1µVal1¤N1µ§N2µVal2¤N2µ§N3µVal3¤N3µ"/>
    Et la sortie souhaitée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <N1>Val1</N1>
    <N2>Val2</N2>
    <N3>Val3</N3>
    J'ai beau faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="translate(translate(translate(@Attribut,'§','&lt;'),'µ','&gt;'),'¤','&lt;/')"/>
    J'obiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    &lt;N1&gt;Val1&lt;/N1&gt;&lt;N2&gt;Val2&lt;/N2&gt;&lt;N3&gt;Val3&lt;/N3&gt;

  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 : 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
    pour creer des balises il faut utiliser des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <xsl:text disable-output-escaping="yes">&lt;truc&gt;</xsl:text>
    ....
     <xsl:text disable-output-escaping="yes">&lt;/truc&gt;</xsl:text>
    &lt; &gt; seuls ne te serviront a rien
    Tu va devoir creer un call template avec en parametre ta chaine et la decompose a l'interieur avec des substring-before et substring-after et inser les balises xsl:text

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 15
    Points : 17
    Points
    17
    Par défaut
    J'ai trouvé plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="translate(translate(translate(substring-before(@Attribut,'§','&lt;'),'µ','&gt;'),'¤','&lt;/')" disable-output-escaping="yes"/>

  4. #4
    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
    J'ai un gros pb avec ton code.
    Le transltate permet de transformer 1 caractère en un autre mais ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    translate(....,'¤','&lt;/')"
    ce sont deux caracteres d'ou le / sera ignoré.Si cela marche vraiment chez toi comme tel c'est etrange et ne respecte pas du tout la norme du xslt 1.0

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/04/2009, 17h03
  2. les caractères accentués sont remplacés par des caractères chinois
    Par ghyosmik dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 04/12/2008, 22h33
  3. [RegEx] Extraire des nombres séparés par des caractères spéciaux
    Par GouKen dans le forum Langage
    Réponses: 2
    Dernier message: 29/01/2008, 16h49
  4. Réponses: 9
    Dernier message: 31/07/2007, 01h13
  5. Réponses: 5
    Dernier message: 26/11/2006, 17h32

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