Search code examples
quickfixdata-dictionary

How does QuickFix use the data dictionary to map the field number to field name?


When I check the data dictionary https://github.com/quickfix/quickfix/blob/master/spec/FIX42.xml enter image description here

It looks like to me that there are only field name and whether it is a required field or not.

But as I know, a FIX message is only a series of fields with key and value separated by delimiter

How can QuickFix map the field number to name as the data dictionary does not contains any info about the field number? I mean at least something like <field number='8' name='BeginString' required='Y' />

Or the FIX elements must be specified in order so that the data dictionary just maps them one by one in order? But if it is the case, how about one element is missing, then all the subsequent mappings go wrong?

Any help is highly appreciated.


Solution

  • The answer is basically in the same file that you mentioned in your post.

    Field names are mapped to numbers starting from here: https://github.com/quickfix/quickfix/blob/85bb8a9acae6b0e6a2c37d498e646a5437f23983/spec/FIX42.xml#L1603