Currently the multiplicity of the following records in OperationsScheduledEvent are;
AddedOperationsScheduleRecord [1 .. ]
ChangedOperationsScheduleRecord [1 .. ]
DeletedOperationsScheduleRecord [1..*]
When using this against the MESA B2MMLv7.0-2019 and earlier, it is OK when compiling messages, because although all of these records are therefore mandatory, they can be included as null.
This is in part, because the B2MML-OperationsSchedule.xsd has no mandatory attributes or elements ( ID is [0..n] )
In the B2MMLv7.0-2020, the B2MML-OperationsSchedule.xsd (line 79) has changed the ID element to be mandatory by omitting a minOccurs=0 statement.
As the ProcessEvents.xsd forces us to include all three records by the [1..*] multiplicity, and the B2MML-OperationsSchedule.xsd demands an ID, this now forces the compilation of a message to include all records with data.
PROPOSED FIX
Update the ProcessEvents.xsd to make the following records [0..*] multiplicity, removing the mandatory requirement for the records.
Currently the multiplicity of the following records in OperationsScheduledEvent are; AddedOperationsScheduleRecord [1 .. ] ChangedOperationsScheduleRecord [1 .. ] DeletedOperationsScheduleRecord [1..*]
When using this against the MESA B2MMLv7.0-2019 and earlier, it is OK when compiling messages, because although all of these records are therefore mandatory, they can be included as null. This is in part, because the B2MML-OperationsSchedule.xsd has no mandatory attributes or elements ( ID is [0..n] )
In the B2MMLv7.0-2020, the B2MML-OperationsSchedule.xsd (line 79) has changed the ID element to be mandatory by omitting a minOccurs=0 statement.
As the ProcessEvents.xsd forces us to include all three records by the [1..*] multiplicity, and the B2MML-OperationsSchedule.xsd demands an ID, this now forces the compilation of a message to include all records with data.
PROPOSED FIX Update the ProcessEvents.xsd to make the following records [0..*] multiplicity, removing the mandatory requirement for the records.
Current code Line 177
Line 186
Line 195
Fixed code