This seems to be a type conversion problem. Can you open a bug in the
Bugzilla database (http://nagoya.apache.org/bugzilla)?
Thanks.
Morris Kwan
XSLT Development
IBM Toronto Lab
Tel: (905)413-3729
Email: [EMAIL PROTECTED]
"Tevoi Andrea"
<[EMAIL PROTECTED]> To: <[EMAIL
PROTECTED]>
cc:
12/04/2002 04:01 Subject: problems with
javascript extension in Xalan J 2.2 and higher
AM
Hi all,
this stylesheet:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version
="1.0"
xmlns:lxslt="http://xml.apache.org/xslt"
xmlns:my-ext="urn:my-ext"
extension-element-prefixes="my-ext">
<lxslt:component prefix="my-ext" functions="doit">
<lxslt:script lang="javascript">
<![CDATA[
function doit (flag)
{
return (flag? "good": "bad");
}
// ]]>
</lxslt:script>
</lxslt:component>
<xsl:template match="/">
<out>
<xsl:value-of select="my-ext:doit (false ())"/>
</out>
</xsl:template>
</xsl:stylesheet>
------------------------------------------------------------------------------
on the following xml
------------------------------------------------------------------------------
<xml/>
------------------------------------------------------------------------------
gives the following results:
- using xalan 2.0.1 it works
- using xalan 2.2 or higher gives the following exception
------------------------------------------------------------------------------
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.xalan.extensions.ExtensionHandlerGeneral.callFunction(ExtensionHandlerGeneral.java:361)
at
org.apache.xalan.extensions.ExtensionsTable.extFunction(ExtensionsTable.java:257)
at
org.apache.xpath.functions.FuncExtFunction.execute(FuncExtFunction.java:181)
at
org.apache.xpath.Expression.executeCharsToContentHandler(Expression.java:301)
at
org.apache.xalan.templates.ElemValueOf.execute(ElemValueOf.java:319)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:710)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2069)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1171)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:634)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
at carlo.xalan.test.Test.main(Test.java:27)
Caused by: com.ibm.bsf.BSFException: JavaScript Error: Invalid JavaScript
value of type org.apache.xpath.objects.XBooleanStatic
at
com.ibm.bsf.engines.javascript.JavaScriptEngine.handleError(JavaScriptEngine.java:182)
at
com.ibm.bsf.engines.javascript.JavaScriptEngine.call(JavaScriptEngine.java:122)
... 18 more
------------------------------------------------------------------------------
I observe that in xalan 2.4 smoketest the only two tests on javascript
scripting
are those two usually reported in the examples, which are far from being
complete,
so it's non surprising that javascript support is regressing!
Appreciated any help.
Thanks,
Andrea.