Discussion Forums

Re: FIXML Schema sub-set
Clive Browning / Rapid Addition Ltd
13 Apr 2006 6:22AM ET

Hi

We use the FIX repository to generate "run time schemas" as Jim Northey calls then. The FIX repository is the XML representation of the FIX message tables, data dictionary, and the source that the GTC generates the documentation, schema and FIXimate from.

We generate a run time schema that contains all the data types, components etc for each particular message we are interested in and then use the appropriate message schemas in a project.

You can also generate schemas for a specific product, such as order routing that only contains the messages, components etc for the relevant set of FIX messages.

We modified the sample application XSLT from the repository page to do this. The generic approach however is to iterate through the message contents xml writing the schema definition for a particular message, and whenever you encounter a component recursively iterate through that doing the same. If you add a trap to avoid writing a component twice you can generate a single schema for groups of messages.

Hope this helps

Clive Browning
Rapid Addition
www.rapidaddition.com

> I know what you mean if you use the raw schema you do produce a lot of data, on way we used to get a more reduced set was:
>
> * create data binding classes based on the full schema
> * output fix messages using the the databinding classes
> * use a tool such as XML Spy to reverse engineer the fix messages (xml)
> to schemas (XSD)
>
> You have to ensure that you output FIX messages with all the fields you
> support and of course you lose a lot of the type, enumerations and
> information that you get from the original - but you do get very
> condensed xsd files.
>
> In our case we prefere to use the schema direct despite the size of the
> classes libs generated.
>
>
> > John,
> >
> > Thanks for this, I'm equally concerned that by using the high level
> > schema method we still pull in an awful of other lower level stuff.
> > For example all 1800 components and all 18,000 field definitions.
> >
> > I need to design an Oracle database schema to store the clients
> > defined subset of FIXML and (for example) they only use about 30% of
> > the instrument attributes. While I can currently handle storing the
> > resulting XML automatically and fairly elegantly using metadata and
> > about 200 lines of pl/sql.
> >
> > I'm very aware that the published schema contains many more unused
> > attributes and strictly speaking they would need to publish a schema
> > with an errata of their acceptable subset - which for me, is
> > unacceptable as it defeats the purpose of using a schema in the
> > first place!
> >
> > So I guess the issue becomes...
> >
> > Do I build a tool to allow me to utilise FIXML as a repository and
> > subset into a 'clientFixml' schema which keeps the overall structure
> > but only contains the 'stuff' the client uses or design a database to
> > hold the full XSD in all its glory?
> >
> > Both options have their pro's and con's. and any suggestions are
> > welcome.
> >
> >
> > Regards George.
> >
> >
> >
> >
> > Looking around the Net it appears if I want to subset the main schema
> > and only pull in only what I need than I'll have to write some kind of
> > interface myself.
> >
> >
> >
> > Regards George.
> >
> >
> > > George, I do this for our routing system, so I create a high level
> > > schema that pulls in just the bits I want see below:
> > >
> > >
> > > http://www.fixprotocol.org/FIXML-4-4"
> > > xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.fixprotocol.org/FIXML-4-
> > > 4" elementFormDefault="qualified"
> > > attributeFormDefault="unqualified">
> > >
> > >
> > >
> > >
> > >
> > >

> > >
> > > I then run this against our data bindings package to produced C# and
> > > C++ classes that are used in the app.
> > >
> > > Hope this helps John
> > >
> > >
> > > > I want to use FIML as a repository and select only the mesages I
> > > > require to build a schema without all the other stuff.
> > > >
> > > > Has anyone tried this?
> > > >
> > > > Reagrds George


FIXML Schema sub-set
George Brennan / BIT Ltd.   12 Apr 2006 8:37AM ET
Re: FIXML Schema sub-set
John Unwin / Unwin Technology Ltd   12 Apr 2006 12:51PM ET
Re: FIXML Schema sub-set
Jim Northey / Jordan and Jordan   12 Apr 2006 1:35PM ET
Re: FIXML Schema sub-set
George Brennan / BIT Ltd.   13 Apr 2006 4:13AM ET
Re: FIXML Schema sub-set
John Unwin / Unwin Technology Ltd   13 Apr 2006 5:01AM ET
Re: FIXML Schema sub-set
Clive Browning / Rapid Addition Ltd   13 Apr 2006 6:22AM ET
Re: FIXML Schema sub-set
Kevin Houstoun / HSBC Bank plc   13 Apr 2006 6:52AM ET
Re: FIXML Schema sub-set
George Brennan / BIT Ltd.   19 Apr 2006 10:44AM ET
Re: FIXML Schema sub-set
Jim Northey / Jordan and Jordan   19 Apr 2006 12:48PM ET
Re: FIXML Schema sub-set
George Brennan / BIT Ltd.   19 Apr 2006 4:43PM ET
Re: FIXML Schema sub-set
Kevin Houstoun / HSBC Bank plc   20 Apr 2006 5:58AM ET
Re: FIXML Schema sub-set
George Brennan / BIT Ltd.   26 Apr 2006 4:08AM ET