Project

Profile

Help

Support #5965

closed

string-join implementation always uses XPath 3.1 implementation

Added by Johan Walters about 1 year ago. Updated 10 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
XPath conformance
Sprint/Milestone:
-
Start date:
2016-05-09
Due date:
% Done:

0%

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

Description

Related to issue [[https://saxonica.plan.io/issues/2738]], it seems the situation hasn't effectively changed. Since that issue is closed a while now, I raise a new issue.

Essentially the implementation for string-join() should reject any non-string item arguments with a XPTY0004 when XPathCompiler has set the language version to 2.0. Currently I'm using Saxon 9.9 (upgrading to 12.1 soon). Looking at XPath20FunctionSet, it uses the same StringJoin.class as the XPath31FunctionSet. Was the 2.0-specific implementation dropped again in 9.9?

Kind regards,

Johan Walters


Related issues

Copied from Saxon - Support #2738: string-join implementation always uses XPath 3.1 implementationClosedMichael Kay2016-05-09

Actions
Actions #1

Updated by Johan Walters about 1 year ago

  • Copied from Support #2738: string-join implementation always uses XPath 3.1 implementation added
Actions #2

Updated by Michael Kay about 1 year ago

We made a conscious decision to drop the requirement for 100% XPath 2.0 conformance in cases where the only difference would be to raise an error for run-time conditions that XPath 3.1 allows but XPath 2.0 does not. This is documented at

https://www.saxonica.com/documentation12/index.html#!conformance/xpath20

The example of string-join() accepting non-string arguments is given as a specific example.

We felt that the only adverse impact would be on people (like yourself) running conformance tests. Sorry for the inconvenience.

Actions #3

Updated by Johan Walters about 1 year ago

That is a fair decision. And the inconvenience is indeed limited to a failing conformance test. I got confused by the comments on the other ticket, where there was mention of a patch on 9.7 to have a 2nd string-join implementation, and where the 9.8 function sets were also presented as a 'solution'. Therefore I thought an exception was made for string-join. But as said, the current situation is fine.

Actions #4

Updated by Michael Kay 10 months ago

  • Status changed from New to Closed

Please register to edit this issue

Also available in: Atom PDF