Bug #1578
Updated by Michael Kay almost 12 years ago
The following query (taken from W3C FOTS:fn-function-lookup-314) causes Saxon to throw an IllegalState exception:
<pre>
function-lookup(fn:QName('http://www.w3.org/2005/xpath-functions', 'unordered'), 1)(1)
</pre>
The problem occurs with all "compile-time functions" - those that are normally processed entirely at compile time. Apart from unordered(), other examples include true(), false(), and static-base-uri().
The stack trace of the exception thrown is as follows:
<pre>
java.lang.IllegalStateException: Function unordered should have been resolved at compile-time
at net.sf.saxon.functions.CompileTimeFunction.iterate(CompileTimeFunction.java:42)
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.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)
</pre>