FIXTradingCommunity / fix-orchestra

Machine readable rules of engagement
Apache License 2.0
71 stars 34 forks source link

[repository schema] Allow names in correlation and assignment references #187

Open kleihan opened 1 year ago

kleihan commented 1 year ago

Issue #136 supports optional names in element references. This should also be supported for correlation and assignment references used in message responses. The following example adds names to all references

<fixr:response name="orderAck">
    <fixr:messageRef  id="9" name="ExecutionReport" msgType="8" implMaxOccurs="1" implMinOccurs="1">
        <fixr:identifiers>
            <fixr:correlate id="11" name="ClOrdID"/>
            <fixr:correlate id="2422" name="OrderRequestID"/>
            <fixr:assign id="37" name="OrderID"/>
        </fixr:identifiers>
    </fixr:messageRef>
</fixr:response>

The schema uses identifierType for these references. It is proposed to add a name attribute as follows:

    <xs:complexType name="identifierType">
        <xs:attribute name="id" type="fixr:id_t" use="required">
            <xs:annotation>
                <xs:documentation>Field ID assigned or correlated in a message reference</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" type="fixr:Name_t">
            <xs:annotation>
                <xs:documentation>Name is optional for convenience, but it is not enforced by referential integrity. Only the ID of the referred object is authoritative.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="sourceId" type="fixr:id_t">
            <xs:annotation>
                <xs:documentation>Field ID correlated from source message. If not present, assumed to be same tag as 'id'.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>