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] problem avec xsl:copy-of


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 17
    Par défaut [XSLT] problem avec xsl:copy-of
    Bonjour a tous,

    Je suis en train d'ecrire un fichier xsl pour transformer un xml em html, et je voudrais utiliser xslt client-side (javascript xslt processor). Il y a un attribut "title" dans une des balises du xml que j'ai besoin d'afficher comme texte dans le html, mais le probleme est que le texte de cet attribut contient des <b> et <b> que je ne veux pas echapper (je voudrais que le html les interprete et que par consequent que les mots contenus apparaissent en bold dans le browser). En ajoutant:
    disable-output-escaping="yes" , ca marche pour safari et IE, mais firefox ne reconnait pas cette expression et continue a echapper (firefox affiche donc <b>blabla</b> au lieu de blabla ).

    XML:
    ...
    <Listing title="&lt;b&gt;Machin&lt;/b&gt; &lt;b&gt;Truc&lt;/b&gt;">
    ...

    XSLT:
    ...
    <xsl:value-of select="@title" disable-output-escaping="yes"/>
    ...

    J'ai essaye d'utiliser <xsl:copy-of> a la place de <xsl:value-of>, mais alors la ca n'affiche rien, il semble bien que copy-of ne marche pas pour un attribut!
    Si vous avez une solution, une idee, une suggestion, merci beaucoup d'en faire part, parce que vraiment la, je seche...

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    Citation Envoyé par Sten Voir le message
    J'ai essaye d'utiliser <xsl:copy-of> a la place de <xsl:value-of>, mais alors la ca n'affiche rien, il semble bien que copy-of ne marche pas pour un attribut!
    Si si... Mais un attribut est un attribut, et donc la copie d'un attribut est un attribut, pas du nœud texte ni des éléments.

    Firefox est connu, parmi les utilisateurs de XSLT client-side, pour ne pas gérer disable-output-escaping. Il n'y a donc pas grand-chose à faire, qu'autrement.
    Plutôt qu'avoir des fausses balises dans un attribut, ton titre devrait être lui-même le contenu d'un éléments, avec des vraies balises <b> autour.
    On va me dire que ça complique la possibilité de permettre à un utilisateur non-expert de taper du style HTML dans un programme simple plutôt que de le taper dans un fichier XML. Et on aura raison. Dommage, hein.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 17
    Par défaut
    Merci bien, theIvin, pour ta réponse éclairante. Je vais voir ce que je peux faire...

Discussions similaires

  1. [XSLT] Probleme avec xsl:if
    Par Mo_Poly dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 17/02/2008, 23h02
  2. [XSLT] problème avec copy-of
    Par ploxien dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 17/10/2006, 14h03
  3. [debutant]probleme avec le copy constructor
    Par Battosaiii dans le forum Débuter
    Réponses: 10
    Dernier message: 09/11/2005, 10h33
  4. [ XSLT ] probleme avec generate-id()
    Par Pi2 dans le forum XSL/XSLT/XPATH
    Réponses: 12
    Dernier message: 02/11/2005, 12h11
  5. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33

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