idea on type list

In order to work towards some consistency in types*, I have an idea:
pull out the current type list in the CSL schema into a separate –
standalone – schema. The result would be a file something like:

types = types-required | types-optional

types-required = “article” | “book” | “chapter”

types-optional = “article-journal”
> “legal case”

It has the downside of making the main CSL schema no longer
self-contained, but the advantage that a) it might be easier to update
it, and b) I can easily generate an XSD schema that can then be used in
other contexts (not sure this would be valuable, but it might).