This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Including javascript functions in XSL Stylesheet
- To: "'xsl-list at mulberrytech dot com'" <xsl-list at mulberrytech dot com>
- Subject: RE: Including javascript functions in XSL Stylesheet
- From: Mike Brown <mbrown at corp dot webb dot net>
- Date: Thu, 24 Feb 2000 15:11:16 -0700
- Reply-To: xsl-list at mulberrytech dot com
> "Attribute value should begin with a quote".
XML markup characters in your JavaScript are not properly escaped. Your XSL
document is still XML and must be well-formed. There are various ways of
going about it, but they all have drawbacks. An external file is the best
place to put that stuff because it's hard to make JavaScript be well-formed.
This method relies on the XSL processor supporting
disable-output-escaping...
<xsl:text disable-output-escaping="yes"><![CDATA[
<!-- Java Script function
function getIndex(thisForm, buttonLabel) {
arrElmnts = thisForm.elements
for(i = 0; i < arrElmnts.length; i++) {
if( arrElmnts[i].value == buttonLabel ) {
return i
}
}
return -1
}
]]></xsl:text>
This method creates a comment node, but will fail if the JavaScript contains
"--" (which is not allowed in a comment)...
<xsl:comment><![CDATA[
<!-- Java Script function
function getIndex(thisForm, buttonLabel) {
arrElmnts = thisForm.elements
for(i = 0; i < arrElmnts.length; i++) {
if( arrElmnts[i].value == buttonLabel ) {
return i
}
}
return -1
}
]]></xsl:comment>
This method has the same restriction (and please pardon my mailer wrapping
the long line)...
<xsl:comment>Java Script function
function getIndex(thisForm,
buttonLabel) {

	arrElmnts = thisForm.elements
	for(i =
0; i < arrElmnts.length; i++) {

		if( arrElmnts[i].value
== buttonLabel ) {

			return
i
		}

	}

	return
-1
}</xsl:comment>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list