Improvements in XSD Standards Compliance in MSXML 6.0

 

There have been a number of improvements in the functionality of XSD schemas for MSXML 6.0.

Compliance

XSD schemas are more compliant to the W3C standard in MSXML 6.0. The following issues have been addressed so that XSD is more compliant:

  • The following are more compliant:

    • Type derivation

    • Identity constraints

    • Substitution groups

    • Simple type validation

    • Wild cards

  • Per the W3C XSD Schema errata, the rules for parsing base64Binary, xs:language, and xs:gMonth have changed.

  • Comparison of xs:date and xs:time values now include the time zone.

  • Content validation for xs:anyType is now lax per the W3C Schema specification. It was strict in 5.0.

Chameleon Include Support

MSXML 6.0 provides chameleon include support. Chameleon include means that, if the main schema has a target namespace but included schemas do not, the included schemas are in the target namespace of the parent schema.

In previous versions of MSXML, the included schemas were not in any namespace. In MSXML 6.0, the included schemas are in the target namespace of the including schema.

Correct Validation of Unique Particle Attribution

Unique particle attribution is a constraint that specifies that nondeterministic schemas are invalid. Facets can sometimes be declared in such a way that it becomes impossible to design an algorithm to determine whether data is valid per the facet, and therefore would violate the unique particle attribution constraint. For more information about unique particle attribution constraints, see the W3C XSD specification. The unique particle attribution checks in MSXML 6.0 are more correct. This may cause errors to be reported for schemas in MSXML 6.0 where they were not reported for MSXML 5.0. Such errors are appropriate, because schemas that violate the unique particle attribution constraint are invalid.