One way out of this is to build OASIS CAM templates from the CAPS schema - and use the CAM templates as the reference for the particular profile. You can add rules to state what your local requirements are and provide cross-field validations - e.g. if X='value1' then Y is required, and so on.
XSD schema = all possible permutations
CAM template = specific profile of the schema for application use.
Thanks, DW