Downgrading a component gets rid of all CMDI 1.2 features, which also means some harmless but potentially useful information gets lost, most importantly the external vocabularies. This means that "dumbed down" 1.2 specs and their schema are dumber than necessary.
A relatively easy way to improve this is to transfer the external vocabulary attributes (@URI, @ValueProperty and @ValueLanguage of ValueScheme/Vocabulary) to the downgraded spec (possibly in a separate namespace) and re-instantiate them when upgrading. Optionally this can be done only in a special mode of the downgrade operation (which is only called by the Component Registry when dumbing down) so as not to 'pollute' the CMDI 1.1 versions of specifications.
Similarly, the header items Status, StatusComment, Successor and DerivedFrom could be kept as well as the value of the Autovalue element.
Downgrading a component gets rid of all CMDI 1.2 features, which also means some harmless but potentially useful information gets lost, most importantly the external vocabularies. This means that "dumbed down" 1.2 specs and their schema are dumber than necessary.
A relatively easy way to improve this is to transfer the external vocabulary attributes (
@URI
,@ValueProperty
and@ValueLanguage
ofValueScheme/Vocabulary
) to the downgraded spec (possibly in a separate namespace) and re-instantiate them when upgrading. Optionally this can be done only in a special mode of the downgrade operation (which is only called by the Component Registry when dumbing down) so as not to 'pollute' the CMDI 1.1 versions of specifications.Similarly, the header items
Status
,StatusComment
,Successor
andDerivedFrom
could be kept as well as the value of theAutovalue
element.