[Bug 22061] [XSLT 3.0] Omissions in the schema for XSLT 3.0


--- Comment #3 from Michael Kay <mike@saxonica.com> ---
Some problems which I have fixed as a result of running test case catalog-005
which validates the XSLT documents in the test suite:

* xsl:sort/@stable permits an AVT

* an attribute of type EQName permits leading and trailing whitespace. I've
fixed this by deriving the relevant member type of EQName from xs:token rather
than xs:string, though the XPath grammar appears to allow the namespace name to
contain embedded spaces.

* the regex for EQName needs to be \i\c* rather than \i\c+ to allow
single-character names.

* added support for mode="#unnamed" in xsl:template and xsl:apply-templates

* XSLT 3.0 no longer requires xsl:import declarations to precede other

* added the serialisation parameter html-version

* xsl:evaluate/@schema-aware should be an AVT

* On various tests e.g. use-when-0108 I get an error saying attributes in a
foreign namespace are not allowed on xsl:variable. I think this might be a bug
in the schema but I haven't yet pinned it down.

* I have added some notes to the commentary explaining the limitations of the
schema, e.g. in handling use-when attributes, forwards compatibility mode,
literal result elements, etc.

The exercise did pick up some interesting errors:

* in test validation-0201, the stylesheet (for no good reason) has an invalid
xsi:schemaLocation attribute, which is against the XSD rules but not the XSLT

* in import-schema-064, the stylesheet deliberately contains an invalid
xsi:type attribute, which XSLT allows but XSD does not. Some other tests (e.g.
namespace-2601) fail validation because they use an AVT in an xsi:type

* namespace-2616, 3003, 3004 attempt to generate XSD declarations using literal
result elements, which are of course invalid against the

* the validation process fails to handle embedded stylesheets such as
or simplified stylesheets such as math-3318.xsl. For these we need to do lax
validation, which would cause a lot of errors to slip through the net.

* tests iterate-016, -017, -018, -030 have an xsl:fallback instruction after
xsl:on-completion. We should probably allow this, but we don't, and the schema
picks it up. I have changed the tests to match the schema.

* similarly, xslt-compat-006 uses xxl:fallback before xsl:matching-substring,
which the spec does not allow.

You are receiving this mail because:
You are the QA Contact for the bug.

Received on Friday, 29 November 2013 11:37:47 UTC