[XSL] XSL et caractères spéciaux.

XSL et caractères spéciaux. [XSL] - Programmation

Marsh Posté le 08-08-2002 à 17:48:43    

Salut à tous.
 
Quelqu'un saurait il que taper pour faire afficher à XSL un simple "&" (qui est bien pratique pour passer des paramètres à une page ASP tout de même! :D)?
 
Merci. :)


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
Reply

Marsh Posté le 08-08-2002 à 17:48:43   

Reply

Marsh Posté le 08-08-2002 à 21:09:03    

& # 3 8 ;


 
en enlevant les espaces ;)
 
Dropsy


Message édité par dropsy le 08-08-2002 à 21:10:01
Reply

Marsh Posté le 27-08-2002 à 18:34:06    

tomiotomio a écrit a écrit :

Code :
  1. <xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>






Ca marche ça? :eek:


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
Reply

Marsh Posté le 02-12-2002 à 10:29:19    

Argh...
Je vais craquer...
 
Dans mon XSL je met un javascript, dans lequel j'ai besoin de construire une ligne d'url asp, avec comme paramètre des <xsl:value-of-select>...
 
Mais impossible de se servir d'un "&" correctement.
 
Ce genre de choses :

Code :
  1. function test()
  2. {
  3. sortie = "& # 038";
  4. alert(sortie);
  5. }


me recrache "&" et pas juste "&"...
Remplacer le "& # 038;" par "&" donne le même résultat.
Et évidemment mettre sortie = "&";, ne marche pas! [:kiki]  
 
Quelqu'un voit? :/


Message édité par Leg9 le 02-12-2002 à 10:31:55

---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
Reply

Marsh Posté le 02-12-2002 à 10:32:58    

Cela dit, tu as tout à fait le droit de laisser & dans les URLs (c'est d'ailleurs obligatoire pour la validation en XHTML)


Message édité par gm_superstar le 02-12-2002 à 10:34:00

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 02-12-2002 à 10:34:51    

Comme séparateur de paramêtres asp? :)
 
Parce que là ça n'a pas l'air du tout de marcher. :/


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
Reply

Marsh Posté le 02-12-2002 à 10:36:42    

Reply

Marsh Posté le 02-12-2002 à 10:37:14    

gm_superstar a écrit a écrit :

Vi : http://monsite.com/?param1=plop&pa [...] param3=pan
 
Le navigateur se débrouille très bien avec ça.




Ok, mon problème est ailleurs alors! :D
 
Merci beaucoup. ;)


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
Reply

Marsh Posté le 02-12-2002 à 10:47:44    

Hum... asp n'a pas l'air d'apprécier le &... :heink:
 
Ceci :  

Code :
  1. param0 = Request.QueryString("param0" )
  2. param1 = Request.QueryString("param1" )
  3. param2 = Request.QueryString("param2" )


dans l'asp ne me renvoie que le param0 lorsque j'arrive avec une url :

Code :
  1. test.asp?param0="bla"&param1="bli"&param2="blu"


 
