Closed msherman13 closed 5 years ago
OK fair enough. I was going off of https://www.onixs.biz/fix-dictionary which I guess didn't adhere to the spec.
It seems that these are not actually typos but the abbreviated names for the fields. See the definitions in the FIX Repository:
<Field added="FIX.4.2">
<Tag>267</Tag>
<Name>NoMDEntryTypes</Name>
<Type>NumInGroup</Type>
<AbbrName>NoMDEntryTyps</AbbrName>
<NotReqXML>0</NotReqXML>
<Description>Number of MDEntryType (269) fields requested.</Description>
</Field>
I'm not very familiar with FIXML but it seems odd that it would use the abbreviated name just for these two fields. If it was consistent, it would call, for example, MDEntryPx(270) "Px" as well:
<Field added="FIX.4.2">
<Tag>270</Tag>
<Name>MDEntryPx</Name>
<Type>Price</Type>
<AbbrName>Px</AbbrName>
<NotReqXML>0</NotReqXML>
<Description>Price of the Market Data Entry.</Description>
</Field>
I'm myself using the <Name>
elements in the FIX Repository to generate the tags for the standard protocol versions in Philadelphia.
@jvirtanen Yeah, that's what's going on. hffix should probably use FIX Repository rather than parse the original protocol spec documents.
Thanks @msherman13 for submitting this pull request, even though you closed it. The conversation you started is causing me to write up a parser for the FIX Repository.
@msherman13 This branch will solve the abbreviated field names problem. https://github.com/jamesdbrock/hffix/pull/18
So the thing about this is that those strange spellings are in the official spec from the FIX protocol organization
fixspec/fix.4.4/FIXML4.4v20030618.dtd
.This file,
hffix_fields.hpp
is generated by parsing those spec documents. See the comment at the top of the file for details.I think the criteria for correctness for FIX fields name isn't what's in an English dictionary, rather the criteria is fidelity to whatever FIX org publishes.
Maybe
FIXML4.4v20030618.dtd
is in error, but if that's true, then we would determine that by referencing some other document published by the FIX org which uses a different spelling for those field names.