In producing schemas for data, one is attempting to indicate the meta structure of data in a machine readable way.

In order to ensure this process works, one needs a good toolchain that works from end to end with few compatibility issues.

Any tool that is written as part of this has to, in turn, follow the grammar as prescribed in the predefined rules and produce good logging and messages.