BXH Schemas

A schema for a particular XML format describes what a valid file of that format should look like. The schema specifies rules and restrictions on the organization and content of the XML file (instance), and is constructed in such a way to give software tools enough information to validate a particular instance of the file format. In addition, schemas can provide syntactic information to generic tools to perform tasks like creating/editing a file in that format, or annotating the instance with documentation provided in the schema.

We have written the canonical BXH schema using RELAX NG compact form, which is flexible enough to describe the BXH format (i.e. allows for unordered lists of elements that may occur multiple times), and is grammar-based (as opposed to assertion-based) which enables the use of schema-guided XML editors.