Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


#824 Facet consistency in derived types

Michael Kay
Michael Kay

Some rules in Schema Part 2 constrain the coexistence of facets only if they were introduced "in the same derivation step". An example is in

It is an ·error· for both ·maxInclusive· and ·maxExclusive· to be specified in the same derivation step of a datatype definition.

Saxon's test for the condition "specified in the same derivation step" is sometimes giving the wrong answer (true instead of false) leading to spurious inconsistencies between facets being reported.

(A curiosity here is that the corresponding rule in reads "It is an ·error· for both ·minInclusive· and ·minExclusive· to be specified for the same datatype." - that is, it is an error whether or not the facets were introduced in the same derivation step. Schema Part 1.1 has corrected this so the wording is the same as in Saxon is attempting to apply this corrected version of the rule, but is getting it wrong.)

The source code on the 9.0 branch has been fixed and will be included in any future maintenance release. The code on the 9.1 branch had already been corrected.


  • Michael Kay
    Michael Kay

    Logged In: YES
    Originator: YES

    Fixed in