yes, that's what i'm saying - switching to 2.7 Xalan (and the updated
BSF and Rhino) caused the problem.
it'll take me a little bit to setup the test again to generate a stack
trace. I think it was when
trying to use TransformerFactory.newInstance() but I don't recall the
rest right now.
Kevin Cormier wrote:
Hi Rick,
Just to clarify, are you saying that the exact same stylesheets and
extension functions that worked with Xalan 2.6.0 do not work with 2.7.0?
Can you provide the stack trace of the exception that you're seeing?
Kevin Cormier
Software Developer, XSLT Development
IBM Toronto Lab, D1-435
E-mail: [EMAIL PROTECTED]
Rick Gordon
<[EMAIL PROTECTED]
.com> To
04/27/2007 04:09 cc
PM xalan-j-users@xml.apache.org
Subject
Re: Xalan extension functions
It certainly seems like a classpath problem in my case as well, but BSF
is available, and seems to be installed
correctly. Yet I haven't been able to figure out where its trying to
load it from and why. Paths are further
complicated by running under Tomcat I know.
Normally we put Xalan-J.jar, bsf.jar, js.jar into
tomcat5/common/endorsed/ and it pulls them from the correct place.
Doing so with Xalan 2.7 it does not seem to find them there. I've also
made sure that valid versions were installed
in the /usr/share/java (their default location) and in
/etc/alternatives/jre/lib/endorsed, to no avail.
I cannot provide a full example obviously, but here's a rough breakdown
of how we invoke things, if that helps.
In our case we need to work both in an MSXSL environment as well as a
Xalan-J environment, which makes it a little
more complicated - at least at the xslt level.
A stylesheet that wants to use the extension functions does this (I've
pulled things from a couple of places here, hopefully its coherent.)
<!DOCTYPE xsl:stylesheet [<!ENTITY js_include SYSTEM
"calendar_functions.js">]>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:calendar="urn:calendarlib"
xmlns:igxlib="urn:igxlibns"
extension-element-prefixes="calendar igxlib msxsl xalan"
exclude-result-prefixes="calendar igxlib msxsl xalan"
version="1.0">
<xsl:include href="include-scripts.xsl"/>
and then has its use of the extension functions, using syntax like this:
<xsl:value-of select="calendar:getTodaysYear()" />
The xsl pulling in the scripts, "include-scripts.xsl" then looks
something like this:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE xsl:stylesheet [<!ENTITY js_include SYSTEM
"extension_functions.js">]>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:calendar="urn:calendarlib"
xmlns:igxlib="urn:igxlibns"
extension-element-prefixes="igxlib"
version="1.0">
<msxsl:script language="JavaScript" implements-prefix="igxlib">
&js_include;
</msxsl:script>
<xalan:component prefix="igxlib" elements=""
functions="IsNewMonth GenerateMonth GenerateDay GenerateYear
formatBaseURL RandomIndex RandomSequence
IndexedItemFromList toLower UTCtoLocalTime
fitSizeWidth replaceStr matchCatMultiMulti" >
<xalan:script lang="javascript">
&js_include;
</xalan:script>
</xalan:component>
</xsl:stylesheet>
Wade, John F. (MSFC-NAS902099)[TBE] wrote:
Classpath has been my thought, too. I'm a real beginner at this, and
the environment I'm working with has two variants, so I'm not sure how
to determine what the classpath is in each case.
But, we'll start with the stylesheet and JAVA code on Monday and go
from there.
Thanks.
JFW
------------------------------------------------------------------------
*From:* Kevin Cormier [mailto:[EMAIL PROTECTED]
*Sent:* Fri 4/27/2007 3:11 PM
*To:* Wade, John F. (MSFC-NAS902099)[TBE]
*Cc:* xalan-j-users@xml.apache.org
*Subject:* Re: Xalan extension functions
Hi John,
All I can think of with the information you've given is to check that
your
class is on the classpath.
Could you send your stylesheet and Java class, and also show how you
invoked the transformation and what the full error message was?