Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Outils > XMLRAD
XMLRAD Environnement de développement Web XML/XSL. Avant de poster -> F.A.Q XMLRAD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/05/2004, 11h42   #1
Membre habitué
 
Inscription : novembre 2002
Messages : 243
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 243
Points : 149
Points : 149
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>
Pierre FORAZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2004, 11h55   #2
Membre confirmé
 
Avatar de Jeweller
 
Inscription : août 2003
Messages : 354
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 354
Points : 226
Points : 226
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
Jeweller est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2004, 14h03   #3
Membre habitué
 
Inscription : novembre 2002
Messages : 243
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 243
Points : 149
Points : 149
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
Pierre FORAZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2004, 14h24   #4
Membre habitué
 
Inscription : novembre 2002
Messages : 243
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 243
Points : 149
Points : 149
C'est bon. Merci quand même. Petite erreur de syntaxe avec les CDATA
Pierre FORAZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2004, 14h34   #5
Membre confirmé
 
Avatar de Jeweller
 
Inscription : août 2003
Messages : 354
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 354
Points : 226
Points : 226
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 :
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 :
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 :
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
Jeweller est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2004, 14h35   #6
Membre confirmé
 
Avatar de Jeweller
 
Inscription : août 2003
Messages : 354
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 354
Points : 226
Points : 226
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
Jeweller est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h35.


 
 
 
 
Partenaires

Hébergement Web