Versioning of messages
Versioning of messages
Major versions
Versioning of XML instance documents is implemented through the last part of the namespace with prefix rsm in the root element. This will contain the major version of the message.
Any changes to messages that breaks backward compatibility requires a new major version, ie. a new namespace.
A major version of an Elhub message constitutes significant non-backward compatible changes.
If any XML instance document based on an older major version of an Elhub message attempts validation against a newer version, it may experience validation errors.
A new major version will be produced whenever non-backward changes occur. This will include the following changes:
- Changing of element names, type names and attribute names
- Changes to the message structure or sequence
- Deleting or adding mandatory elements or attributes
- Changing cardinality from optional to mandatory
Minor versions
Minor versions represent changes to Elhub messages within a major version which do not break backward compatibility, ie.:
- Adding, removing or changing values in enumerations
- Add optional elements
- Optional extensions
Minor versions will be declared using the xsd:version attribute of the XML schema definition (XSD) file.
schemaLocation
Attribute in the root element to reference the XML schema the XML instance document is based on. The attibute is constructed of two elements separated by a space: Namespace and filename. Example: xmlns:xsi =" http://www.w3.org/2001/XMLSchema-instance " xsi:schemaLocation ="urn:no:elhub:emif:market:RequestStartOfSupply:v1 RequestStartOfSupply.xsd">