You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xalan.apache.org by Tevoi Andrea <te...@cad.it> on 2002/12/04 10:01:46 UTC
problems with javascript extension in Xalan J 2.2 and higher
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.