3.6.3 Resolving Version Conflicts across Releases
Consider the following versions for the ClaimImport.xsd in distinct releases of an application:
Release |
XSD Version |
---|---|
2.12.1.0.0 |
1.0 |
2.12.2.0.0 |
1.1 |
That means that the ClaimImport.xsd was changed (backward compatible or minor change) from release 2.12.1.0.0 to 2.12.2.0.0. If another minor change is required on both these versions that could (in theory) result in the following situation:
Release |
XSD Version |
---|---|
2.12.1.0.1 |
1.1 |
2.12.2.0.1 |
1.2 |
To reflect the change in the ClaimImport.xsd in both versions of the application the minor version indicator in either release would be incremented. The result is that the ClaimImport.xsd in releases 2.12.2.0.0 and 2.12.1.0.1 has the same version number; that would wrongfully indicate that the XSDs in these versions are similar.
This (rare) versioning conflict is resolved by introducing a third indicator, referred to as revision in notation "major.minor.revision". Thus, the result would be:
Release |
XSD Version |
---|---|
2.12.1.0.1 |
1.0.1 |
2.12.2.0.1 |
1.2 |