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

XMLRAD Discussion :

XSL et HTML


Sujet :

XMLRAD

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2002
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 243
    Points : 192
    Points
    192
    Par défaut XSL et HTML
    Bonjour

    Mon problème est le suivant :
    j'ai une valeur du context qui contient du html (par ex: <a>blabla</a>);
    je mets ensuite cette valeur dans un curseur (cette valeur est toujours la même) puis j'execute le save du curseur pour stockage dans un fichier.
    C'est là que se situe mon pb: <a> est transformé en &lt;a&gt; ....

    1. Comment faire pour que le save du curseur conserve la chaine passée telle quelle?
    2. Sinon, comment faire pour afficher le contenu html lors du parsage ?
    en effet, je fais un <xsl:copy-of.../>. Ca marche bien si le formatage est <a>blabla</a> j'obtiens bien blabla. En revanche si le formatage est &lt;a&gt; alors j'obtiens <a>blabla</a>

  2. #2
    Membre actif Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    Pour conserver ton html, une solution simple est d'utiliser un CDATA pour stocker sa valeur.... .
    Ensuite, pour l'afficher, il suffit effectivement de faire un copy-of.

    En fait, je me suis fait un petit composant xsl qui fait ca. En gros, je passe en paramètre mon html grace à un xsl-value-of (sans oublier le disabled-output-escaping) et le composant affiche la valeur du paramètre avec le copy-of. Ca evite tous les problemes de formatage, le html est affiché tel qu'il est stocké dans le cdata.

    Michael

  3. #3
    Membre habitué
    Inscrit en
    Novembre 2002
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 243
    Points : 192
    Points
    192
    Par défaut
    j'ai fait quelques essais dans ce sens mais sans résultat. Dans ma grappe xml, j'ai plusieurs noeuds contenant des valeurs du genre
    &lt;a&gt;X1&lt;/a&gt;
    &lt;a&gt;X2&lt;/a&gt;
    .
    .
    .
    Peux-tu à partir de ça me fournir un exemple.
    Merci d'avance
    Pierre-François

  4. #4
    Membre habitué
    Inscrit en
    Novembre 2002
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 243
    Points : 192
    Points
    192
    Par défaut
    C'est bon. Merci quand même. Petite erreur de syntaxe avec les CDATA

  5. #5
    Membre actif Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    OK, mais je ne suis pas sur d'avoir la même problematique que toi.
    Moi je place dans ma grappe un truc comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <document>
    <XMLC_Params> ....
    <Locales> ....
    ...
    <htmli id="toto">
    <![CDATA[
        <table cellspacing="2" cellpadding=2 border='1'>
    <tr>
        <td>Hello!
        <td> &lt;AAAA&gt;</td>
       .... Bref tout un tas d'iniominies HTML  ;-)
    ]]>
    </htmli>
    </document>

    Le composant ressemble à ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <xsl:template name="mon_ns:htmlImport">
    		<xsl:param name="Name"/>
    		<xsl:param name="Content"/>
    		<xsl:param name="Style"/>
    		<xsl:element name="div">
    			<xsl:attribute name="name"><xsl:value-of select="$Name"/></xsl:attribute>
    			<xsl:attribute name="id"><xsl:value-of select="$Name"/></xsl:attribute>
    			<xsl:attribute name="style"><xsl:value-of select="$Style"/></xsl:attribute>
    			<xsl:copy-of select="$Content"/>
    		</xsl:element>
    </xsl:template>
    et l'appel dans la feuille xsl se fait comma ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <xsl:call-template name="mon_ns:htmlImport">
    	<xsl:with-param name="Name">html</xsl:with-param>
    	<xsl:with-param name="Style">display:inline;</xsl:with-param>
    	<xsl:with-param name="Content">
    		<xsl:value-of select="/document/htmli" disable-output-escaping="yes"/>
    	</xsl:with-param>
    </xsl:call-template>
    Si ca peut t'aider...

    Mais si je comprends bien, tu veux toi retransformer les &gt; en >
    En principe un simple value-of devrait faire l'affaire, non?

    Michael

  6. #6
    Membre actif Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    Citation Envoyé par Pierre FORAZ (pfo74)
    C'est bon. Merci quand même. Petite erreur de syntaxe avec les CDATA
    Oops, j'avais pas rafraichit avant de répondre

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

Discussions similaires

  1. Q: inserer SVG generé par XSL en HTML
    Par Rainlife dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/03/2007, 21h41
  2. xml + xsl + balise html
    Par nemya dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 09/02/2006, 10h40
  3. [XML][XSL]probleme html dans balise xml
    Par chateau64 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 02/12/2005, 11h42
  4. [XSL] Balise html dans un XML
    Par Ludo_xml dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 13/06/2005, 13h55
  5. XML/XSL vers HTML: comment transformer les linefeed en <B
    Par AlainM dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 18/11/2003, 12h30

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