Javascript dans un XSL, mozilla ignore <xsl:comment><![CDATA[ ? - XML/XSL - Programmation
Marsh Posté le 10-02-2004 à 22:50:20
heu <xsl:comment> ça veut dire qu'au niveau du XML c'est un commentaire, c'est bizarre, non ?
Y a déjà le CDATA pour éviter les caractères spéciaux et le <script> au niveau HTML...
Marsh Posté le 10-02-2004 à 22:55:05
oui mais il faut les deux, c'est sur, j'ai lu quelques trucs sur le sujet et puis si tu les mets pas tu as une erreur de parsing (avec ie notamment)
Marsh Posté le 11-02-2004 à 00:00:50
De toute facon, mozilla n'etant plus dévellopé, passes a firefox.
ton <xsl:comment>...</xsl:comment> c'est dans une feuille de style xslt. faudrait qu'on l'aie sous la main pour voir ce qui va pas. Tu as la feuille de style et un exemple de xml l'utilisant, en ligne qque part??
Si ton pb est juste d'ecrire des < et > pour ton script, la solution connue est la suivante:
<script type="text/javascript">
<xsl:text disable-output-escaping='yes'>
et ici, tu met ton script, avec < pour < et > pour > (et && pour && )
et en sortie de la transfo xslt, ca sera OK.
</xsl:text></script>
Un exemple tout con pour te montrer que ca marche (exemple pas parfait car torché en 5 mn):
test.xml
Code :
|
(pris un fichier HTML declare comme du xml afin de pouvoir appeller onLoad)
test.xsl
Code :
|
Sous IE tu verras le script s'executer.
Sous Mozilla (j'ai teste avec firefox en fait),ca marche aussi. Tu vois d'ailleurs le script avec le DOM Inspector. A toi donc d'adapter a ton pb.
A+,
Marsh Posté le 11-02-2004 à 00:01:48
gilou a écrit : De toute facon, mozilla n'etant plus dévellopé, passes a firefox. |
la 1.6 est sortie récemment et firefox utilise le même moteur (c'est lui qui suit Mozilla et non l'inverse)
Marsh Posté le 11-02-2004 à 00:12:48
Euh oui, scuse! J'ai lu Mozilla, et j'ai pensé Netscape
A+,
Marsh Posté le 11-02-2004 à 08:52:47
Ah très bien merci Gilou !
Oui de toute façon j'ai écrit mozilla mais en fait j'utilise firefox, je voulais généraliser ;-)
Marsh Posté le 10-02-2004 à 22:45:54
Salut,
Lorsque l'on souhaite mettre un morceau de code javascript dans une feuille xsl, il faut prendre soin de mettre
<script type="text/javascript">
<xsl:comment><![CDATA[
/*code*/
]]></xsl:comment>
</script>
pour pouvoir écrire des < (inférieur).
Seulement sous IE pas de problème, mais mozilla ne semble pas exécuter le code entre <xsl:comment... , pourquoi donc ? COmment y remédier ?
Je ne peux pas mettre tout dans un fichier .js externe car je me sert de xsl dans mon script, au début, pour créer un array. ensuite je veux l'initialiser avec un for et c'est la que j'ai besoin de comment...
merci
ANT