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.

Reply via email to