Subject: Revised draft prototype code list schema
Ken, Tony, et al,
Attached is a slightly revised code list schema document structure. This schema can be extended by subtitution groups or your method of Schematron validation, contains the codes and supplementary components and, in addition, is consistent with the recently published OAGIS 9 schemas. This is not a perfect design, but, may be a perfect compromise of approach.
The two defined types CurrencyCodeType and CurrencyCodeContentType can be used in schemas the way they have been traditionally in UBL -- by declaring elements or attributes derived from the types. Global attributes are provided with the version metadata for supplementary components.
Restrictions and extensions can be made outside of the UBL schemas. The approach allows substitution groups and redefine without using them directly in the schemas.
If you (Ken and Tony) can generate all your schematron from these standard schemas, then the generating scripts can be an informative annex to UBL to be used by designers. I think this is a good approach.
The UBL-CodeList-1.0.xsd is a template for the code list schemas themselves but does not need to be referenced in the actual code lists themselves. Right now, each code list schema would be primitive only importing the UBL-CoreComponentParameters-1.0.xsd to define the metadata that is part of the annotations.
What are your thoughts?