:(


Message édité par Leg9 le 02-12-2002 à 10:48:00

---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
Reply

Marsh Posté le 02-12-2002 à 10:51:14    

Leg9 a écrit a écrit :

 

Code :
  1. test.asp?param0="bla"&param1="bli"&param2="blu"






 
ben c'est ton navigateur qui doit transformer les & en &, donc ta page asp recoit exactement la meme chose  [:sinclaire]

Reply

Marsh Posté le 02-12-2002 à 10:51:14   

Reply

Marsh Posté le 02-12-2002 à 10:52:24    

Je connais pas ASP mais ça me paraît bizarre que tu mettes des guillemets (" ) dans tes URLs...
 
Edit: je viens de relire.... effectivement si tu crées tes URLs avec JavaScript ce que tu décris est peut être normal :/


Message édité par gm_superstar le 02-12-2002 à 10:53:40

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 02-12-2002 à 10:59:13    

Ok, merci :cry:


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
Reply

Marsh Posté le 02-12-2002 à 10:59:26    

Leg9 a écrit a écrit :

Argh...
Je vais craquer...
 
Dans mon XSL je met un javascript, dans lequel j'ai besoin de construire une ligne d'url asp, avec comme paramètre des <xsl:value-of-select>...
 
Mais impossible de se servir d'un "&" correctement.
 
Ce genre de choses :

Code :
  1. function test()
  2. {
  3. sortie = "& # 038";
  4. alert(sortie);
  5. }


me recrache "&" et pas juste "&"...
Remplacer le "& # 038;" par "&" donne le même résultat.
Et évidemment mettre sortie = "&";, ne marche pas! [:kiki]  
 
Quelqu'un voit? :/




 
Si tu insères du javascript dans ton XSL tu vas devoir faire gaffe à tous les caractères sépciaux du type & et <...
tu peux le faire, mais c'est galère : il vaut mieux mettre ton javascript dans un fichier externe et simplement faire un link vers ce fichier depuis ton XSL !


Message édité par chocoboy le 02-12-2002 à 11:00:38
Reply

Marsh Posté le 02-12-2002 à 11:03:52    

En plus, tu peux effectuer un "disable-output-escaping" global pour un certain type de noeud que tu définis (avec xsl:output je crois, je suis pas sur, j'ai pas mon bouquin XSL de Michael Kay sous la main...)
Sinon, concernant les scripts, si tu a une grande série de caractères spéciaux, tu peux utiliser un CDATA, ca marche aussi (utile pour les javascripts générés par le XML...)

Reply

Marsh Posté le 02-12-2002 à 11:06:02    

chocoboy a écrit a écrit :

En plus, tu peux effectuer un "disable-output-escaping" global pour un certain type de noeud que tu définis (avec xsl:output je crois, je suis pas sur, j'ai pas mon bouquin XSL de Michael Kay sous la main...)
Sinon, concernant les scripts, si tu a une grande série de caractères spéciaux, tu peux utiliser un CDATA, ca marche aussi (utile pour les javascripts générés par le XML...)




Tu pourrais m'en dire plus stp? :)
 
Quand au Kay, on a un pb de "namespace" (je ne sais même pas exactement à quoi ça correspond :/) qui fait que beaucoup de choses ne marche pas tout à fait dans ce bouquin comme chez nous. :(


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
Reply

Marsh Posté le 02-12-2002 à 11:08:13    

Ah si, le CDATA nous nous en servons pour faire du "xsl script", du brave js que l'on appelle ensuite ailleurs dans le xsl avec un <xsl:eval>nom_de_la_fonction()</xsl:eval>


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
Reply

Marsh Posté le 02-12-2002 à 11:17:19    

t'as essayé de mettre :
 
<script src="mainscript.js" />
 
dans la partie HTML générée de ton XSL : après, dans le fichier mainsccript.js, tu ne te soucies plus de ces problèmes de conversion.
Si tu ne peux pas l'externaliser, voici un exemple contenant des & qui fonctionne dans un XSL :
 

Code :
  1. <script src="mainscript.js" />
  2.   <script language="javascript">
  3.    <![CDATA[
  4.    function forum_open(link_forum, id_entity, title, ellipse_top, ellipse_bottom, rectangle_top, rectangle_bottom, back_color, entity, screen_width)
  5.    {
  6.     var dest='forum_open.html?id_forum='+link_forum+'&id_entity='+id_entity+'&title='+title+'&ellipse_top='+ellipse_top+'&ellipse_bottom='+ellipse_bottom+'&rectangle_top='+rectangle_top+'&rectangle_bottom='+rectangle_bottom+'&back='+back_color+'&entity='+entity+'&screen_width='+screen_width;
  7.     window.open(dest, "", "toolbar=no, location=no, directories=no, status=no, scrollbars=yes, resizable=no, copyhistory=no, width=]]><xsl:value-of select="600*$screen_width div 1600" /><![CDATA[, height=]]><xsl:value-of select="800*$screen_width div 1600" /><![CDATA[, left=]]><xsl:value-of select="($screen_width+(-600*$screen_width div 1600))div 2" /><![CDATA[, top=]]><xsl:value-of select="($screen_height+(-800*$screen_height div 1200))div 2" /><![CDATA[" );
  8.    }
  9.    function popup_open(id_entity, img_path_type, img_src, img_format, img_name, ellipse_top, url_static_jpg, url_static_png, url_photo, screen_width)
  10.    {
  11.     var dest='popup_open.html?id_entity='+id_entity+'&path_type='+img_path_type+'&src='+img_src+'&format='+img_format+'&name='+img_name+'&ellipse_top='+ellipse_top+'&url_static_jpg='+url_static_jpg+'&url_static_png='+url_static_png+'&url_photo='+url_photo+'&screen_width='+screen_width;
  12.     if (img_format=='italian')
  13.     {
  14.      window.open(dest, "", "toolbar=no, location=no, directories=no, status=no, scrollbars=no, resizable=no, copyhistory=no, width=]]><xsl:value-of select="800*$screen_width div 1600" /><![CDATA[, height=]]><xsl:value-of select="600*$screen_width div 1600" /><![CDATA[, left=]]><xsl:value-of select="($screen_width+(-800*$screen_width div 1600))div 2" /><![CDATA[, top=]]><xsl:value-of select="($screen_height+(-600*$screen_height div 1200))div 2" /><![CDATA[" );
  15.     }
  16.     else if (img_format=='french')
  17.     {
  18.      window.open(dest, "", "toolbar=no, location=no, directories=no, status=no, scrollbars=no, resizable=no, copyhistory=no, width=]]><xsl:value-of select="600*$screen_width div 1600" /><![CDATA[, height=]]><xsl:value-of select="800*$screen_width div 1600" /><![CDATA[, left=]]><xsl:value-of select="($screen_width+(-600*$screen_width div 1600))div 2" /><![CDATA[, top=]]><xsl:value-of select="($screen_height+(-800*$screen_height div 1200))div 2" /><![CDATA[" );
  19.     }
  20.     else if (img_format=='square')
  21.     {
  22.      window.open(dest, "", "toolbar=no, location=no, directories=no, status=no, scrollbars=no, resizable=no, copyhistory=no, width=]]><xsl:value-of select="800*$screen_width div 1600" /><![CDATA[, height=]]><xsl:value-of select="800*$screen_width div 1600" /><![CDATA[, left=]]><xsl:value-of select="($screen_width+(-800*$screen_width div 1600))div 2" /><![CDATA[, top=]]><xsl:value-of select="($screen_height+(-800*$screen_height div 1200))div 2" /><![CDATA[" );
  23.     }
  24.    }
  25.    ]]>
  26.   </script>

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed