Salut,
j'ai voulu insérer du code javascript dans une feuille xslt mais j'ai pas pû. Pouvez vous m'aider.
Voici ce que j'ai essayé:
MerciCode:
1
2
3
4
5 <SCRIPT language='JavaScript'> ..... ..... </SCRIPT>
Version imprimable
Salut,
j'ai voulu insérer du code javascript dans une feuille xslt mais j'ai pas pû. Pouvez vous m'aider.
Voici ce que j'ai essayé:
MerciCode:
1
2
3
4
5 <SCRIPT language='JavaScript'> ..... ..... </SCRIPT>
Tu as besoin que le javascript soit utilise lors de la transformation XSLT ou seulement present sans le resultat final
pour le second cas, tu dois avoir un pb de caractere:
Code:
1
2
3
4
5
6 <SCRIPT language="JavaScript"> <![CDATA[ ...... ]]> </SCRIPT>
salut,
J'ai besoin que le javascript soit utilise lors de la transformation XSLT
Svp encore de l'aide.
jai esayé cette solution mais ça pas marché.
Merci
salut,
voici ce que contient mon code.
<xsl:template match="/">
<html>
<head>
<script language="Javascript"><![CDATA[
var s='fr';
]]></script> </head>
<body >
<input type="button" value="test" onclick="javascript:alert(s);"/>
</body></html>
</xsl:template>
Svp de l'aide
Merci
Normal, si ton javascript dois être utilise lors de la creation de tafeuille tu dois faire appel a des fonctions de ton processeur, xslt seul ne le permet pas.
Vu que la syntaxe pour faire appel a un langage exterieur varie suivant le processeur utilise (windows:msxml, php:sablotron, java:xalan,xerces,saxon... etc....), il est necessaire de savoir lequel tu utilise avant toute chose
Je vais regarder mais je ne vois pas en quoi ton javascrip^t intervient dans ton xslt ici :roll:
salut,
cet exemple c'est juste un test que je voudrais faire marcher, mais le javascript que je voudrais utiliser sert à rendre les colonnes du tableau résultat de xslt triable.
Merci
a part que j'aurais plutot mis ma balise script dans le body ton exemple marche chez moi.
Pour faire un tri nul besoin d'activer du javascript dans le xslt, utiliser des parametre voir ici:
http://www.developpez.net/forums/vie...=90007&start=3
salut,
Svp, j'ai besoin du javascript dans la feuille résultat du xslt, alors pouvez vous me renseigner comment activer le javascript dans une feuille xslt.
Merci
En fait, ce n'est pas une question d'activation... c'est juste une question de bien placer son script... Je met du javacript de la même façon que toi et je n'ai pas de pb...
salut,
Voici mon code. Svp, pouvez vous m'aider à trouver le problème
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" indent="yes"/> <xsl:variable name="nbre" select="count(//doc[$dateDebut <= @CreationDate and $dateFin >= @CreationDate and contains($state,@Etat) and contains($type,@ClassPS) and contains($conf,@NameConfDocPS)])"/> <xsl:template match="docs"> <html> <head> <script type="text/javascript" src="sorttable.js"></script> <script type="text/javascript"> <![CDATA[var t2=new SortTable("t2");var s="fr";]]></script> </head> <body > <input type="button" value="test" onclick="javascript:alert('gggg');alert(s);"/> <table align="center" width="100%" > <tr > <th align="center" style="border:#B7B697 1px solid;FONT-WEIGHT: bold; COLOR: #7F7E57;font:Tahoma;font-size:10px;BACKGROUND-COLOR: #F9F9F2;"><A class='sort' href='javascript:SortRows(t2,1);alert(t2.names);'>Nr</A></th> <td align="center" style="border:#B7B697 1px solid;FONT-WEIGHT: bold; COLOR: #7F7E57;font:Tahoma;font-size:10px;BACKGROUND-COLOR: #F9F9F2;"><A class='sort' href='javascript:SortRows(t2,2)'>Délai</A></td> <td align="center" style="border:#B7B697 1px solid;FONT-WEIGHT: bold; COLOR: #7F7E57;font:Tahoma;font-size:10px;BACKGROUND-COLOR: #F9F9F2;"><A class='sort' href='javascript:SortRows(t2,3)'>Date du courrier</A></td> <td align="center" style="border:#B7B697 1px solid;FONT-WEIGHT: bold; COLOR: #7F7E57;font:Tahoma;font-size:10px;BACKGROUND-COLOR: #F9F9F2;"><A class='sort' href='javascript:SortRows(t2,4)'>Expéditeur</A></td> <td align="center" style="border:#B7B697 1px solid;FONT-WEIGHT: bold; COLOR: #7F7E57;font:Tahoma;font-size:10px;BACKGROUND-COLOR: #F9F9F2;"><A class='sort' href='javascript:SortRows(t2,5)'>Objet</A></td> <td align="center" style="border:#B7B697 1px solid;FONT-WEIGHT: bold; COLOR: #7F7E57;font:Tahoma;font-size:10px;BACKGROUND-COLOR: #F9F9F2;"><A class='sort' href='javascript:SortRows(t2,6)'>Responsable</A></td> <td align="center" style="border:#B7B697 1px solid;FONT-WEIGHT: bold; COLOR: #7F7E57;font:Tahoma;font-size:10px;BACKGROUND-COLOR: #F9F9F2;"><A class='sort' href='javascript:SortRows(t2,7)'>Annotation</A></td> <td align="center" style="border:#B7B697 1px solid;FONT-WEIGHT: bold; COLOR: #7F7E57;font:Tahoma;font-size:10px;BACKGROUND-COLOR: #F9F9F2;"><A class='sort' href='javascript:SortRows(t2,8)'>Etat</A></td> </tr> <script language="Javascrip"><![CDATA[t2.AddColumn("Nr","","left",""); t2.AddColumn("delai","","left",""); t2.AddColumn("date","","left",""); t2.AddColumn("exp","","left",""); t2.AddColumn("objet","","left",""); t2.AddColumn("resp","","left",""); t2.AddColumn("annot","","left",""); t2.AddColumn("etat","","left","");]]></script> <xsl:apply-templates select="//doc" /> <script language="Javascript"><![CDATA[t2.WriteRows();]]></script> </table></body></html> </xsl:template> <xsl:template match="//doc"> <xsl:if test="$dateDebut <= @CreationDate and $dateFin >= @CreationDate and contains($state,@Etat) and contains($type,@ClassPS) and contains($conf,@NameConfDocPS)"> <script language="Javascript"><![CDATA[t2.AddLine(<xsl:value-of select="@BOIDPS"/>, <xsl:value-of select="@delai"/>, <xsl:value-of select="@Parentdate"/>, <xsl:value-of select="@ParentExpPS"/>, <xsl:value-of select="@ParentSubjectPS"/>, <xsl:value-of select="@ResponsablePS"/>, <xsl:value-of select="@SubjectPS"/>, <xsl:value-of select="@Etat"/> ); t2.AddLineSortData(<xsl:value-of select="@BOIDPS"/>, <xsl:value-of select="@delai"/>, <xsl:value-of select="@Parentdate"/>, <xsl:value-of select="@ParentExpPS"/>, <xsl:value-of select="@ParentSubjectPS"/>, <xsl:value-of select="@ResponsablePS"/>, <xsl:value-of select="@SubjectPS"/>, <xsl:value-of select="@Etat"/>); t2.AddLineProperties("border:#B7B697 1px solid; font:Tahoma;font-size:10px;");]]></script> </xsl:if> </xsl:template> </xsl:stylesheet>
Si tu expliquais le resultat que tu souhaites on pourrait t'aider, parce que ton code....
L'utilisation d'un autre langage a l'interieur d'un XSLT ne se fait que pour des raisons exceptionnelle, et un tri n'en ai pas une.
De + l'utilisation est complexe puisqu'elle sort du langage et s'adresse au option du processeur.On a donc une syntaxe differente suivant les processeur.
Donc
1) Explique ce que tu veux faire , je pense qu'il n'y a nul besoin de javascript pour arriver a un resultat identique, les tris se font tres bien en passage de parametre
2)Si , par hasard ce n'etait pas le cas,dis nous avec quel processeur tu travaille comme deja demande ici
http://www.developpez.net/forums/vie...light=#2366193
Je vais finir par me lasser de repeter la meme chose
salut,
Tout d'abord je m'excuse si je t'ai géné.Mon objectif est d'avoir une datagrid comme ceci http://www.mattkruse.com/javascript/...ble/index.html
ce que j'ai besoin d'intégrer un code javascript dans le résultat du xsl
Merci
Bonjour,
ça ne risque pas de fonctionner :
Tout ce qui est inclus dans un <![CDATA[...]]> n'est pas interprété par le parseur XML, le (<xsl:value-of select="@BOIDPS"/> ne peut donc pas s'exécuter...Code:<![CDATA[t2.AddLine(<xsl:value-of select="@BOIDPS"/>,
Tu aurais pu t'en rendre facilement compte en faisant un "afficher la source", et consulter le code HTML résultant de la transformation.
C'est ce qui me semblait, et pour la deuxieme fois, pour un tri le javascript n'est pas utile(en utilisation) DANS la feuille xslt, on le laisse a l'exterieur dans la page html et grace au pocesseur xslt , en changeant le parametre , cela permet de faire des tris sur table.
comme ici:
http://www.developpez.net/forums/vie...=90007&start=3
plus simple et surtout cela a en plus l'avantage de gerer plus facilement des processeurs xslt different.
On charge une apge avec le tableau dans un div par exemple.Et a chaque event onclick on change le innerhtlm de la div en passant un nouveau parametre a la feuille xslt.
Enfin l'emploi de balise javascript dans un XSLT est a bien etudier.
Hors un chargement complet de la page,certains navigateurs n'effectue le code javascript que lors d'un appel exterieur et posterieur au chargement.