The review of the GS1 XML design has been done based on feedback from user community who experienced difficulties in implementation of MR2 and requested significant changes.
Reasons for change
The design of the previous Major Release 2 was very flexible, but at the same time difficult to implement and understand. Over the years user requirements changed demanding more simplicity in place of flexibility that turned out to be unnecessary. The main reasons for changing the previous GS1 XML design were:
- Reduce overhead when used in GS1 EDI messaging: Transaction and Batching were not used in GS1 EDI exchange
- Improve tool support (parsers, validators and mapping tools)
- Make the design easier to understand and implement:
- Provide single ‘root’ schema for validation
- Clearly define what types of documents are allowed in one message
- Simplify maintenance of code lists and thus accelerate implementation
Main changes in the GS1 XML design
FUNCTIONALITY |
MR3 |
MR2 |
---|---|---|
SBDH | Mandatory | Optional |
Transaction | Not used | Used, optional |
Commands | Not used, command instructions moved to Document component | Used, optional |
Root schema | One | Many – no clear ‘root’ |
Document types allowed in one message | One document type | Various document types |
Number of documents allowed in one message | Up to 10.000 | Any |
Proxy schemas | Not used | Used, optional |
Namespaces | Different for every schema file | One for multiple schema files |
Context categories | Not used | Used in namespaces |
Actions | Enumerated in the Document component, value CORRECT removed from GS1 EDI list | Enumerated in the Command layer |
Code list values | Most (those that are likely to evolve) stored outside of the schema | Enumerated in the schema |
Common library | Three library schemas: shared and domain common (separate ones for GS1 EDI and GDSN) | Library of multiple schemas separately defining common components |
Use of elements vs. attributes | Attributes used only for data types, elements for everything else | No specific rules, except for use of attributes for metadata |