Project

Profile

Help

Bug #5368

closed

In XSLT patterns, (A/(B except C)) is incorrectly rewritten as (A/B except A/C)

Added by Michael Kay about 2 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
XSLT conformance
Sprint/Milestone:
-
Start date:
2022-03-03
Due date:
% Done:

100%

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

Description

The new test case match-273 demonstrates an example where this rewrite is incorrect. The specific pattern is

x/(descendant::a except child::a)

and the problem arises when there is an a element that is a descendant of one x element and a child of another. The original pattern should match such an element, but the rewritten pattern should not.

Also affects SaxonJS

Please register to edit this issue

Also available in: Atom PDF