@ClemensVasters: Right, but my point is you have to have a strategy that deals with change.
The best way to think about it is that the schema is a DSL which can be used to automate code functions like validation, serialization, GUI display, reports etc.. That DSL needs to be able to cope with minor and major changes, and expressive enough to deal with complex conditional optional structures.
This approach shouldn't be applied everywhere (if the size of the dataset is trivial). And, if the DSL isn't rich enough or the approach has failed before the solution is to fix the DSL rather than just resort to a non-machine readable schema document. If you go typeless you've removed the ability to automate a large part of your system.