# FIX & FIXML

**URL:** <https://forum.fixtrading.org/t/fix-fixml/9032>\
**Category:** General Q&A\
**Tags:** fixml, xid\_164887, imported\
**Created:** [February 9, 2006, 9:03am UTC](https://forum.fixtrading.org/t/fix-fixml/9032 "2006-02-09T09:03:35Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![boosha\_x](https://avatars.discourse-cdn.com/v4/letter/b/a9adbd/32.png) [@boosha\_x](https://forum.fixtrading.org/u/boosha_x)\
**Post date:** [February 9, 2006, 9:03am UTC](https://forum.fixtrading.org/t/fix-fixml/9032/1 "2006-02-09T09:03:35Z")

</div>

Imported from previous forum

---

<div class="post-metadata">

**Author:** ![boosha\_x](https://avatars.discourse-cdn.com/v4/letter/b/a9adbd/32.png) [@boosha\_x](https://forum.fixtrading.org/u/boosha_x)\
**Post date:** [February 9, 2006, 9:03am UTC](https://forum.fixtrading.org/t/fix-fixml/9032/2 "2006-02-09T09:03:35Z")

</div>

Hello Forum,

If I need to support both FIX and FIXML, how do I identify if the message has Standard Fix message or FIXML message? Appreciate your help.

Thanks  
Booshan

---

<div class="post-metadata">

**Author:** ![kaymahes\_x](https://avatars.discourse-cdn.com/v4/letter/k/c2a13f/32.png) [@kaymahes\_x](https://forum.fixtrading.org/u/kaymahes_x)\
**Post date:** [February 9, 2006, 6:44pm UTC](https://forum.fixtrading.org/t/fix-fixml/9032/3 "2006-02-09T18:44:47Z")

</div>

Hi Booshan,

You can distinguish between FIX and FIXML messages by using the following rules :-

1. FIXML starts with \< the arrow brace : the XML tag begin char, FIX messages start with BeginString 8=FIX.X.Y^ where ^ is ASCII SOH char. In a seperate post I have discussed the method used for determining end of a FIX message

[http://fixprotocol.org/discuss/read/ea65d469](http://fixprotocol.org/discuss/read/ea65d469)

[http://fixprotocol.org/discuss/read/443ad4c9](http://fixprotocol.org/discuss/read/443ad4c9)

1. The FIXML message will NOT have SOH delimiter which is used in FIX Tag=Value^ messages; the FIX message would not have \< or \>.

3.1) FIXML should pass thru all XML validations + FIXML validations.

3.2) FIX message should pass thru header / trailer validations of BeginString, BodyLength, MsgType, CheckSum, for each field in the body of the FIX message apply validations of mandatory / optional, values.

I do not think mixing FIX and FIXML in same session is currently part of FIX specification, though I do not see any reason why this cannot be done.

Regards,  
K. Mahesh  
+1-203-252-4039

> Hello Forum,
> 
> If I need to support both FIX and FIXML, how do I identify if the  
> message has Standard Fix message or FIXML message? Appreciate your help.
> 
> Thanks Booshan

---

<div class="post-metadata">

**Author:** ![brengachar\_x](https://avatars.discourse-cdn.com/v4/letter/b/8e8cbc/32.png) [@brengachar\_x](https://forum.fixtrading.org/u/brengachar_x)\
**Post date:** [February 9, 2006, 8:55pm UTC](https://forum.fixtrading.org/t/fix-fixml/9032/4 "2006-02-09T20:55:46Z")

</div>

Mahesh,

Thanks for your reply. I am confused after reading the following statement.

“FIXML can be encapsulated within the FIX Session Protocol”.

In another place I read, Session protocol is same for both FIX and FIXML. Does this mean, only the handsacking mechanism is same, or the admin messages are also same for both.

Appreciate your help in clearing this confusion.

Thanks  
Booshan

> Hi Booshan,
> 
> You can distinguish between FIX and FIXML messages by using the  
> following rules :-
> 
> 1. FIXML starts with \< the arrow brace : the XML tag begin char, FIX  
> messages start with BeginString 8=FIX.X.Y^ where ^ is ASCII SOH char.  
> In a seperate post I have discussed the method used for determining  
> end of a FIX message
> 
> [http://fixprotocol.org/discuss/read/ea65d469](http://fixprotocol.org/discuss/read/ea65d469)
> 
> [http://fixprotocol.org/discuss/read/443ad4c9](http://fixprotocol.org/discuss/read/443ad4c9)
> 
> 1. The FIXML message will NOT have SOH delimiter which is used in FIX  
> Tag=Value^ messages; the FIX message would not have \< or \>.
> 
> 2.1) FIXML should pass thru all XML validations + FIXML validations.
> 
> 2.2) FIX message should pass thru header / trailer validations of  
> BeginString, BodyLength, MsgType, CheckSum, for each field in the  
> body of the FIX message apply validations of mandatory /  
> optional, values.
> 
> I do not think mixing FIX and FIXML in same session is currently  
> part of FIX specification, though I do not see any reason why this  
> cannot be done.
> 
> Regards,  
> K. Mahesh +1-203-252-4039
> 
> > Hello Forum,
> > 
> > If I need to support both FIX and FIXML, how do I identify if the  
> > message has Standard Fix message or FIXML message? Appreciate  
> > your help.
> > 
> > Thanks Booshan

---

<div class="post-metadata">

**Author:** ![fplpo\_x](https://avatars.discourse-cdn.com/v4/letter/f/7ab992/32.png) [@fplpo\_x](https://forum.fixtrading.org/u/fplpo_x)\
**Post date:** [February 10, 2006, 8:47am UTC](https://forum.fixtrading.org/t/fix-fixml/9032/5 "2006-02-10T08:47:38Z")

</div>

[original email was from Steve Bate - [sbate@smart-trade.net](mailto:sbate@smart-trade.net) ]  
\> I am confused after reading the following

> statement.
> 
> “FIXML can be encapsulated within the FIX Session Protocol”.
> 
> In another place I read, Session protocol is same for both FIX and  
> FIXML. Does this mean, only the handsacking mechanism is same, or the  
> admin messages are also same for both.
> 
> Appreciate your help in clearing this confusion.

Hi Booshan,

I haven’t used FIXML but my understanding is that in FIX 4.4 there is a message type “n” and two header tags, XmlDataLen(212) and XmlData(213), that are used to encapsulate a FIXML message within a non-XML FIX message envelope. You can also send a FIXML message outside the content of a FIX session (e.g., email or some type of message-oriented middleware) but you would bypass all the FIX session protocol behaviors and error checking.

HTH,

Steve Bate

---

<div class="post-metadata">

**Author:** ![kaymahes\_x](https://avatars.discourse-cdn.com/v4/letter/k/c2a13f/32.png) [@kaymahes\_x](https://forum.fixtrading.org/u/kaymahes_x)\
**Post date:** [February 17, 2006, 4:39pm UTC](https://forum.fixtrading.org/t/fix-fixml/9032/6 "2006-02-17T16:39:59Z")

</div>

Hi Booshan,

The method mentioned by Steve is the standard way to encapsulate and transmit FIXML over a FIX Tag=Value^ session using message type 35=n^

I am in the process of mixing FIX and FIXML in the single session without encapsulation. Since my FIX engine can parse FIX Tag=Value^ and FIXML, it can distinguish between FIX and FIXML based on the contents of the message which is a stream of characters. In Java terms, my FIX engine has a message factory class which consumes stream of characters and emits FIX or FIXML messages. This is one of my FIXperiments.

To take another example, I can read/write English, Hindi and Tamil ( last two are Indian languages ). If I am given a piece of paper with any one of these written, I need not be told what language it is to be able to read it. Even between Hindi and Sanskrit ( both of these use the same written script Devanagri ), I can distinguish based of dictionary.

Regards,  
K. Mahesh  
+1-203-252-4039

> > I am confused after reading the following statement.
> > 
> > “FIXML can be encapsulated within the FIX Session Protocol”.
> > 
> > In another place I read, Session protocol is same for both FIX and  
> > FIXML. Does this mean, only the handsacking mechanism is same, or the  
> > admin messages are also same for both.
> > 
> > Appreciate your help in clearing this confusion.
> 
> Hi Booshan,
> 
> I haven’t used FIXML but my understanding is that in FIX 4.4 there is a  
> message type “n” and two header tags, XmlDataLen(212) and XmlData(213),  
> that are used to encapsulate a FIXML message within a non-XML FIX  
> message envelope. You can also send a FIXML message outside the content  
> of a FIX session (e.g., email or some type of message-oriented  
> middleware) but you would bypass all the FIX session protocol behaviors  
> and error checking.
> 
> HTH,
> 
> Steve Bate

---

<div class="post-metadata">

**Author:** ![kaymahes\_x](https://avatars.discourse-cdn.com/v4/letter/k/c2a13f/32.png) [@kaymahes\_x](https://forum.fixtrading.org/u/kaymahes_x)\
**Post date:** [February 18, 2006, 4:47am UTC](https://forum.fixtrading.org/t/fix-fixml/9032/7 "2006-02-18T04:47:15Z")

</div>

Correction :-

my FIX engine has a message factory class which consumes stream of characters and emits Java objects ( which represent the FIX / FIXML message ).

> Hi Booshan,
> 
> The method mentioned by Steve is the standard way to encapsulate and  
> transmit FIXML over a FIX Tag=Value^ session using message type 35=n^
> 
> I am in the process of mixing FIX and FIXML in the single session  
> without encapsulation. Since my FIX engine can parse FIX Tag=Value^ and  
> FIXML, it can distinguish between FIX and FIXML based on the contents of  
> the message which is a stream of characters. In Java terms, my FIX  
> engine has a message factory class which consumes stream of characters  
> and emits FIX or FIXML messages. This is one of my FIXperiments.
> 
> To take another example, I can read/write English, Hindi and Tamil (  
> last two are Indian languages ). If I am given a piece of paper with any  
> one of these written, I need not be told what language it is to be able  
> to read it. Even between Hindi and Sanskrit ( both of these use the same  
> written script Devanagri ), I can distinguish based of dictionary.
> 
> Regards,  
> K. Mahesh +1-203-252-4039
> 
> > > I am confused after reading the following statement.
> > > 
> > > “FIXML can be encapsulated within the FIX Session Protocol”.
> > > 
> > > In another place I read, Session protocol is same for both FIX and  
> > > FIXML. Does this mean, only the handsacking mechanism is same, or  
> > > the admin messages are also same for both.
> > > 
> > > Appreciate your help in clearing this confusion.
> > 
> > Hi Booshan,
> > 
> > I haven’t used FIXML but my understanding is that in FIX 4.4 there is  
> > a message type “n” and two header tags, XmlDataLen(212) and  
> > XmlData(213), that are used to encapsulate a FIXML message within a  
> > non-XML FIX message envelope. You can also send a FIXML message  
> > outside the content of a FIX session (e.g., email or some type of message-  
> > oriented middleware) but you would bypass all the FIX session protocol  
> > behaviors and error checking.
> > 
> > HTH,
> > 
> > Steve Bate

---

<div class="post-metadata">

**Author:** ![desiganmohan\_x](https://avatars.discourse-cdn.com/v4/letter/d/858c86/32.png) [@desiganmohan\_x](https://forum.fixtrading.org/u/desiganmohan_x)\
**Post date:** [October 7, 2008, 8:30am UTC](https://forum.fixtrading.org/t/fix-fixml/9032/8 "2008-10-07T08:30:22Z")

</div>

Hi,  
I have been trying to parse the fix message. I got to know that there is a message delimiter for FIX which is “SOH char”. Could you please tell me how to identify it real fix messages. I am not able to locate it.

Note:- I am working on FIX.4.0

# Thanks Desigan

> Hi Booshan,
> 
> You can distinguish between FIX and FIXML messages by using the  
> following rules :-
> 
> 1. FIXML starts with \< the arrow brace : the XML tag begin char, FIX  
> messages start with BeginString 8=FIX.X.Y^ where ^ is ASCII SOH char.  
> In a seperate post I have discussed the method used for determining  
> end of a FIX message
> 
> [http://fixprotocol.org/discuss/read/ea65d469](http://fixprotocol.org/discuss/read/ea65d469)
> 
> [http://fixprotocol.org/discuss/read/443ad4c9](http://fixprotocol.org/discuss/read/443ad4c9)
> 
> 1. The FIXML message will NOT have SOH delimiter which is used in FIX  
> Tag=Value^ messages; the FIX message would not have \< or \>.
> 
> 2.1) FIXML should pass thru all XML validations + FIXML validations.
> 
> 2.2) FIX message should pass thru header / trailer validations of  
> BeginString, BodyLength, MsgType, CheckSum, for each field in the  
> body of the FIX message apply validations of mandatory /  
> optional, values.
> 
> I do not think mixing FIX and FIXML in same session is currently  
> part of FIX specification, though I do not see any reason why this  
> cannot be done.
> 
> Regards,  
> K. Mahesh +1-203-252-4039
> 
> > Hello Forum,
> > 
> > If I need to support both FIX and FIXML, how do I identify if the  
> > message has Standard Fix message or FIXML message? Appreciate  
> > your help.
> > 
> > Thanks Booshan

---

<div class="post-metadata">

**Author:** ![kaymahes\_x](https://avatars.discourse-cdn.com/v4/letter/k/c2a13f/32.png) [@kaymahes\_x](https://forum.fixtrading.org/u/kaymahes_x)\
**Post date:** [October 11, 2008, 4:30am UTC](https://forum.fixtrading.org/t/fix-fixml/9032/9 "2008-10-11T04:30:18Z")

</div>

Structure of a FIX message - Logical and Physical  
[http://fixprotocol.org/discuss/read/c87136ed](http://fixprotocol.org/discuss/read/c87136ed)

FIX message flow - A detailed analysis of a single message flowing in a “FIX” pipe between connected counterparties. (Please make note of the difference in FIX Version / message structure and tag locations)

[http://fixprotocol.org/discuss/read/94232f30](http://fixprotocol.org/discuss/read/94232f30)

> Hi, I have been trying to parse the fix message. I got to know that  
> there is a message delimiter for FIX which is “SOH char”. Could you  
> please tell me how to identify it real fix messages. I am not able to  
> locate it.
> 
> Note:- I am working on FIX.4.0
> 
> # Thanks Desigan
