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 / html / javascript translate


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 63
    Points
    63
    Par défaut [XSLT] xsl / html / javascript translate
    Bonjour.

    j'aimerai pouvoir réaliser une transformation de caractère ' en \' en xsl.

    Or la fonction translate faites pour ne le fait que caractère par caractère.
    Ce qui a donc pour effet de remplacer ' par \.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xsl:variable name="strFrom1">'</xsl:variable>
    	 <xsl:variable name="strTo1">\'</xsl:variable> 
     
    	<xsl:variablename=
    "reponseD"select="translate(responseData,$strFrom1,$strTo1)" />

    J'ai beau chercher, je ne trouve pas de solution.
    Si quelqu'un a une petite idée je suis preneur !

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Je ne m'y connais pas beaucoup en XSLT ni en XPath, mais est-ce que la fonction adaptée n'est pas plutôt replace() ?

    Genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:variablename="reponseD"
      select="replace(responseData,$strFrom1,$strTo1)" />

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 63
    Points
    63
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'replace' n'est pas une fonction XSLT ou XPath valide. -->replace(responseData,$strFrom,$strTo)<--
    j'aurais bien aimé

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Points : 231
    Points
    231
    Par défaut
    Bonjour,

    Consulte ce lien :
    http://geekswithblogs.net/Erik/archi...01/120915.aspx
    on y présente une fonction en 1.0 effectuant des remplacements multiples dans une chaîne.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 63
    Points
    63
    Par défaut
    Merci pour le lien ça à l'air pas mal ! je vais tester ça des que possible.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 63
    Points
    63
    Par défaut
    bon je vais en profiter pour poser une nouvelle question.

    J'ai pas mal de problème avec les caractères spéciaux du type " à ".

    si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:variable name="strFrom">à</xsl:variable>
    	 <xsl:variable name="strTo">a</xsl:variable>
    	 <xsl:variable name="reponseD" select="translate(responseData,$strFrom,$strTo)"
    Il me génère une erreur en disant que le fichier xsl contient des caractères non valide.

    si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:variable name="strFrom">&agrave;</xsl:variable>
    	 <xsl:variable name="strTo">a</xsl:variable>
    	 <xsl:variable name="reponseD" select="translate(responseData,$strFrom,$strTo)"
    Idem.

    Dans mon fichier Xml, le " à " est écrit : &agrave.


    Et chose assez surprenante, si j'affiche le contenu de ma chaine de caractère dans une case <td> </td> (la chaine correspondante à responseData, sans faire de translate), les " à ", s'affiche correctement !

    Je ne vois donc pas très bien comment gérer tous ces caractères spéciaux

    p.s : j'ai bien mis encodage uft8 dans le fichier Xml ET dans le fichier Xsl.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par Krantz Voir le message
    Bonjour,

    Consulte ce lien :
    http://geekswithblogs.net/Erik/archi...01/120915.aspx
    on y présente une fonction en 1.0 effectuant des remplacements multiples dans une chaîne.
    En tout cas, ça marche nikel ça ! merci bien

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Je me trompe peut-être, mais il me semble qu'il n'y a pas d'entité &agrave; en XSLT, donc ça déjà ça ne risque pas de marcher. Mettre &#xe0; à la place.

    Ensuite, tu dis que tu as bien mis encodage utf-8 dans les fichiers, oui, euh... Tu veux dire dans la déclaration ? : <?xml version="1.0" encoding="utf-8"?>
    Car je le dis au cas où : c'est pas tout d'annoncer qu'on est encodé en utf-8, il faut aussi faire en sorte de l'être. Il faut dire à l'éditeur de texte d'enregistrer en utf-8.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 63
    Points
    63
    Par défaut
    uep c'est bon pour les caractère spéciaux, j'ai eu beaucoup de mal, mais j'ai réussit à grand coup de &'#234; &'#234; ....

  10. #10
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    C'est pourtant pas compliqué de simplement enregistrer son fichier en utf-8 -_-°.

    Format/Convertir/En utf-8. Un peu plus simple que de se taper des entités caractère littérales partout.

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

Discussions similaires

  1. [XSLT] XSL et include d'un HTML
    Par valal dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 20/12/2007, 18h39
  2. [XSLT][>(X)HTML/JS] Menu déroulant dans XSL
    Par tomy29 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 04/01/2007, 12h17
  3. [PHP] [XSLT] utilisation, de javascript dans le xsl
    Par vodasan dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 11/10/2006, 16h38
  4. [XSLT] XML+XSL=HTML avec charset UTF-16
    Par Steph4fun dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 02/10/2006, 08h54
  5. [XSLT] [XML->HTML] transformation XML -> HTML via XSL
    Par Great Sayaman dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/12/2004, 23h12

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