Customisation of schema

Imported from previous forum

Hi

Our 3rd party back office supplier is changing their systems and want us to support FIXML. They are changing the schema to achieve the following goals:

  1. Making Optional attributes mandatory.

  2. Making certain blocks mandatory (e.g. the Alloc Block in the AllocInstrctn)

  3. Adding extra values to restricted lists (e.g. adding 101 to Tag 22 Src)

  4. Adding in Custom Blocks and Elements. Example:


  5. Restricting lists (e.g. Tag 71 TransTyp restricted to either 0 or 2).

Could anyone provide guidelines (and possibly examples) for the best way to achieve these as they are currently changing considerable parts of the base implementation and I want to ensure that they are using the FIX specification as it was intended.

In addition they want to create several versions of the Allocation instruction schema, as some fields (e.g. AcrdIntAmt) are to be mandatory on some instrument types but not on others. This will lead to different Allocation Instruction message schema for fixed income, equities etc. Is this the best way to do this as I then have to do a custom scan of the message before I know what schema to use to validate it. Does anyone have a suggestion for a better way to proceed?

Thanks in advance for your help

Regards
Iain Macnab

[ original email was from Matt Simpson - msimpson@cme.com ]
It sounds like a dangerous approach to me. Those building to this solution will find it difficult to leverage FIXML as a common, repeatable interface.

CME uses the base schema to generate data bindings which can then be augmented with business rules. Business rules are communicated to clients in supplemental usage specifications which have been vetted in the industry as best practices. I would encourage this type of approach rather than one that morphs the schema into something it isn’t.

Hi

Our 3rd party back office supplier is changing their systems and want
us to support FIXML. They are changing the schema to achieve the
following goals:

  1. Making Optional attributes mandatory.

  2. Making certain blocks mandatory (e.g. the Alloc Block in the
    AllocInstrctn)

  3. Adding extra values to restricted lists (e.g. adding 101 to
    Tag 22 Src)

  4. Adding in Custom Blocks and Elements. Example:

  5. Restricting lists (e.g. Tag 71 TransTyp restricted to either 0 or 2).

Could anyone provide guidelines (and possibly examples) for the best way
to achieve these as they are currently changing considerable parts of
the base implementation and I want to ensure that they are using the FIX
specification as it was intended.

In addition they want to create several versions of the Allocation
instruction schema, as some fields (e.g. AcrdIntAmt) are to be mandatory
on some instrument types but not on others. This will lead to different
Allocation Instruction message schema for fixed income, equities etc. Is
this the best way to do this as I then have to do a custom scan of the
message before I know what schema to use to validate it. Does anyone
have a suggestion for a better way to proceed?

Thanks in advance for your help

Regards Iain Macnab