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
docthat this crate does not enforce.