Bonjour,
j'ai un problème d'inclusion de javascript dans mon fichier XSL. Quoique je fasse et n'importe où je le mette même entre CDATA ou <!-- -->, je n'arrive pas à faire fonctionner ne serait-ce qu'un alert.
Voilà mon code qui n'est peut être pas écrit comme il le faudrait. Je débute donc si vous avez des commentaires, donnez les moi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
75
76
77
78
79
80
81
82
83 <?xml version='1.0' encoding='UTF-8'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1"> <xsl:template match="/database"> <xsl:apply-templates select="header"/> <xsl:apply-templates select="records"/> </xsl:template> <xsl:template match="header"> <table align="center" cellpadding="2" cellspacing="2"> <tr> <td colspan="2" bgcolor="#ffd17c" align="center">DB HEADER</td> </tr> <tr> <td align="center" bgcolor="#ffd17c">Header Magic</td> <td> <xsl:value-of select="header_magic"/> </td> </tr> ... </table> </xsl:template> <xsl:template match="records"> <div align="center" id="truc">:/</div> <table align="center" cellpadding="2" cellspacing="2"> <tr> <td colspan="8" bgcolor="#ffd17c" align="center">TABLE OF RECORDS</td> </tr> <tr> <td align="center" bgcolor="#ffd17c">#</td> <td align="center" bgcolor="#ffd17c">Name</td> <td align="center" bgcolor="#ffd17c">Number</td> <td align="center" bgcolor="#ffd17c">Modifiers</td> <td align="center" bgcolor="#ffd17c">Size</td> <td align="center" bgcolor="#ffd17c">Flags</td> <td align="center" bgcolor="#ffd17c">Header CS</td> <td align="center" bgcolor="#ffd17c">Value CS</td> </tr> <xsl:for-each select="record[1 and @number='5985']"> <script language="JavaScript"> <![CDATA[ document.getElementById("truc").innerHTML ="salut"; ]]> </script> <tr> <td align="center" width="75" bgcolor="#ffef7a" rowspan="2"> <xsl:value-of select="count(preceding::record)+1"/> </td> <td width="500" bgcolor="#ffef7a"> <xsl:value-of select="@name"/> </td> <td align="center" width="50" bgcolor="#ffef7a"> <xsl:value-of select="@number"/> </td> <td align="center" width="100" bgcolor="#ffef7a"> <xsl:value-of select="@mod1"/>- <xsl:value-of select="@mod2"/>- <xsl:value-of select="@mod3"/>- <xsl:value-of select="@mod4"/> </td> <td align="center" width="50" bgcolor="#ffef7a"> <xsl:value-of select="@size"/> </td> <td align="center" width="50" bgcolor="#ffef7a"> <xsl:value-of select="@flags"/> </td> <td align="center" width="70" bgcolor="#ffef7a"> <xsl:value-of select="@headerCS"/> </td> <td align="center" width="70" bgcolor="#ffef7a"> <xsl:value-of select="@valueCS"/> </td> </tr> </xsl:for-each> </table> <br/> </xsl:template> </xsl:stylesheet>
Je précise aussi que ce fichier est associé au fichier XML par le navigateur, le XSL n'est pas déclaré dans le XML. Cela explique peut être cela mais l'affichage se fait pourtant très bien comme il faut.
Partager