XSl using XALAN - problem:
Hi,
I am using xalan parser to convert xml
to HTML using xsl.
The code is as follows
XML file:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="results.xsl"?>
<entries gameID="DWO">
<entry>
<player>John</player>
<guess>3</guess>
<guess>9</guess>
<guess>222</guess>
</entry>
<entry>
<player>Mary</player>
<guess>88</guess>
<guess>76</guess>
<guess>5</guess>
</entry>
</entries>
XSL file:
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:lxslt="http://xml.apache.org/xslt"
xmlns:result="http://www.example.com/results"
extension-element-prefixes="result"
version="1.0">
<lxslt:component prefix="result" elements="rules"
functions="getResult">
<lxslt:script lang="javascript">
function getResult (thisGuess) {
var thisResult =
parseInt(Math.random()*100);
if (thisResult == parseInt(thisGuess)) {
return "Correct!";
} else {
return "Wrong! The actual answer was
"+thisResult+
",
not "+thisGuess+".";
}
}
</lxslt:script>
</lxslt:component>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="entry">
Guesser: <xsl:value-of select="player"/>
<xsl:apply-templates select="guess"/>
</xsl:template>
<xsl:template match="guess">
Guess: <xsl:value-of select="."/>
Actual: <xsl:value-of
select="result:getResult(string(.))"/>
</xsl:template>
</xsl:stylesheet>
I have put the following files in the lib
directory of Ant build.
1)xml-apis.jar
2)xercesImpl.jar
3)xalan.jar
4)styler.jar
5)bsf.jar
6)js.jar
and i have included the lib directory in the
classpath.
if i run a code without a javascript function it works
fine,
but with the javascript i get the error
D:\deepak\buildProcess_2\logging>java
org.apache.xalan.xslt.Process -IN
D:\deepak\buildProcess_2\logging\cart.xml -XSL
D:\deepak\buildProcess_2\logging\res
ults.xsl -OUT
D:\deepak\buildProcess_2\logging\xalan.html
java.lang.ClassNotFoundException:
com/ibm/bsf/BSFManager
...
...
...
Caused by: javax.xml.transform.TransformerException:
Could not initialize BSF Manager
at
org.apache.xalan.extensions.ExtensionHandlerGeneral.<init>(Unknown
Source)
...
...
...
file:/D:/deepak/buildProcess_2/logging/results.xsl;
Line #33; Column #-1; XSLT Error
(javax.xml.transform.TransformerException):
java.lang.NullPointerExcep
tion
So something must be wrong with the bsf.jar file.
where should i put the file so that its being
recognised?
the js.jar file is also at the right place.
where am I wromg?
bye,
with regards,
Deepak.
__________________________________
Do you Yahoo!?
Friends. Fun. Try the all-new Yahoo! Messenger.
http://messenger.yahoo.com/