What are schema files in Drupal?
With schema files, you can describe the contents of a configuration file. You can determine which configuration keys are allowed in a specific configuration object and which data type configuration data needs to have. Drupal 8's schema files are inspired by Kwalify.
Note
Kwalify (http://www.kuwata-lab.com/kwalify/) is a parser and schema validator for YAML and JSON. It adds a schema to YAML and JSON as, for example DTD does for XML.
The format used by Kwalify was slightly modified to fit the needs of the structure needed in Drupal 8 but, generally, it is largely identical.
Schema files were not introduced for validation purposes only. The primary use case for schema files was to support multilingual configuration in Drupal 8. It was necessary to create a tool to identify all translatable strings within the configuration files, so the entire configuration, views, menu items, and user roles that you may define in a custom module or theme could be offered as translation...