Make dumbing down "smarter" and keep external vocabulary info
twagoo opened this issue · 0 comments
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.