-
Notifications
You must be signed in to change notification settings - Fork 2
OperationsScheduledRecord multiplicity #15
Description
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 <xsd:element name="AddedOperationScheduleRecord" maxOccurs="unbounded">
Line 186 <xsd:element name="ChangedOperationScheduleRecord" maxOccurs="unbounded">
Line 195 <xsd:element name="DeletedOperationScheduleRecord" maxOccurs="unbounded">
Fixed code
<xsd:element name="AddedOperationScheduleRecord" minOccurs="0" maxOccurs="unbounded">
<xsd:element name="ChangedOperationScheduleRecord" minOccurs="0" maxOccurs="unbounded">
<xsd:element name="DeletedOperationScheduleRecord" minOccurs="0" maxOccurs="unbounded">