Project

Profile

Help

Bug #1576

closed

IllegalArgumentException when function-lookup() retrieves component access functions

Added by O'Neil Delpratt almost 12 years ago. Updated over 11 years ago.

Status:
Closed
Priority:
Normal
Category:
Internals
Sprint/Milestone:
-
Start date:
2012-07-11
Due date:
% Done:

100%

Estimated time:
Legacy ID:
Applies to branch:
Fix Committed on Branch:
Fixed in Maintenance Release:
Platforms:

Description

The following query (taken from W3C FOTS:fn-function-lookup-184) causes Saxon to throw an IllegalArgument Exception:

function-lookup(fn:QName('http://www.w3.org/2005/xpath-functions', 'months-from-duration'), 1)(xs:yearMonthDuration("P20Y15M"))

The problem applies to all functions of the form X-from-Y that access a component of a date, time, dateTime, or duration.

The stack trace of the exception thrown is as follows:

java.lang.IllegalArgumentException: Unknown component for duration: 0

at net.sf.saxon.value.DurationValue.getComponent(DurationValue.java:598)

at net.sf.saxon.functions.Component.evaluateItem(Component.java:113)

at net.sf.saxon.expr.Expression.iterate(Expression.java:429)

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)
Actions #1

Updated by O'Neil Delpratt almost 12 years ago

  • Status changed from New to Resolved
  • Priority changed from Normal to High
  • % Done changed from 0 to 100

Bug fixed. Fix applied in the Component class by implementing the setDetails method formulates a value for the component variable.

Actions #2

Updated by O'Neil Delpratt almost 12 years ago

Change committed to svn repository.

Actions #3

Updated by Michael Kay almost 12 years ago

  • Subject changed from IllegalArgument Exception found in function-lookup-184 test case to IllegalArgumentException when function-lookup() retrieves component access functions
  • Description updated (diff)
  • Priority changed from High to Normal
Actions #4

Updated by O'Neil Delpratt over 11 years ago

  • Status changed from Resolved to Closed
  • Fixed in version set to 9.4.0.6

Please register to edit this issue

Also available in: Atom PDF