[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: How do we call Javascript function in XSL file on Netscape

  • To: 'Jeff Greif' <jgreif@a...>, xml-dev@l...
  • Subject: RE: How do we call Javascript function in XSL file on Netscape (Ver 6.2) browser?
  • From: "Deshpande, Gururaj" <gururaj.deshpande@f...>
  • Date: Wed, 10 Apr 2002 16:04:22 -0400
  • Return-receipt-to: "Deshpande, Gururaj" <gururaj.deshpande@f...>

calling javascript from xslt
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@f...>
> To: "'Jeff Greif'" <jgreif@a...>
> Sent: Wednesday, April 10, 2002 10:39 AM
> Subject: RE:  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@f...>
> > > To: <xml-dev@l...>
> > > Sent: Wednesday, April 10, 2002 8:11 AM
> > > Subject:  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
> > > >
> > >
> >
> >

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.