[
Lists Home |
Date Index |
Thread Index
]
I am clicking on the hyperlink and then test() function is called.
I changed the <script> element as you described and still does not work.
This is the html I got in MSXML. I saved this into file and opened in
Netscape and works fine. But Netscape is generating HTML using MSXML !!
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-16">
<SCRIPT type="text/javascript"><!--
function test(avalue) {
alert(avalue);
}
--></SCRIPT></head>
<body>
<table border="1">
<tr>
<td>Equipment No.</td>
<td>Description</td>
</tr>
<tr>
<td><a href="javascript:test('prod39.xml')">010.AS100</a></td>
<td>High-top airslide 300 12 200</td>
</tr>
<tr>
<td><a href="javascript:test('prod38.xml')">010.AS200</a></td>
<td>Low-bottom airslide 200 12 100</td>
</tr>
<tr>
<td><a href="javascript:test('prod37.xml')">010.AS300</a></td>
<td>No-bottom airslide 200 12 100</td>
</tr>
</table>
</body>
</html>
[Jeff wrote]
> Looks OK to me, and works for me in IE6, except that in recent HTML you
> are
> supposed to use
> <SCRIPT type="text/javascript">
> instead of
> <SCRIPT language="JavaScript">
> The language attribute still exists but is deprecated. It's possible that
> Netscape also uses a case-sensitive spelling of javascript (I don't have a
> copy of Netscape handy.) The way to try this is to use a separate XSLT
> processor (MSXSLT or Xalan from apache.org or something else), run it on
> your xml file, putting the html output into a file. Then stick the html
> result into Netscape separately and see what happens. You could also try
> changing the SCRIPT element as described above and see if it makes any
> difference.
>
> Also, your description of the problem is a bit inaccurate. Your XSL
> transform is *emitting* javascript, not calling it. The javascript
> functions are only called when someone clicks on an item in the rendered
> HTML.
>
> Jeff
> ----- Original Message -----
> From: "Deshpande, Gururaj" <gururaj.deshpande@flsmidth.com>
> To: "'Jeff Greif'" <jgreif@alumni.princeton.edu>
> Sent: Wednesday, April 10, 2002 10:39 AM
> Subject: RE: [xml-dev] How do we call Javascript function in XSL file on
> Netscape (Ver 6.2) browser?
>
>
> > Hi Jeff,
> >
> > I am copying my XSL and XML file. What is wrong with this?
> >
> > --------------------------------
> > <?xml version='1.0' encoding="iso-8859-1"?>
> > <xsl:stylesheet version="1.0"
> > xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> > <xsl:output method="html"/>
> > <xsl:template match="/">
> > <html>
> > <head>
> > <SCRIPT language="JavaScript"><![CDATA[
> > function test(avalue) {
> > alert(avalue);
> > }
> > ]]></SCRIPT>
> > </head>
> > <body>
> > <table border="1">
> > <tr>
> > <td width="15%" align="center">Equipment No.</td>
> > <td width="50%" align="center">Description</td>
> > </tr>
> > <xsl:apply-templates select="plant/dept/eqpt"/>
> > </table>
> > </body>
> > </html>
> > </xsl:template>
> > <xsl:template match="plant/dept/eqpt">
> > <xsl:for-each select=".">
> > <tr>
> > <td><a
> > href="javascript:test('{prodxml}')"><xsl:value-of
> > select="equipmentno"/></a></td>
> > <td><xsl:value-of select="description"/></td>
> > </tr>
> > </xsl:for-each>
> > </xsl:template>
> > </xsl:stylesheet>
> >
> --------------------------------------------------------------------------
> > <?xml version="1.0" encoding="iso-8859-1"?>
> > <?xml-stylesheet type="text/xsl" href="..\html\equipment-1.xsl"?>
> > <plant>
> > <dept deptid="231">
> > <eqpt eqptid="39">
> > <equipmentno>010.AS100</equipmentno>
> > <description>High-top airslide 300 12 200</description>
> > <prodxml>prod39.xml</prodxml>
> > </eqpt>
> > <eqpt eqptid="38">
> > <equipmentno>010.AS200</equipmentno>
> > <description>Low-bottom airslide 200 12 100</description>
> > <prodxml>prod38.xml</prodxml>
> > </eqpt>
> > <eqpt eqptid="37">
> > <equipmentno>010.AS300</equipmentno>
> > <description>No-bottom airslide 200 12 100</description>
> > <prodxml>prod37.xml</prodxml>
> > </eqpt>
> > </dept>
> > </plant>
> >
> >
> > > The html document your XSLT transform is creating is invalid according
> to
> > > the HTML 4.01 DTD. The only allowed content for the HTML element is
> > > (HEAD,
> > > BODY). You probably meant to put the link and SCRIPT elements into
> the
> > > HEAD
> > > element. Perhaps Netscape 6.2 is more standards-compliant and refuses
> to
> > > accept illegal HTML? It is useful in cases like these to run the
> output
> > > of
> > > the style sheet through the W3C 'tidy' program.
> > >
> > > Jeff
> > > ----- Original Message -----
> > > From: "Deshpande, Gururaj" <gururaj.deshpande@flsmidth.com>
> > > To: <xml-dev@lists.xml.org>
> > > Sent: Wednesday, April 10, 2002 8:11 AM
> > > Subject: [xml-dev] How do we call Javascript function in XSL file on
> > > Netscape (Ver 6.2) browser?
> > >
> > >
> > > > To, all XML Gurus
> > > > My question is about Netscape 6.2, XSL, XML and Javascript. I am
> doing
> > > > client side transformation. No server support at all. When I call
> > > javascript
> > > > function within XSL file, Netscape does not run / understand the
> > > javascript.
> > > > Same works on IE without problems.
> > > > I am copying my XSL file below.
> > > > Does anybody has a solution? Thanks
> > > > Gururaj
> > > >
> > >
> >
> >
|