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.
