...
Description for all standard FIX protocols can be found on fixopaedia.
Dictionary structure
Standalone dictionary structure
Below is the commom structure of the standalone dictionary with used tags and attributes description.
Structure | Description | |||||
---|---|---|---|---|---|---|
<fixdic> | Root tag of the dictionary. | |||||
@xmlns | xmlns="http://www.b2bits.com/FIXProtocol" | |||||
@xmlns:xsi | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||||
@xsi:schemaLocation | xsi:schemaLocation="http://www.b2bits.com/FIXProtocol fixdic.xsd" | |||||
@id | ID of the used dictionary. Valid values are:
| |||||
@fixversion | FIX version of the used dictionary. E.g.: 4.4, 4.2, T1.1, etc. | |||||
@title | The name of the dictionary. E.g.: FIX 5.0 SP2 EP, FIX 4.4 (with errata 20030618) | |||||
@version | Dictionary version. | |||||
@date | Date of the last dictionary update. | |||||
<typelist> | Section which describes types used in the dictionary. | |||||
<typedef> | Definition of the type. | |||||
@type | Type name. E.g.: Percentage, Amt, char | |||||
@extends | Specified if the type extends one of existing types. E.g.:
| |||||
<descr>...</descr> | Description of the type. | |||||
</typedef> | - | |||||
</typelist> | - | |||||
<fielddic> | Section which describes fields used in the dictionary. | |||||
<valblockdef> | Definition of the block of element's values. Can be zero or more elements. E.g. for countries, currencies, products, securities, etc. | |||||
@id | Unique identifier of the block. | |||||
@name | Name of the block. | |||||
<item> | Item of the block - name of the item. | |||||
@val | Serial number of the item. | |||||
@id | Unique identifier of the item. | |||||
<msgref> | Reference to the message where mentioned item is used - name of the message. | |||||
@msgtype | Type of the reference message. | |||||
</msgref> | - | |||||
</item> | - | |||||
<range> | Range of values to be supported - purpose of the range. | |||||
@minval | Minimum value to be supported. | |||||
@maxval | Maximum value to be supported. | |||||
@type | Type of values. | |||||
</range> | - | |||||
</valblockdef> | - | |||||
<fielddef> | Definition of the field. | |||||
@tag | Tag of the field. | |||||
@name | Name of the field. | |||||
@type | Type of the field. | |||||
<alias>...</alias> | Alternative field name. | |||||
<multi> | List of items. The field can contain multiple items separated by space. | |||||
<item>...</item> | The structure is the same as described for fixdic/fielddic/valblockdef/item. | |||||
</multi> | - | |||||
<item>...</item> | Can be zero or more item elements in the field definition. Only one item can be specified for the field. The structure is the same as described for fixdic/fielddic/valblockdef/item. | |||||
<range>...</range> | The structure is the same as described for fixdic/fielddic/valblockdef/range.
| |||||
<valblock idref="..."/> | Reference to the id of the <valblockdef> element. | |||||
<descr>...</descr> | Description of the field. | |||||
</fielddef> | - | |||||
</fielddic> | - | |||||
<msgdic> | Section which describes messages used in the dictionary. | |||||
<blockdef> | Definition of the block. Can be zero or more definitions. | |||||
@id | Identifier of the block definition. | |||||
@name | Name of the block definition. | |||||
<field> | Definition of the field. | |||||
@tag | Field tag. | |||||
@name | Field name. | |||||
@req | Specified if the field is mandatory or not. | |||||
@condreq | Specified if there is a condition when the field is mandatory. | |||||
<comment>...</comment> | Comment. | |||||
</field> | - | |||||
<block> | Block description. | |||||
@idref | Reference to the id of the block. | |||||
@req | Specified if the block is mandatory or not. | |||||
@condreq | Specified if there is a condition when the field is mandatory. | |||||
<comment>...</comment> | Comment. | |||||
</block> | - | |||||
<group> | Group description. | |||||
@nofield | Tag of the group. | |||||
@startfield | Start field. | |||||
<field>...</field> | The structure is the same as described for fixdic/msgdic/blockdef/field. | |||||
<block>...</block> | The structure is the same as described for fixdic/msgdic/blockdef/block. | |||||
<group>...</group> | The structure is the same as described for fixdic/msgdic/blockdef/group. | |||||
</group> | ||||||
<descr>...</descr> | Description. | |||||
</blockdef> | - | |||||
<msgdef> | Definition of the message. Can be zero or more definitions. | |||||
@msgtype | Message type. | |||||
@name | Message name. | |||||
<alias>...</alias> | Alternative message name. Can be zero or more elements. | |||||
<field>...</field> | The structure is the same as described for fixdic/msgdic/blockdef/field. | |||||
<block>...</block> | The structure is the same as described for fixdic/msgdic/blockdef/block. | |||||
<group>...</group> | The structure is the same as described for fixdic/msgdic/blockdef/group. | |||||
<descr>...</descr> | Description. | |||||
</msgdef> | - | |||||
</msgdic> | - | |||||
</fixdic> | - |
Additional dictionary specifics
Below is the commom structure of the additional dictionary with specific tags and attributes description.
Structure | Description | |||
---|---|---|---|---|
<fixdics> | Root tag of the additional dictionary. | |||
<delete> | Dictionary delete operation. Can be zero or one <delete> element. | |||
| <fixdic> | Dictionary to be updated. Can be zero or more <fixdic> elements. | ||
@id | ID of the additional dictionary. | |||
@parent_id | ID of the original dictionary additional dictionary based on. Valid values are:
| |||
@fixversion | FIX version additional dictionary based on. | |||
@title | The name of the additional dictionary. | |||
@version | Additional dictionary version. | |||
@date | Date of the last additional dictionary update. | |||
... | <typedef>/<valblockdef>/<fielddef>/<blockdef>/<msgdef> to be added/updated. The structure of listed elements is the same as described in standalone dictionary structure. | |||
</fixdic> | - | |||
</delete> | - | |||
<update> | Dictionary update operation. Can be zero or one <update> element. | |||
... | The structure is the same as for <delete> element. | |||
</update> | - | |||
</fixdic> | - |
Please see the article How to use custom dictionaries for the cases of additional dictionaries usage.
How to manage list of dictionaries in FIXAntenna based applications
...