The ITS-XML 2.0.0 brings a number of XML Schema additions, corrections, improvements, a new structure that covers several openEHR component releases, as well as a few breaking changes compared to ITS-XML Release 1.0.2. The list of changes includes:
SPECITS-55: Sync BASE XML schema with Release 1.2.0
SPECITS-54: Fix wrong optional flag for ACTIVITY.action_archetype_id in XML schema
SPECITS-53: Fix wrong type on DV_QUANTITY.magnitude in XML schema
SPECITS-23: DV_ENCAPSULATED.size attribute is missing
SPECITS-22: Enforce an ELEMENT to require choice of value or null_flavour
SPECITS-21: Specify constraints of DV_QUANTIFIED.magnitude_status
There is a zip of the schemas in github, but it’s not easily linked from the specs website, should that zip be available there? Seems more useful to having to download each individual file
The new schemas introduced some backwards incompatible changes, therefore it was needed to increase the version number to 2 (both xml namespace as well as spec release). Content wise these schemas may look 99% aligned and compatible with v1 schemas.
As this is a “new” spec (although quite close to v1 spec), not used yet in production or implementation, it is formally considered to be in TRIAL according to https://www.openehr.org/programs/specification/changeprocess. Further no difference comparing to a STABLE spec. We are of course looking forward for feedback and reports of usage of this v2 in practice, and when that happens we will change the status accordingly.
Java code generated from XSDs will have the same problem: it will only accept one of the two formats, requiring lots of manual work to fix, or the same preprocessing solution as above.
Have other vendors checked how easy or hard it is to support a new namespace for the new version? Do people still thin it’s worth it to change the namespace with rather minor changes? Or did I miss a major breaking change?
Should we add a version=“2.0” attribute to the XML instead?