Transformation XSLT en Javascript

Transformation XSLT en Javascript - XML/XSL - Programmation

Marsh Posté le 16-05-2008 à 13:52:11    

Bonjour,
 
J'ai une question concernant une transformation xsl faite en javascript. Dans mon fichier XSLT j'ai des balises scripts ou j'effectue un traitements où j'affiche un cercles trigonométrique avec des points. Quand je fais la transformation xslt en ajax il n'évalue pas les élements scripts.
 
En faisant des recherches sur internet j'ai trouve la fonction eval qui evalue bien les scripts mais efface les donnée presentes.
 
Pouvez vous m'aider ?
voici les fonctions en javascipts que je dois executer

Code :
  1. function show_position_new(tmpdoc,angle, amin, amax)
  2. {
  3.             var ins="<img src=\"mountpoint/store/media/SimplySim/circle.jpg\" />" +
  4.   "<img src=\"mountpoint/store/media/SimplySim/pos.png\" "+
  5.   " style=\"position:absolute; " + compute_position(angle) +
  6.   " z-index:1\"/>" +
  7.   "<img src=\"mountpoint/store/media/SimplySim/max.png\" "+
  8.   " style=\"position:absolute; " + compute_position(amax) +
  9.   " z-index:1\"/>" +
  10.   "<img src=\"mountpoint/store/media/SimplySim/min.png\" "+
  11.   " style=\"position:absolute; " + compute_position(amin) +
  12.   " z-index:1\"/>";
  13.   tmpdoc.write(ins);
  14. }
  15. function compute_position(angle)
  16. {
  17.  var s = "left:";
  18.  var left = 48 -Math.cos(angle)* 36;
  19.  s += left;
  20.  s += "px; top:";
  21.  var top = 49- Math.sin(angle)* 36;
  22.  s += top;
  23.  s += "px;";
  24.  return s;
  25. }


 
Voici le code xslt ou je demande l'execution du script :

Code :
  1. <div class="dlayer" id="graphe">
  2.           <script>
  3.           show_position_new(document,<xsl:value-of select="sm:State/sm:Position" />
  4.           ,<xsl:value-of select="sm:Properties/sm:PositionLimits/sm:MinLimit" />
  5.           ,<xsl:value-of select="sm:Properties/sm:PositionLimits/sm:MaxLimit" /> )
  6.      
  7.         </script>
  8.          
  9.         </div>


 

Reply

Marsh Posté le 16-05-2008 à 13:52:11   

Reply

Marsh Posté le 21-05-2008 à 22:29:26    

je ne connais pas ajax mais à mon sens une syntaxe de ce type est évalué par le client au moment du chargement de la page donc pas besoin de "eval(...)"
 
J'utilise jamais de "<script>...</script>" à l'intérieure d'une page donc je ne connais pas bien les pré-requis à ce genre de technique mais je pense qu'il faudrait encapsuler ton script dans un CDATA non ?
 
tes fonctions show_position_new et compute_position sont déclarée ou dans le template ?

Reply

Marsh Posté le 22-05-2008 à 18:15:53    

Merci pour ton aide  
j'ai essaye de mettre mon bloc script dans un CDATA mais ca ne marche pas.
 
Mes fonctions sont dans un fichier javascript qui est insere dans dans la balise HTML.

Reply

Marsh Posté le 22-05-2008 à 19:21:12    

tu as activé le debug d'IE ?
Il te diras probalement d'ou vient le problème.

Reply

Marsh Posté le 23-05-2008 à 09:24:34    

Peut tu m'expliquer comment activer debug IE ?
Merci

Reply

Marsh Posté le 24-05-2008 à 12:09:17    

une petite rechcerche sur google t'aurais fourni la réponse ...
dans IE Outils>Options internet>Avancées
rechercher et décocher "desactiver le debogage des scripts"

Reply

Sujets relatifs:

Leave a Replay

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