I was looking at the FIX Repository 2010 Edition and I noticed something that left me puzzled.
In FIXT1.1, RefMsgType(372) has <EnumDatatype>35</EnumDatatype>. It obviously shouldn’t be there, considering there’s no enumeration with that tag in Enums.xml. I understand (I think I do…) the intention of signalling that RefMsgType(372)'s enum refers to MsgType(35), but that’s a human interpretation. Every script would just look inside Enums.xml and not find it.
Can please somebody clarify what is going on? Thanks.
Can you please provide a link from where you have retrieved the FIX Repository 2010 Edition, was it https://www.fixtrading.org/standards/fix-repository? The background is that FIXT 1.1 represents the session layer of FIX 5.x and exists as a standalone version with its messages, fields and values. You will see the issue you describe also in FIXimate when you switch to legacy versions and pick “FIXT.1.1” from the dropdown list. The issue is not specific to RefMsgType(372), it starts with MsgType(35) that shows no values. It should be the source for RefMsgType(372), similar to RefApplVerID(1130) which uses enums from ApplVerID(1128). MsgType(35) should have the subset of values relevant for the FIX Session Layer and RefMsgType(372) then correctly defines its enums to be identical to those of MsgType(35). You can remove the enum reference as you suggest above or add the missing enums to Enums.xml to resolve the issue.
<Enum added="FIX.2.7">
<Tag>35</Tag>
<Value>0</Value>
<SymbolicName>Heartbeat</SymbolicName>
<Group/>
<Sort>0</Sort>
<Description>Heartbeat</Description>
</Enum>
<Enum added="FIX.2.7">
<Tag>35</Tag>
<Value>1</Value>
<SymbolicName>TestRequest</SymbolicName>
<Group/>
<Sort>1</Sort>
<Description>Test Request</Description>
</Enum>
<Enum added="FIX.2.7">
<Tag>35</Tag>
<Value>2</Value>
<SymbolicName>ResendRequest</SymbolicName>
<Group/>
<Sort>2</Sort>
<Description>Resend Request</Description>
</Enum>
<Enum added="FIX.2.7">
<Tag>35</Tag>
<Value>3</Value>
<SymbolicName>Reject</SymbolicName>
<Group/>
<Sort>3</Sort>
<Description>Reject</Description>
</Enum>
<Enum added="FIX.2.7">
<Tag>35</Tag>
<Value>4</Value>
<SymbolicName>SequenceReset</SymbolicName>
<Group/>
<Sort>4</Sort>
<Description>Sequence Reset</Description>
</Enum>
<Enum added="FIX.2.7">
<Tag>35</Tag>
<Value>5</Value>
<SymbolicName>Logout</SymbolicName>
<Group/>
<Sort>5</Sort>
<Description>Logout</Description>
</Enum>
<Enum added="FIX.2.7">
<Tag>35</Tag>
<Value>A</Value>
<SymbolicName>Logon</SymbolicName>
<Group/>
<Sort>6</Sort>
<Description>Logon</Description>
</Enum>
<Enum added="FIX.4.3">
<Tag>35</Tag>
<Value>n</Value>
<SymbolicName> XMLNonFIX </SymbolicName>
<Group/>
<Sort>7</Sort>
<Description>XML message (e.g. non FIX Msg Type)</Description>
</Enum>
Indeed, I downloaded the 2010 Edition FIX Repository from https://www.fixtrading.org/standards/fix-repository/.
As you suggested, I simply removed the enumeration reference and it worked fine.
Thank you for your explanation!
Thanks for catching the URL typo for EP245. Has been fixed now.