Compatible and incompatible changes to spec schemas
Compatible changes to a spec are any kind of modification to the spec schema that do not cause validation failure when the schema is applied to an existing XML document on the system. Incompatible changes to a spec are any kind of modification to the spec schema that may cause validation failure when the schema is applied to an existing XML document on the system.
Examples of compatible changes include:
- adding an optional data element
- raising the maximum allowable value
- adding an enumeration value to a restricted type
- defining a new simple or complex data type
- identifying an attribute as searchable
Examples of incompatible changes (for example, raising the minimum
allowable value for an XML element from 0 to 1, a change that may
cause an XML document that was already created to contain a value
of 0 to become invalid) include:
- adding a mandatory data element
- lowering the maximum allowable value
- removing an enumeration value from a restricted type
- changing the data type of an element