The current pedigree attributes are inside the entityAttributeGrp and covers the following:
<xs:attributeGroup name="entityAttribGrp">
<xs:attribute name="added" type="fixr:Version_t"/>
<xs:attribute name="addedEP" type="fixr:EP_t"/>
<xs:attribute name="changeType" type="fixr:changeType_t"/>
<xs:attribute name="deprecated" type="fixr:Version_t"/>
<xs:attribute name="deprecatedEP" type="fixr:EP_t"/>
<xs:attribute name="issue" type="xs:string"/>
<xs:attribute name="lastModified" type="fixr:Version_t"/>
<xs:attribute name="replaced" type="fixr:Version_t"/>
<xs:attribute name="replacedEP" type="fixr:EP_t"/>
<xs:attribute name="replacedByField" type="fixr:id_t"/>
<xs:attribute name="supported" type="fixr:supportType" default="supported"/>
<xs:attribute name="updated" type="fixr:Version_t"/>
<xs:attribute name="updatedEP" type="fixr:EP_t"/>
</xs:attributeGroup>
It is proposed to add a few attributes to be able to capture changes made in FIX legacy versions:
- Removal of an element:
removed, removedEP, replacedbyField, replacedByComponent, replacedByGroup.
The element and/or its usage has been physically removed from an Orchestra XML file. For example, ExecBroker(76) was removed with FIX 4.3 and replaced by an instance of the Parties group.
<fixr:field type="String" id="76" name="ExecBroker" added="FIX.2.7" removed="FIX.4.3" replacedByGroup="1012"/>
- Moving an element from one element to another:
moved, movedEP, movedToMessage, movedToGroup, movedToComponent
The element is moved from one nesting level of a message to another, its definition does not change. For example, Currency(15) was moved from TrdCapRptSideGrp to the root level of the TCR with FIX 4.4. Another example is SettlCurrAmt(119) that was deprecated in FIX 4.4 and replaced by AllocSettlCurrAmt(737). Note that the added="FIX.4.4" seems wrong and should be added="FIX.4.0" as shown in the FIX 4.2 Orchestra XML file.
<fixr:fieldRef id="15" added="FIX.4.2" moved="FIX.4.4" movedToMessage="64"/>
<fixr:fieldRef id="119" added="FIX.4.0" deprecated="FIX.4.4" replacedByField="737"/>
- Inserting a removed element again:
restored and restoredEP. The element is removed but later reinserted again. That can be limited to a specific usage or include the definition. For example PutOrCall(201) was removed with FIX 4.3 and restored with FIX 4.4.
<fixr:field type="PutOrCallCodeSet" id="201" name="PutOrCall" added="FIX.4.1" removed="FIX.4.3" restored="FIX.4.4"/>
<fixr:fieldRef id="201" added="FIX.4.1" removed="FIX.4.3" restored="FIX.4.4"/>
The concept of only capturing the latest changes is not proposed to be changed, i.e. multiple updates or moves are not captured. Having the additional pedigree attributes should make it possible to regenerate previous FIX versions (or EPs) from FIX Latest.
The current pedigree attributes are inside the
entityAttributeGrpand covers the following:It is proposed to add a few attributes to be able to capture changes made in FIX legacy versions:
removed,removedEP,replacedbyField,replacedByComponent,replacedByGroup.The element and/or its usage has been physically removed from an Orchestra XML file. For example, ExecBroker(76) was removed with FIX 4.3 and replaced by an instance of the Parties group.
moved,movedEP,movedToMessage,movedToGroup,movedToComponentThe element is moved from one nesting level of a message to another, its definition does not change. For example, Currency(15) was moved from TrdCapRptSideGrp to the root level of the TCR with FIX 4.4. Another example is SettlCurrAmt(119) that was deprecated in FIX 4.4 and replaced by AllocSettlCurrAmt(737). Note that the added="FIX.4.4" seems wrong and should be added="FIX.4.0" as shown in the FIX 4.2 Orchestra XML file.
restoredandrestoredEP. The element is removed but later reinserted again. That can be limited to a specific usage or include the definition. For example PutOrCall(201) was removed with FIX 4.3 and restored with FIX 4.4.The concept of only capturing the latest changes is not proposed to be changed, i.e. multiple updates or moves are not captured. Having the additional pedigree attributes should make it possible to regenerate previous FIX versions (or EPs) from FIX Latest.