Project

Profile

Help

Bug #4769

fn:transform(): source-node and global context item

Added by Michael Kay about 1 year ago. Updated about 1 year ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
XSLT conformance
Sprint/Milestone:
-
Start date:
2020-10-01
Due date:
% Done:

100%

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

Description

See also bug #4768.

I think that Saxon/J, and test case fn-transform-82e, are misinterpreting the spec.

If fn:transform() requests an XSLT 2.0 processor, and if no XSLT 2.0 processor is available, but an XSLT 3.0 processor is available, then the function executes with an XSLT 3.0 processor. This is the situation with Saxon 10, which no longer offers XSLT 2.0 processing as an option.

The question then is whether the "global-context-item" option to fn:transform() should be ignored. The wording in the spec is:

For invocation of an XSLT 2.0 processor (see [XSL Transformations (XSLT) Version 2.0]), the supplied options must include all of the following (if anything else is present, it is ignored):

followed by another section:

For invocation of an XSLT 3.0 processor...

Which of these two sections applies? I think it is the one relevant to the processor version that is actually invoked, not the one that is requested. With this interpretation, the global-context-item option in fn-transform-82e should not be ignored.

History

#1 Updated by Michael Kay about 1 year ago

  • Category set to XSLT conformance
  • Status changed from New to Resolved
  • Priority changed from Low to Normal
  • Applies to branch 10, trunk added
  • Fix Committed on Branch 10, trunk added

I raised a test bug at

https://github.com/w3c/qt3tests/issues/30

and have modified the test case accordingly.

Changed TransformFn (case "global-context-item" on line 682) so it always takes account of the option if present, rather than ignoring it if a 2.0 processor was requested.

#2 Updated by O'Neil Delpratt about 1 year ago

Bug fix applied in the Saxon 10.3 maintenance release

#3 Updated by O'Neil Delpratt about 1 year ago

  • Status changed from Resolved to Closed
  • % Done changed from 0 to 100
  • Fixed in Maintenance Release 10.3 added

Please register to edit this issue

Also available in: Atom PDF