Proposal: XML Description of protocol

Imported from previous forum

Wouldn’t it be good if there was an description of the FIX protocol in some XML language format? That could be used to generate documentation and code from?

The format might look something like:
<FIXDEF>
<Fields>
<Field Tag="1" Name="Account" Type="String">
<Description>Account mnemonic as agreed between broker and
institution.</Description>
</Field>
… More field definitions …
<Field Tag="54" Name="Side" Type="char">
<Description>Side of order</Description>
<ValidValue Val="1" Name="Buy">
<ValidValue Val="2" Name="Sell">
… Example of enumeration …
</Field>
… More field definitions …
</Fields>
<Messages>

<Message Name="Logon" MsgType = "A">
<Header/>
<Field Tag="98" Name="EncryptMethod" Required="Y">
<Comment>(Always unencrypted)</Comment>
</Field>

  &lt;Field Tag=&quot;108&quot; Name=&quot;HeartBtInt&quot; Required=&quot;Y&quot; /&gt;

  &lt;Field Tag=&quot;95&quot; Name=&quot;RawDataLength&quot; Required=&quot;N&quot;&gt;
    &lt;Comment&gt;Required for some authentication methods&lt;/Comment&gt;
  &lt;/Field&gt;

  &lt;Field Tag=&quot;96&quot; Name=&quot;RawData&quot; Required=&quot;N&quot;&gt;
    &lt;Comment&gt;Required for some authentication methods&lt;/Comment&gt;
  &lt;/Field&gt;

  &lt;Field Tag=&quot;141&quot; Name=&quot;ResetSeqNumFlag&quot; Required=&quot;N&quot;&gt;
    &lt;Comment&gt;Indicates both sides of a FIX session should reset
    sequence numbers&lt;/Comment&gt;
  &lt;/Field&gt;

  &lt;Field Tag=&quot;383&quot; Name=&quot;MaxMessageSize&quot; Required=&quot;N&quot;&gt;
    &lt;Comment&gt;Can be used to specify the maximum number of bytes
    supported for messages received&lt;/Comment&gt;
  &lt;/Field&gt;

  &lt;Field Tag=&quot;384&quot; Name=&quot;NoMsgTypes&quot; Required=&quot;N&quot;&gt;
    &lt;Comment&gt;Specifies the number of repeating MsgTypes
    specified&lt;/Comment&gt;
  &lt;/Field&gt;

  &lt;RepeatingGroup&gt;
    &lt;Field Tag=&quot;35&quot; Name=&quot;MsgType&quot; Required=&quot;N&quot;&gt;
      &lt;Comment&gt;Specifies a specific, supported MsgType. Required if
      NoMsgTypes is &amp;gt; 0.&lt;/Comment&gt;
    &lt;/Field&gt;

    &lt;Field Tag=&quot;385&quot; Name=&quot;MsgDirection&quot; Required=&quot;N&quot;&gt;
      &lt;Comment&gt;Indicates direction (send vs. receive) of a
      supported MsgType. Required if NoMsgTypes is &amp;gt;
      0.&lt;/Comment&gt;
    &lt;/Field&gt;
  &lt;/RepeatingGroup&gt;

  &lt;Trailer/&gt;
&lt;/Message&gt;

......

</Messages>
</FIXDEF>

Something like this.

This format could also be used to describe extensions for wich code could be automatically generated and incorporated to our applications.

/Michel

[ original email was from Matt Koehler - matt.koehler@transacttools.net ]
http://www.fixprotocol.org/cgi-bin/Spec.cgi?menu=4

check out the fiximate part in each section.

don’t know if fixprotocol is making the native xml available to everyone or not.

-Matt

> Wouldn’t it be good if there was an description of the FIX protocol in some XML language format? That could be used to generate documentation and code from?

> http://www.fixprotocol.org/cgi-bin/Spec.cgi?menu=4
>
> check out the fiximate part in each section.
>
> don’t know if fixprotocol is making the native xml available to everyone or not.
>
> -Matt

Actually I have lurked that section. And you can get ahold of the xml files. But the description isn’t as complete as the one i’m proposing. I would like to encode dependencies between fields , enumerations and valid values. And use the xml document as the basis for the documentation and code. Not the other way around.
But the FIXImate XML code could serve as base.

/Michel

> > http://www.fixprotocol.org/cgi-bin/Spec.cgi?menu=4
> >
> > check out the fiximate part in each section.
> >
> > don’t know if fixprotocol is making the native xml available to everyone or not.
> >
> > -Matt
>
> Actually I have lurked that section. And you can get ahold of the xml files. But the description isn’t as complete as the one i’m proposing. I would like to encode dependencies between fields , enumerations and valid values. And use the xml document as the basis for the documentation and code. Not the other way around.
> But the FIXImate XML code could serve as base.
>
> /Michel

We’ve done a similar thing for SWIFT messages in a project last year. It turned out to be very complex to twist the standard a bit to provide a “consistent grammar” of the SWIFT catalogue in XML format in order to enable code generation.
Unfortunately my knowledge of FIX is not on the same level, but if there’s a definite interest,
I would certainly be interested to go for it
(read: get the right colleagues back in a team).

Erwin.
erwin.de.ley@yucom.be
>

> > http://www.fixprotocol.org/cgi-bin/Spec.cgi?menu=4
> >
> > check out the fiximate part in each section.
> >
> > don’t know if fixprotocol is making the native xml available to everyone or not.
> >
> > -Matt
>
> Actually I have lurked that section. And you can get ahold of the xml files. But the description isn’t as complete as the one i’m proposing. I would like to encode dependencies between fields , enumerations and valid values. And use the xml document as the basis for the documentation and code. Not the other way around.
> But the FIXImate XML code could serve as base.
>
> /Michel

We’ve done a similar thing for SWIFT messages in a project last year. It turned out to be very complex to twist the standard a bit to provide a “consistent grammar” of the SWIFT catalogue in XML format in order to enable code generation.
Unfortunately my knowledge of FIX is not on the same level, but if there’s a definite interest,
I would certainly be interested to go for it
(read: get the right colleagues back in a team).

Erwin.
erwin.de.ley@yucom.be
>

Hi there.

> Wouldn’t it be good if there was an description of the FIX protocol in some XML language format? That could be used to generate documentation and code from?

Did anything ever come of this? I am writing some message validation code, and such an XML specification would be extremely useful.

Especially as FIX grows, a format which would completely describe message/field definitions but be easily updatable could be used for code and documentation alike.

I could make a start doing this within my own company, but would feel silly if two months down the line an "official" XML specification were to arrive available for download!

Many thanks,

Bob.

We captured it as a wish list item, however, I’m not sure we can promise doing this any time soon.

> Hi there.
>
> > Wouldn’t it be good if there was an description of the FIX protocol in some XML language format? That could be used to generate documentation and code from?
>
> Did anything ever come of this? I am writing some message validation code, and such an XML specification would be extremely useful.
>
> Especially as FIX grows, a format which would completely describe message/field definitions but be easily updatable could be used for code and documentation alike.
>
> I could make a start doing this within my own company, but would feel silly if two months down the line an “official” XML specification were to arrive available for download!
>
> Many thanks,
>
> Bob.
>
>

> We captured it as a wish list item, however, I’m not sure we can promise doing this any time soon.

Would it be possible to contribute to this effort in some way so it could be done sooner?

/Michel