FIX Antenna has a notion of "additional fields" to create FIX dialects. The configuration parameter can be used to customize standard FIX version.
Version:MsgType1:GroupLeadingTag1(ReqTag1, OptTag2?,..), GroupLeadingTag1=>NestedGroupLeadingTag1(ReqTag1, OptTag2?,..), OptTag1?, optTag2?,..,ReqTagN;Version:MsgType2:..
The example below means:
Validation.AdditionalFields = FIX42:8:639?,204?;FIX44:r:528,534(50001?);
<?xml version="1.0" encoding="UTF-8"?> <fixdics> <update> <fixdic fixversion="4.3" title="FIX 4.3" date="2007/03/22"> <fielddic> </fielddic> <msgdic> <msgdef msgtype="F" > <field tag="555" /> <group nofield="555" startfield="600"> <field tag="600" req="N"/> <field tag="608" req="N"/> <field tag="610" req="N"/> <field tag="616" req="N"/> <field tag="624" req="N"/> </group> </msgdef> </msgdic> </fixdic> <fixdic fixversion="4.1" title="FIX 4.1" date="2007/03/22"> <fielddic> <fielddef tag="386" name="field386" type="int"> </fielddef> <fielddef tag="336" name="field336" type="String"> </fielddef> <fielddef tag="339" name="field339" type="int"> </fielddef> <fielddef tag="389" name="field389" type="float"> </fielddef> <fielddef tag="385" name="field385" type="char"> </fielddef> </fielddic> <msgdic> <msgdef msgtype="G" > <field tag="386" /> <group nofield="386" startfield="336"> <field tag="336" req="N"/> <field tag="339" /> <group nofield="339" startfield="389"> <field tag="389" req="N"/> </group> </group> <field tag="385" req="N"/> </msgdef> </msgdic> </fixdic> <fixdic fixversion="4.4" title="FIX 4.4" date="2007/03/22"> <fielddic> <fielddef tag="6070" name="field6070" type="int"> </fielddef> <fielddef tag="6071" name="field6071" type="String"> </fielddef> <fielddef tag="6072" name="field6072" type="String"> </fielddef> <fielddef tag="6073" name="field6073" type="int"> </fielddef> <fielddef tag="6074" name="field6074" type="String"> </fielddef> <fielddef tag="6024" name="field6024" type="String"> </fielddef> <fielddef tag="6001" name="field6001" type="String"> </fielddef> <fielddef tag="4999" name="field4999" type="String"> </fielddef> </fielddic> <msgdic> <msgdef msgtype="U-ReqExec" name="U-ReqExec" > <field tag="6070" /> <group nofield="6070" startfield="6071"> <field tag="6071" req="N"/> <field tag="6072" req="N"/> <field tag="6073" /> <group nofield="6073" startfield="6074"> <field tag="6074" req="N"/> </group> </group> <field tag="6024" req="Y"/> <field tag="6001" req="N"/> </msgdef> <msgdef msgtype="D" > <field tag="4999" req="N"/> </msgdef> </msgdic> </fixdic> <fixdic fixversion="4.2" title="FIX 4.2" date="2007/03/22"> <fielddic> </fielddic> <msgdic> <msgdef msgtype="AB" name="AB" > <field tag="55" req="Y"/> </msgdef> </msgdic> </fixdic> </update> </fixdics>
1.5.6