Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Standalone dictionary structure

Below is the commom common structure of the standalone dictionary with used tags and attributes description.

StructureDescription
<fixdic>Root tag of the dictionary.
 

@xmlnsxmlns="http://www.b2bits.com/FIXProtocol"
 

@xmlns:xsixmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 

@xsi:schemaLocationxsi: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)

 

@versionDictionary version.
 

@dateDate 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.:

  • <typedef type="Percentage" extends="float">
  • <typedef type="Boolean" extends="char">
 
  



@valuetypeType of the value (specifies either type is multiple value type and type of the underlying value).
 
  



@displaynameName to be displayed (specifies either type is multiple value type and type of the underlying value).
   



<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.
    




@valSerial number of the item.
 
   




@idUnique identifier of the item. Id is an optional attribute and is used when description of an item value is longer than 4 words or has any special characters.
  
  




<msgref>Reference to the message where mentioned item is used - name of the message.
     





@msgtypeType of the reference message.
    




</msgref>-
   



</item> -
   



<range> Range of values to be supported - purpose of the range.
  
  




@minvalMinimum value to be supported.
 
   




@maxvalMaximum value to be supported.
 
   




@typeType of values.
   



</range> -
   



<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-
  
 



<descr>...</descrDescription.
  


</valblockdef>   -
  


<fielddef>Definition of the field.
 
  



@tag Tag of the field.
   



@name Name of the field.
 
  



@type Type of the field.
  
 



@transportTransport.
  
 



@lenfieldOnly for fielddef with type="data" or type="XMLData"
   



 <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.
   



@idIdentifier of the block definition.
 
  



@nameName of the block definition.
   



@transportTransport.
  
 



<field>Definition of the field.
 
   




@tagField tag.
    




@nameField name.
   
 




@reqSpecified if the field is mandatory or not.
    




@condreqSpecified if there is a condition when the field is mandatory.
 
   




<comment>...</comment>Comment.
  
 



</field>-
   



<block>Block description.
    




@idrefReference to the id of the block.
    




@reqSpecified if the block is mandatory or not.
 
   




@condreqSpecified if there is a condition when the field is mandatory.
   
 




<comment>...</comment>Comment.
   



</block>-
   



<group>Group description.
    




@nofieldTag of the group.
    




@startfieldStart 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.
   



@msgtypeMessage type.
   



@nameMessage name.
 
  



@adminDefines if the message is session level or application level message.
   



<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>  -
 

<descr>...</descr>Description.
</fixdic>-

Additional dictionary specifics

Below is the commom structure of the additional dictionary with specific tags and attributes description.

StructureDescription
<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.
   



@idID of the additional dictionary.
   



@parent_id

ID of the original dictionary additional dictionary based on.

Valid values are:

  • FIX40
  • FIX41
  • FIX42
  • FIX43
  • FIX44
  • FIX50
  • FIX50SP1
  • FIX50SP2
  • FIX50SP2EP
  • FIXT11
   



@fixversionFIX version additional dictionary based on.
   



@titleThe name of the additional dictionary.
 
  



@versionAdditional dictionary version.
   



@dateDate 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.

...