Are different versions of the GJXDM compatible?

The following sequence describes compatibility within the GJXDM 3.0 release series: 3.0(.0) instances validate with 3.0.2, 3.0.3, ..., 3.0.n schemas 3.0.2 instances validate with 3.0.3, 3.0.4, ..., 3.0.n schemas 3.0.3 instances validate with 3.0.4, 3.0.5, ..., 3.0.n schemas ... (Note: 3.0.1 was removed from service.) We say that within the 3.0 series, forward compatibility is maintained.

However, when 3.1.0 (a new series) is released, 3.0.n instances are NOT guaranteed to validate against 3.1.m schemas. However, 3.1.0 instances will validate with 3.1.1, 3.1.2, ..., 3.1.n schemas, etc. (if/when they are released). In other words, forward compatibility within the 3.1 series will be maintained.

Caveats:

  1. If you want a 3.0.0 instance to validate against the 3.0.2 GJXDM schema, then you must change the namespace reference in the instance to 3.0.2 (and in your schema, as well if you are using one between the instance and the GJXDM schema).
  2. Depending on which GJXDM components you are using, you may find that a 3.0.0 instance validates against the 3.1.0 GJXDM schema (when available). DO NOT assume that every 3.0.0 instance will validate. NO guarantees of validation will exist between 3.0 and 3.1.