Page tree

Versions Compared

Key

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

...

FMXML handler is a FIXEdge component used in BL configurations. Its primary task to convert any FIX message (except MsgType(35)=n) to XML representation. In case of 35=n messages FMXML handler does the reverted conversion. An example of a FIX message and the result of such conversion is given in the table below:

FIX 4.4 representationFMXML representation

8=FIX.4.4
9=0332
35=D
49=FTRDRETD0
56=IDEALRETD0
43=N
52=20131118-10:21:56
97=N
115=NFSC
2007=e6a85d48-81df-40c3-a54c-23b2aa85191b:RETAILEQUITY
21=2
22=1
48=0456BC5L1
54=1
38=1000
40=1
44=0
59=1
1=Account10
2002=CH1
2005=12345
2000=Act10Name
2001=N
2003=C1TD
11=e6a85d48-81df-40c3-a54c-23b2aa85191b
60=20131118-05:21:46
2008=G12345
2011=Rep1

Code Block
languagehtml/xml
<FIXMessage>
	<f8>FIX.4.4</f8>
	<f35>D</f35>
	<f49>FTRDRETD0</f49>
	<f56>IDEALRETD0</f56>
	<f43>N</f43>
	<f52>20131118-10:21:56</f52>
	<f97>N</f97>
	<f115>NFSC</f115>
	<f2007>e6a85d48-81df-40c3-a54c-23b2aa85191b:RETAILEQUITY</f2007>
	<f21>2</f21>
	<f22>1</f22>
	<f48>0456BC5L1</f48>
	<f54>1</f54>
	<f38>1000</f38>
	<f40>1</f40>
	<f44>0</f44>
	<f59>1</f59>
	<f1>Account10</f1>
	<f2002>CH1</f2002>
	<f2005>12345</f2005>
	<f2000>Act10Name</f2000>
	<f2001>N</f2001>
	<f2003>C1TD</f2003>
	<f11>e6a85d48-81df-40c3-a54c-23b2aa85191b</f11>
	<f60>20131118-05:21:46</f60>
	<f2008>G12345</f2008>
	<f2011>Rep1</f2011>
</FIXMessage>

 


Typical use case

Here is a sequence diagram for a typical FMXML's use case.

...

By default FMXML handler does not change values of FIX tags during transformations. However there are differences between Date/Time data representation in FIX and in XML. See the table below for further details.

 

FIX XML
UTCTimestamp

YYYYMMDD-HH:MM:SS

YYYYMMDD-HH:MM:SS.sss

YYYY-MM-DDTHH:MM:SS

YYYY-MM-DDTHH:MM:SS.sss

UTCDateOnlyYYYYMMDDYYYY-MM-DD
LocalMktDateYYYYMMDDYYYY-MM-DD

 

 Use the ConvertDateTime = "true" attribute to convert date/time values properly. See the example of BL rule:

 

Code Block
languagehtml/xml
<DllHandlers>
	<Handler Name="FMXMLHandler" 
		Description="FMXML Handler" 
		DllName="bin/FMXMLHandler-vc10-MD-x64.dll" 
		VerifyHandlersVersion="true" 
		ProcessorsCount="2" />
</DllHandlers>

<Rule>
    <Source>
        <Client Name="SplitterTA" />
    </Source>
    <Condition>
        <MatchField Field="35" Value="n" />
    </Condition>
    <Action>
        <Script Language="XSLT" Field="213" LengthField="212" FileName="AE.xslt"/>
        <HandlerAction Name="FMXMLHandler" ConvertDateTime = "true"/>
        <Send>
            <FixSession/>
        </Send>
    </Action>
</Rule>