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

Re: Javascript inside XSL(Just when I think I understa

Subject: Re: Javascript inside XSL(Just when I think I understand)
From: "Thomas B. Passin" <tpassin@xxxxxxxxxxxx>
Date: Wed, 30 Jan 2002 16:22:05 -0500
1072896766
[Gene LaCava]

> I have added some javascript inside my XSL file because I'm doing some
pull
> down menus.  As soon as I added the script I got the following error
message
>
> Error loading XSL Document :
> ----------------------------
> Error Code : -1072896766
> Reason : A string literal was expected, but no opening quote character was
> found.
>

The code you included below runs without error (when you supply the missing
closing tags, of course).  So the problem is probably in the xml document
pulled in by the document() call in the variable.  You need to check that it
is well-formed.

However, once that is fixed, you will still not get what you want.  That is
because your script is enclosed in a comment.  Comments will not be echoed
to the output, so you won't get the script between the <script> </script>
tags.

The easiest solution is to put the entire chunk of javascript into a CDATA
section, like this:

============================================
<HTML>
<![CDATA[
<!--
var aname='pull';
var NS4 = (document.layers) ? 1 : 0;
var IE = (document.all) ? 1 : 0;
var DOM = (parseInt(navigator.appVersion) >=5) ? 1 : 0;
var MAC = ((navigator.appVersion.indexOf("PPC") >0) ||
(navigator.appVersion.indexOf("Mac") >0)) ? 1 : 0;

//global nav
 function ShowLayer(){return};
 function OutLayer(){return};
if (document.layers) {
  appVer = navigator.appVersion.substring(0,4);
  if (appVer < 4.06) NS4 = 0;
}
if (NS4 || IE || DOM) globalPulldown = 1;
if (!globalPulldown) event = null;
//-->]]>

</xsl:template>

=================================================

This  gives your desired output.

As an aside, your script should go into an explicit head element, rather
that beoing plunked down directly inside the <HTML> element.  it's true that
the start and end tags of the head element are optional, but it's better
practice and will help prevent mistakes if you go to xhtml.

Cheers,

Tom P

> I know the XSL File and Jscript work because they work perfectly in test
> programs Ive writtent, now I'm trying to bring them together.  Anyone have
> any ideas ?
>
> Thank You
> <?xml version="1.0"  ?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> <xsl:output method="html" />
> <xsl:variable name="hours" select="document('DeptHours.xml')"/>
> <xsl:param name="id"/>
> <xsl:template match="dataroot">
>
>
> <HTML>
> <script language="JavaScript1.2">
> <!--
> var aname='pull';
> var NS4 = (document.layers) ? 1 : 0;
> var IE = (document.all) ? 1 : 0;
> var DOM = (parseInt(navigator.appVersion) >=5) ? 1 : 0;
> var MAC = ((navigator.appVersion.indexOf("PPC") >0) ||
> (navigator.appVersion.indexOf("Mac") >0)) ? 1 : 0;
>
> //global nav
>  function ShowLayer(){return};
>  function OutLayer(){return};
> if (document.layers) {
>   appVer = navigator.appVersion.substring(0,4);
>   if (appVer < 4.06) NS4 = 0;
> }
> if (NS4 || IE || DOM) globalPulldown = 1;
> if (!globalPulldown) event = null;
> //-->
> </script>
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

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
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.