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] mauvaise interprétation du contenu d'une balise XML


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 351
    Points : 346
    Points
    346
    Par défaut [xsl] mauvaise interprétation du contenu d'une balise XML
    Bonjour tout le monde,

    J'ai dans mon fichier xml, la balise suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <tit><![CDATA[> accueil]]></tit>
    <http><![CDATA[http://www.monsite.ch/test.aspx?nr=2456&id=3E4E14E86D8AF781851B89045FC1FEC8" target="_blank]]></http>
    Dans le fichier XSL, je vais chercher le contenu de la balise http, qui sera ensuite mis dans l'attribut href

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ....
    <xsl:variable name="http" select="http"/>
    ....
    <a href="{$http}">
    <xsl:value-of select="$tit" disable-output-escaping="yes"/>
    </a>
    Le problème est que l'attribut "Target" est mal interprété, c'est-à-dire que les " sont traduit par &quot; après la transformation.

    Par contre si j'affiche le contenu de ma variable comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <xsl:value-of select="$http"/>				-
    Les " reste ", il ne sont pas transformé.

    Cette façon de faire, c'est-à-dire, d'indiquer directement le "target" dans la même balise (http) que l'url de mon lien est faisable.
    Sinon quel serait le meilleur moyen pour résoudre ce problème.

    Par avance, merci pour votre aide!

    Cédric

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Salut,

    Tu pourrais ajouter une deuxième variable "target" que tu utiliserais pour remplir l'attribut target de ton href, puis si target est vide, tu ne le remplirais pas.

    Sinon ton problème est lié à la transformation des caractères "spéciaux" dont le double quote fait partie, je ne sais pas si il y a un moyen de bypasser cela.
    K

  3. #3
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    tu as cette possibilité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <a> 
      <xsl:attribute name="href">
        <xsl:value-of select="$http" disable-output-escaping="yes"/>
      </xsl:attribute>
      <xsl:value-of select="$tit" disable-output-escaping="yes"/> 
    </a>
    Est-ce que ton XML est saisi directement ou généré par une application ? Dans le deuxième cas, abandonne les <![CDATA[]]> et utilise les entités XML, tu auras sans doute moins de problèmes.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

Discussions similaires

  1. [XML] Recupérer le contenu d'une balise XML en PHP
    Par Higestromm dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 15/07/2010, 09h57
  2. [XSL]Ajout Namespace a partir du contenu d'une balise
    Par Altaran dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/02/2010, 14h01
  3. [SimpleXML] Récupérer contenu d'une balise XML contenant du HTML
    Par samichon dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 24/08/2007, 08h36
  4. [AJAX] récupérer contenu d'une balise xml
    Par Braillane dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/06/2007, 08h08
  5. [XSL] Test sur le nom d'une balise
    Par KibitO dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 18/12/2005, 13h44

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