Skip to content

OperationsScheduledRecord multiplicity #15

@gerardmoloneyetpartners

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">

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions