Dare Obasanjo quotes Tim Ewald’s comment

I’ve started thinking about my schema not as the definition of what this system needs right now but as the definition of what the data should look like if it’s present instead.

Glad to see this, because it gets us to the start of where Schematron is useful: if the XSD schema just expresses only the most invariant of the invariants of the schema, then what do we use to express the constraints appropriate in t particular phases of a document’t life or history or evolution? The “contract” is just one kind of phase.

There was some debate (Roger Costello was a champion) of default openness in XSD. But I have seen increasing use of the idea that the master/base schema has to be as loose as possible: indeed, derivation by restriction is fragile and impractical without it, because if you need a derived schema to have something optional you need to go back to the master to make it optional. A friend reports that he has taken to calling super-loose base schemas “vocabularies” and “ontologies” to avoid confusing people who expect a schema to be really prescriptive.