JScript + XSL
JScript + XSL
bonjour,
j'ai un problème en exécutant du javascript dans du XSL
cela fonctionne très bien sous IE
sous Firefox on obtient le message suivant :
Erreur lors de la transformation XLST : Une fonction d'extension XPath inconnue a été appelée.
En fait en recherchant sue le Web, la question est souvent posée
http://groups.google.com/group/netscape ... 022b6c365e
Depuis 2005 toujours pas de solus ?
Merci
Christian
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11
j'ai un problème en exécutant du javascript dans du XSL
cela fonctionne très bien sous IE
sous Firefox on obtient le message suivant :
Erreur lors de la transformation XLST : Une fonction d'extension XPath inconnue a été appelée.
En fait en recherchant sue le Web, la question est souvent posée
http://groups.google.com/group/netscape ... 022b6c365e
Depuis 2005 toujours pas de solus ?
Merci
Christian
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11
voici le xml et le xsl pour faire un éventuel test
testjs.xml
testjs.xsl
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11
testjs.xml
Code : Tout sélectionner
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="testjs.xsl"?>
<xml><dvd title="TestTitle"></dvd></xml>
Code : Tout sélectionner
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:xslscript="myJavaScript">
<msxsl:script language="javascript" implements-prefix="xslscript">
<![CDATA[
function toUpper(value) {
return value != null ? value.toUpperCase() : "";
}
]]>
</msxsl:script>
<xsl:template match="/">
<html>
<body>
<xsl:value-of select="xslscript:toUpper(string(//dvd/@title))"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Re: JScript + XSL
Une fonction javascript ou jscript ? Ce n'est pas pareillpgc a écrit :bonjour,
j'ai un problème en exécutant du javascript dans du XSL

On a déjà du te le dire, mais je répète : http://fr.wikipedia.org/wiki/JScript

Le message dont tu parles, il est dans la console d'erreur ?
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
je crois que c'est réellement du javascript
Pour avoir plus facile j'ai recopier les codes sur le site :
http://www.dvdlib.be/tutor/xsl/test/testjs.xml
d'après ce que j'ai pû lire ce n'est pas implémenté sous Firefox
du moins dans la version actuelle
C'est bien pratique quand même : j'avais une zone xml
<dtaquis>20070507</dtaquis> de laquelle je dois faire - 4 jours
et faire un traitement sur tout les records dans cette période
en javascript c'est très facile à faire
http://www.dvdlib.be/dvdtheque/mydvd.ph ... =3¶m=3
( la 1ère partie du tableau n'est de ce fait pas réalisée sous Firefox )
sous IE le traitement est effectué
On peut mettre javascript ou JScript au niveau du language... le résultat est le même
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11
Pour avoir plus facile j'ai recopier les codes sur le site :
http://www.dvdlib.be/tutor/xsl/test/testjs.xml
d'après ce que j'ai pû lire ce n'est pas implémenté sous Firefox
du moins dans la version actuelle
C'est bien pratique quand même : j'avais une zone xml
<dtaquis>20070507</dtaquis> de laquelle je dois faire - 4 jours
et faire un traitement sur tout les records dans cette période
en javascript c'est très facile à faire
http://www.dvdlib.be/dvdtheque/mydvd.ph ... =3¶m=3
( la 1ère partie du tableau n'est de ce fait pas réalisée sous Firefox )
sous IE le traitement est effectué
On peut mettre javascript ou JScript au niveau du language... le résultat est le même
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11
Techniquement, je crois que tu rencontres le bug 221640. Apparemment ça pourrait peut-être marcher si tu utilisais un évènement onload pour démarrer ton script quand la page a été transformée.
Cela dit, j'ai l'impression que, dans ton cas, tu ne travailles pas forcément au bon niveau. Si je comprends bien, tu génères ta page en PHP, tu peux donc tout à fait faire la génération du document au format souhaité du côté serveur.
Cela dit, j'ai l'impression que, dans ton cas, tu ne travailles pas forcément au bon niveau. Si je comprends bien, tu génères ta page en PHP, tu peux donc tout à fait faire la génération du document au format souhaité du côté serveur.
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
Li tens revient, je ne fais riens. ♪
Merci pour les réponses,
en fait je ne suis pas bloqué, je sais qu'il existe des solus alternatives
mais qui oblige le serveur à fournir une date "paramètre" supplémentaire dans le xml ( traitement dans le xml
)
( c'est déjà le principe que j'utilise pour détecter les nouveautés depuis la dernière visite :
cookies envoyé au serveur qui donne un tag xml <new /> )
mais c'est quand même un peu frustant de voir que certain browser ne permettent pas
l'utilisation des langages évolués au niveau du xsl
j'ai lu quelque part que c'était prévu dans l'une des futures versions de Firefox
Ce n'est pas du javascript au niveau de la page html, c'est du javascript exécuté au niveau du xsl
En bref dans le xsl je récupère la date d'acquisition la plus récente,
je fais via du "javascript xsl" cette date - 4 jours
et je construis le tableau html par le xsl pour les records compris entre ces 2 dates
Il existe certainement aussi des instructions xsl qui permettent
la manipulation des chaines de caractères et de calcul sur les dates
Mais le JScript est idéalement simple pour ce genre de traitement
Merci
Christian
Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)
en fait je ne suis pas bloqué, je sais qu'il existe des solus alternatives
mais qui oblige le serveur à fournir une date "paramètre" supplémentaire dans le xml ( traitement dans le xml

( c'est déjà le principe que j'utilise pour détecter les nouveautés depuis la dernière visite :
cookies envoyé au serveur qui donne un tag xml <new /> )
mais c'est quand même un peu frustant de voir que certain browser ne permettent pas
l'utilisation des langages évolués au niveau du xsl
j'ai lu quelque part que c'était prévu dans l'une des futures versions de Firefox
Ce n'est pas du javascript au niveau de la page html, c'est du javascript exécuté au niveau du xsl
En bref dans le xsl je récupère la date d'acquisition la plus récente,
je fais via du "javascript xsl" cette date - 4 jours
et je construis le tableau html par le xsl pour les records compris entre ces 2 dates
Il existe certainement aussi des instructions xsl qui permettent
la manipulation des chaines de caractères et de calcul sur les dates
Mais le JScript est idéalement simple pour ce genre de traitement
Merci
Christian
Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités