Imported from previous forum
Hi
I’m trying to interpret the descriptions of the messages in the FIX 4.2 specification document.
What I don’t understand is how fields can be described as “Req’d” in the word document but not mentioned at all in the v1.1 DTDs.
Example: field BodyLength (tag #9) in the Standard Message Header has a “Y” in the “Req’d” column but is neither mentioned in any DTD nor in the example order.xml file.
Thanks
Björn Wennerström
The current DTDs do not address the standard header or trailer fields. When FIXML is used via a "normal" FIX session, then the header and trailer are specified in traditional tag=value FIX format and the body (business content) is formatted in XML, thus the FIX session layer can be used as an "envelope". It is also important to note that the current DTDs have not yet been revised to include changes made in the recently released version 4.2 of the protocol.
> Hi
>
> I’m trying to interpret the descriptions of the messages in the FIX 4.2 specification document.
>
> What I don’t understand is how fields can be described as “Req’d” in the word document but not mentioned at all in the v1.1 DTDs.
>
> Example: field BodyLength (tag #9) in the Standard Message Header has a “Y” in the “Req’d” column but is neither mentioned in any DTD nor in the example order.xml file.
>
> Thanks
> Björn Wennerström
>
[ original email was from Ryan Pierce - rpierce@taltrade.com ]
> The current DTDs do not address the standard header or trailer fields. When FIXML is used via a "normal" FIX session, then the header and trailer are specified in traditional tag=value FIX format and the body (business content) is formatted in XML, thus the FIX session layer can be used as an "envelope". It is also important to note that the current DTDs have not yet been revised to include changes made in the recently released version 4.2 of the protocol.
That isn’t exactly the case. Some elements of the standard FIX header are in FIXML, specifically the Sender, Target, OnBehalfOf, and DeliverTo CompID, SubID, and LocationID.
The general idea is that FIXML just addresses the business content of the message, and routing information (CompID, SubID, etc.) Things such as ordered delivery (sequence numbers, Resend Request and SeqReset messages) and message integrity (body length and checksum) are outside of the scope of FIXML. Such things are provided either through "embedded FIXML" i.e. encapsulating a FIXML message inside a standard FIX message and session, or using some other form of transport (MSMQ, MQSeries, Tibco, HTTP?, etc.)
One recommendation I have is that SendingTime and OnBehalfOfSendingTime be included as tags in the FIXML Header. I consider these things to be more closely tied to the business layer than the session layer. Not every business message has an explicit timestamp associated with it, so having a timestamp in the FIXML header can be a good thing for two reasons:
-
Some message middleware / transport protocols might not have timestamps included, hence it may be impossible to determine when a message was sent.
-
One of the advantages of XML is that XML data can be traded across applications to facilitate STP. Even if “embedded FIXML” is used, the FIX envelope is likely to be stripped and discarded as soon as the message enters a firm, and only the raw XML would be passed around between the firm’s applications. Timestamps in the FIXML header would be preserved and visible to all applications in a firm without needing to carry around the FIX wrapper.
Yes, it’s obviously a good thing to keep session and application data separate.
So the 4.2 specification is wrong in that the Standard Header is required in a "New Order - Single" message for example?
>It is also important to note that the current DTDs have not yet been revised to include changes made in the recently released version 4.2 of the protocol.
Does anyone know when this will happen? The spec is pretty useless if it’s out of sync with reality (the DTD).
> One recommendation I have is that SendingTime and OnBehalfOfSendingTime be included as tags in the FIXML Header.
I do not want to make private changes to the DTD!
[ original email was from Ryan Pierce - rpierce@taltrade.com ]
> Yes, it’s obviously a good thing to keep session and application data separate.
>
> So the 4.2 specification is wrong in that the Standard Header is required in a “New Order - Single” message for example?
The FIX 4.2 specification document does not address the use of FIXML, with the exception of allowing encapsulation of XML data in a FIX message. When doing standard, non-XML FIX, the Standard Header is most certainly required for "New Order - Single" messages.
The FIXML DTDs are an alternate way of representing FIX business messages. As some of the standard header is not in the FIXML DTDs (for good reason!) a FIXML-compliant message cannot have those tags.
In other words, the FIX specification document dictates the implementation of non-XML FIX, while the DTDs dictate the implementation of FIXML. There is some crossover, in that things like order state matrices are defined in the FIX specification and are applicable to FIXML messages.
> >It is also important to note that the current DTDs have not yet been revised to include changes made in the recently released version 4.2 of the protocol.
>
> Does anyone know when this will happen? The spec is pretty useless if it’s out of sync with reality (the DTD).
The FIXML 1.1 DTD was released in sync with FIX 4.1. The FIXML Working Group will release a new DTD version which will be in sync with FIX 4.2.
> > One recommendation I have is that SendingTime and OnBehalfOfSendingTime be included as tags in the FIXML Header.
>
> I do not want to make private changes to the DTD!
Sorry! I intended this as a general comment to the FIXML Working Group to consider for inclusion in the upcoming DTD, and not as a suggestion for making private changes to the DTD.
[ original email was from John Goeller - john.goeller@ssmb.com ]
I have created a project plan which details the tasks required for the completion of the next version of FIXML. Send me an email and I’ll send you a “draft” copy of it. When it is more formalized I’ll post it on the web-site.
We plan on completing the next version of FIXML within the July-August timeframe.
A couple of points:
-
The FIX Specification was released last month and was a moving target until its official release date.
-
It was always our plan to implement the next version of FIXML in the W3C XML Schema format. This means moving away from the DTD format we currently employ. XML Schemas are expected to be in Candidate Release in May so this impacted on the timing of our next FIXML release.
Based on the timing, we may decide to maintain XML DTD and Schema versions of FIXML.
> Yes, it’s obviously a good thing to keep session and application data separate.
>
> So the 4.2 specification is wrong in that the Standard Header is required in a “New Order - Single” message for example?
>
>
> >It is also important to note that the current DTDs have not yet been revised to include changes made in the recently released version 4.2 of the protocol.
>
> Does anyone know when this will happen? The spec is pretty useless if it’s out of sync with reality (the DTD).
>
>
> > One recommendation I have is that SendingTime and OnBehalfOfSendingTime be included as tags in the FIXML Header.
>
> I do not want to make private changes to the DTD!
>
Is the XML Schema version done yet?
If so where can I get the schema?
> I have created a project plan which details the tasks required for the completion of the next version of FIXML. Send me an email and I’ll send you a “draft” copy of it. When it is more formalized I’ll post it on the web-site.
>
> We plan on completing the next version of FIXML within the July-August timeframe.
>
> A couple of points:
>
> 1) The FIX Specification was released last month and was a moving target until its official release date.
>
> 2) It was always our plan to implement the next version of FIXML in the W3C XML Schema format. This means moving away from the DTD format we currently employ. XML Schemas are expected to be in Candidate Release in May so this impacted on the timing of our next FIXML release.
>
> Based on the timing, we may decide to maintain XML DTD and Schema versions of FIXML.
>
>
> > Yes, it’s obviously a good thing to keep session and application data separate.
> >
> > So the 4.2 specification is wrong in that the Standard Header is required in a “New Order - Single” message for example?
> >
> >
> > >It is also important to note that the current DTDs have not yet been revised to include changes made in the recently released version 4.2 of the protocol.
> >
> > Does anyone know when this will happen? The spec is pretty useless if it’s out of sync with reality (the DTD).
> >
> >
> > > One recommendation I have is that SendingTime and OnBehalfOfSendingTime be included as tags in the FIXML Header.
> >
> > I do not want to make private changes to the DTD!
> >
>
[ original email was from Shalom Reich - shalom.reich@neonsoft.com ]
> Is the XML Schema version done yet?
> If so where can I get the schema?
Try :
http://www.w3.org/TR/2000/CR-xmlschema-1-20001024/
http://www.w3.org/TR/2000/CR-xmlschema-2-20001024/
http://www.w3.org/TR/2000/CR-xmlschema-0-20001024/
Shalom Reich