This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
In test match-144 there are two template rules that match the same node: <xslt:template match="element(*, pre:partNumberType)"> and <xslt:template match="element(*, pre:partIntegerUnion)"> This is because partIntegerUnion is a union type with partNumberType as one of its members. The test results are assuming that pre:partNumberType will match. But in fact the match is ambiguous, so the later rule in document order should be taken. This test demonstrates an incompatiblity between 3.0 and 2.0, caused by changes to the handling of unions in the XPath 3.0 type rules. I propose to resolve it by adding priorities to the rules.
Also affects tests match-145, match-164, and match-169. Possibly also, subject to confirmation, match-211.
The situation with match-211 is (as suspected) different. I think the expected results are correct; Saxon was getting them wrong because of a bug (failing to recognize a Union type V as being derived-from U when V is derived from U by restriction.)
I believe these tests have been fixed in cases where a fix was needed.
Was resolved > 30 days ago, closing.