MsgSeqNum not in FIXML DTD?

Imported from previous forum

[ original email was from David Pattinson - dpattinson@thoughtworks.com ]
I’m working on building some TIBCO artifacts to translate FIX messages to FIXML and vice verca.
I noticed that MsgSeqNum (tag value 34) does not appear to be included in the FIXML 4.3 DTD, even though it is a required value in the FIX 4.2/4.3 Spec’s.

Is this because the MsgSeqNum is not meaningful in a FIXML message? If so - how would one go about transforming a FIXML message into FIX without having a value for MsgSeqNum to use? Is there a sensible default value?

Thanks in advance, David.

[ original email was from Ryan Pierce - rpierce@taltrade.com ]
> I’m working on building some TIBCO artifacts to translate FIX messages to FIXML and vice verca.
> I noticed that MsgSeqNum (tag value 34) does not appear to be included in the FIXML 4.3 DTD, even though it is a required value in the FIX 4.2/4.3 Spec’s.
>
> Is this because the MsgSeqNum is not meaningful in a FIXML message? If so - how would one go about transforming a FIXML message into FIX without having a value for MsgSeqNum to use? Is there a sensible default value?

Yes, message sequencing is not meaningul in FIXML.

The FIX protocol provides for message formatting rules (tag=value), a session layer to ensure ordered, reliable delivery, a data dictionary, and a message catalog.

FIXML defines new message formatting (XML), drops the session layer, but keeps the data dictionary and message catalog the same.

This is beneficial because it allows FIXML to be entirely application-centric without worrying about the underlying transport. One can embed FIXML inside other financial industry protocols, and one has a wide range of options for transporting FIXML:

  1. Encapsulate the FIXML inside a regular FIX tag=value session, and let the FIX engine handle ordered, reliable delivery for you.

  2. Use proprietary middleware, i.e. Tibco, MSMQ, MQSeries, and let that handle reliable delivery.

  3. Use whatever open industry standards are emerging, i.e. SOAP, XML-Protocol, etc.

This also explains why session-level messages (Test Request, Resend Request, Sequence Reset, etc.) are not included in FIXML.