This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
A number of regex-syntax tests use new F&O 3.0 regex syntax features. When running of an XSLT 2.0 processor these tests generate an error (as is expected by the test case). When a stylesheet is marked as XSLT 2.0, but the processor is XSLT 3.0, I presume the syntax accepted should be F&O 3.0, and thus the test cases need to be forked. Possibly affected tests are: regex-syntax-0766 regex-syntax-0845 regex-syntax-0846 regex-syntax-0847 regex-syntax-0848 regex-syntax-0849 regex-syntax-0850 regex-syntax-0851 regex-syntax-0852 regex-syntax-0853 regex-syntax-0855 regex-syntax-0856 regex-syntax-0857 regex-syntax-0858 regex-syntax-0859 regex-syntax-0860 regex-syntax-0861 regex-syntax-0864 regex-syntax-0865 regex-syntax-0866 regex-syntax-0877 regex-syntax-0878 regex-syntax-0880 regex-syntax-0883 regex-syntax-0942 regex-syntax-0943 regex-syntax-0944 regex-syntax-0945 regex-syntax-0946 regex-syntax-0947 regex-syntax-0948 regex-syntax-0949 regex-syntax-0950 regex-syntax-0951 regex-syntax-0952 regex-syntax-0953 regex-syntax-0954 regex-syntax-0955
A note mainly for myself: Saxon is passing these tests "by accident", because a stylesheet defined as part of a shared test environment is always compiled/executed in 2.0 mode, regardless of the individual test dependencies.
On Oct 10, 2013, Michael Kay fixed these tests to support XSLT 3.0, but with dropping XT3 test coverage support for XSLT 2.0. Today I committed a forked version for XSLT 2.0 of these tests, which are in their own folder and test category. It is based on a version of this file from before the move and fixes required for XSLT 3.0. Considered fixed.
Since this change, our processor reports errors (FORX0002) in regex-syntax-xslt20-0056 regex-syntax-xslt20-0086 regex-syntax-xslt20-0102 regex-syntax-xslt20-0985 e.g. in the pattern "^([^a-d-b-c])$" the second '-' between 'd' and 'b' is invalid.
The rules for hyphens in constructs like "^([^a-d-b-c])$" in XSD 1.0 are pretty unfathomable. They have been considerably cleaned up in XSD 1.1. So I think this is an XSD 1.0/1.1 distinction rather than an XSLT 2.0/3.0 one.
As far as I know, these tests were present in the XSLT 2.0 version of the test suite and have not been altered. That is not to say that there isn't a bug in them, but I am unsure as what or how to fix them. Should we mark the mentioned tests as XSD 1.1? Any other way forward?
I have fixed the tests provisionally with a dependency on XSD 1.1 (satisfies: false), assuming that if XSD 1.0 is used for regex syntax, this syntax is valid, but if XSD 1.1 is used, it is not. Please reopen if this doesn't resolve the issue.