Как QuickFix использует словарь данных для сопоставления номера поля с именем поля?

Когда я проверяю словарь данных https://github.com/quickfix/quickfix/blob/master/spec/FIX42.xml введите здесь описание изображения

Мне кажется, что есть только имя поля и является ли оно обязательным или нет.

Но, насколько я знаю, FIX-сообщение — это всего лишь набор полей с ключом и значением, разделенных разделителем.

Как QuickFix может сопоставить номер поля с именем, если словарь данных не содержит никакой информации о номере поля? Я имею в виду как минимум что-то вроде ‹field number='8' name='BeginString' required='Y' /›

Или элементы FIX должны указываться по порядку, чтобы словарь данных просто отображал их один за другим по порядку? Но если это так, как насчет отсутствия одного элемента, то все последующие сопоставления будут работать неправильно?

Любая помощь высоко ценится.


person kzfid    schedule 12.08.2020    source источник
comment
Я не понимаю вопроса. Я что-то пропустил? Имена полей сопоставляются с номерами, начиная отсюда: github.com/ быстрое исправление/быстрое исправление/blob/   -  person Christoph John    schedule 12.08.2020
comment
Это в том же файле, который вы упомянули в своем посте.   -  person Christoph John    schedule 12.08.2020
comment
@ChristophJohn Спасибо за напоминание, я вижу ряд. Первоначально я думал, что ‹header›‹field name='BeginString' required='Y' /› — это единственная вещь/определение BeginString, поэтому мне интересно, как QuickFix может сопоставить его с числом 8. Если я правильно понимаю, ‹header› ‹field name='BeginString' required='Y' /› определить, что это за поле (это заголовок, а не содержимое сообщения) и требуется ли оно, в то время как ‹fields›‹field number='8' name='BeginString ' type='STRING' /› определяет номер ключа (8) и его тип, где name='BeginString' — связь между ними.   -  person kzfid    schedule 13.08.2020
comment
@ChristophJohn Я хотел бы отметить ваш ответ как ответ, не могли бы вы опубликовать свой комментарий как ответ?   -  person kzfid    schedule 13.08.2020


Ответы (1)


Ответ в основном находится в том же файле, который вы упомянули в своем посте.

Имена полей сопоставляются с номерами, начиная отсюда: https://github.com/quickfix/quickfix/blob/85bb8a9acae6b0e6a2c37d498e646a5437f23983/spec/FIX42.xml#L1603

person Christoph John    schedule 13.08.2020