Some errors in FIXML 4.4 Schema

Imported from previous forum

We found some potential errors in *.xsd files for FIXML 4.4.
I will post them in this thread.
Maybe fixes of these problems can be included in new release of FIXML schemas which was planned for 2009.

It looks like there is an error in fixml-crossorders-base-4-4.xsd.

Element with type SideCrossOrdModGrp_Block_t is used in groups NewOrderCrossElements and CrossOrderCancelReplaceRequestElements which correspond to New Order - Cross and Cross Order Cancel / Replace Request messages.

Complex type SideCrossOrdModGrp_Block_t contains attribute group SideCrossOrdModGrpAttributes.

This attribute group does not contain attributes for tags OrigClOrdID(41) and OrigOrdModTime(586), so these tags cannot be set in Cross Order Cancel / Replace Request message.

It looks like there is an error in fixml-confirmation-base-4-4.xsd.

Complex type Confirmation_message_t contains element group ConfirmationElements.

Among other elements this group contains elements with types UndInstrmtGrp_Block_t and InstrmtLegGrp_Block_t. These elements correspond to repeating groups with <UnderlyingInstrumen> and <InstrumentLeg> blocks.

It looks like minOccurs=“0” should be added to definitions of these elements because UnderlyingInstrument and InstrumentLeg are not used in all messages.

Maybe this error is caused by similar error in fix-44_VOL-5_w_Errata_20030618.doc (NoUnderlyings(711) and NoLegs(555) are marked as required in Confirmation message).

It looks like there is an error in fixml-positions-base-4-4.xsd.

Complex type PositionMaintenanceReport_message_t contains group of attributes PositionMaintenanceReportAttributes.

Attribute OrigReqRefID is marked as required:
<xs:attribute name=“OrigReqRefID” type=“OrigPosReqRefID_t” use=“required”/>

However, it looks like it should be optional because OrigReqRefID is used when Position Maintenance Report message is used to cancel or replace another report.
I.e. this tag is not used when new report is submitted.

Maybe this error is caused by similar error in fix-44_VOL-5_w_Errata_20030618.doc (OrigPosReqRefID(713) is marked as required in Position Maintenance Report message).

It looks like there is an error in fixml-registration-base-4-4.xsd.

Complex type RegistrationInstructions_message_t contains group of attributes RegistrationInstructionsAttributes.

Attribute RefID is marked as required:
<xs:attribute name=“RefID” type=“RegistRefID_t” use=“required”/>

However, it looks like it should be optional because RefID is required only for Cancel and Replace RegistTransType messages.
I.e. this tag is not required for New RegistTransType message.

Maybe this error is caused by similar error in fix-44_VOL-5_w_Errata_20030618.doc (RegistRefID(508) is marked as required in Registration Instructions message).

The same problem exists for attribute RefID from group of attributes RegistrationInstructionsResponseAttributes which is used in complex type RegistrationInstructionsResponse_message_t.