Bug #1577
Updated by Michael Kay almost 12 years ago
The following query (taken from W3C FOTS:fn-function-lookup-614) causes Saxon to throw an NullPointer exception:
<pre>
let $f := function-lookup(QName("http://exslt.org/dates-and-times", "month-abbreviation"), 1)
return if (exists($f)) then $f("2012-02-28") else "not-available"
</pre>
The problem will occur when looking up any function implemented as a Java external/extension function.
The stack trace of the exception thrown is as follows:
java.lang.NullPointerException
at com.saxonica.expr.JavaExtensionFunctionCall.setupParams(JavaExtensionFunctionCall.java:532)
at com.saxonica.expr.JavaExtensionFunctionCall.call(JavaExtensionFunctionCall.java:390)
at com.saxonica.expr.JavaExtensionFunctionCall.iterate(JavaExtensionFunctionCall.java:278)
at com.saxonica.functions.hof.FirstClassFunction.invoke(FirstClassFunction.java:104)
at com.saxonica.functions.hof.DynamicFunctionCallDefinition$DynamicFunctionCall.call(DynamicFunctionCallDefinition.java:158)
at net.sf.saxon.functions.IntegratedFunctionCall.iterate(IntegratedFunctionCall.java:235)
at net.sf.saxon.expr.instruct.Choose.iterate(Choose.java:863)
at net.sf.saxon.expr.LetExpression.iterate(LetExpression.java:338)
at net.sf.saxon.query.XQueryExpression.iterator(XQueryExpression.java:341)
at net.sf.saxon.s9api.XQueryEvaluator.evaluate(XQueryEvaluator.java:378)
at com.saxonica.testdriver.FOTestSuiteDriver.runTestCase(FOTestSuiteDriver.java:1142)