Skip to main content

Module support

Module support 

Source
Expand description

What this crate does not enforce in a given schema.

This crate implements a subset of XSD 1.0 and, by design, skips a construct it does not understand rather than rejecting the schema: the surrounding rules still apply, so a schema using xs:all validates everything else correctly instead of failing wholesale.

That is the right behaviour for a user and the wrong behaviour for a measurement. A schema whose constraints were all skipped accepts every document, so a conformance test expecting “valid” agrees with it — and counting that as a pass reports enforcement that never happened. Across a suite of forty thousand tests, that is the difference between a number and a flattering number.

So this module answers the question the validator cannot: given this schema, what stops being checked? It is deliberately independent of the parser rather than instrumented into it, for two reasons. It cannot fall out of step with a degradation site it does not know about, because it works from a whitelist of what is enforced and reports everything else. And every uncertainty resolves toward “not enforced”, which can only ever lower a reported pass rate.

Structs§

Unsupported
A construct present in the schema that this crate does not enforce.

Functions§

unsupported
Every construct in doc that this crate does not enforce.