General questions regarding FIXML and using it as a basis for an internal canonical model

Imported from previous forum

My firm (Institutional Investor) is relatively new to messaging.
We are in the process of implementing an ESB/SOA architecture and engaging many 3rd-party service providers (with whom we will employ messaging to communicate). Our initial analysis indicates that the FIXML spec would be a very good place to start in defining our internal canonical model). We have some very high-level questions that hopefully someone can answer very quickly. These are:

Are there any costs associated with using FIXML?
Are there best practices for extending the FIXML spec for internal use?
Do any published mappings exist for FIXML->SWIFT (or other industry standards)?
Any tips/pointers/things to do/things NOT to do?

Thank you in advance for any information you can provide !

Rich there are no costs involved in using FIXML.

We do have some recommendations on how to extend FIXML available on the FIX website.

FPL is involved in the ISO 20022 process which is a multiyear effort to reverse FIX into the ISO 20022 repository. FIX is the protocol for pre-trade/trade for equities, fixed income, listed derivatives within ISO 20022. FIX is also becoming an alternative syntax for post trade processing. Most of this work is being done now - so I am not sure I would put it on any project’s critical path. Know that FPL is fully committed to this process of reverse engineering and participating in ISO 20022 to improve processing automation and to work toward convergence.

Unfortunately we have been lax as a community in creating best practices guides.

My firm (Institutional Investor) is relatively new to messaging. We are
in the process of implementing an ESB/SOA architecture and engaging many
3rd-party service providers (with whom we will employ messaging to
communicate). Our initial analysis indicates that the FIXML spec would
be a very good place to start in defining our internal canonical model).
We have some very high-level questions that hopefully someone can answer
very quickly. These are:

Are there any costs associated with using FIXML? Are there best
practices for extending the FIXML spec for internal use? Do any
published mappings exist for FIXML->SWIFT (or other industry standards)?
Any tips/pointers/things to do/things NOT to do?

Thank you in advance for any information you can provide !

[ original email was from Matthew Rawlings - matthew@stickledown.com ]
This is my personal advice and doesn’t reflect the views of any client or employer, past or present. I have setup canonical models at some of the big names in fund management and investment banking, and have a long involvement in the messaging standards.

#1 Don’t directly edit the FIXML XSD files as then you’ll have trouble incorporating FIX upgrades.
#2 Don’t put things in the FIX namespace that aren’t genuine FIX
#3 Do download and use the FIX Repository to manage your own canonical form, just as FIX uses the Repository to manage FIX
#4 Do remember SWIFT is not a Standard. SWIFT uses the Standards ISO 15022 and ISO 20022 for messages
#5 Do remember the canonical form includes the data codes in the message and not just the message definitions
#6 Do remember that mapping messages is much easier than mapping the message choreographies, especially as FIXT makes FIX messages sequenced unlike ISO 20022’s unsequenced messages
#7 Do remember ISO 20022’s XSDs put the same element in different namespaces per message definition
#8 Do read XFront http://www.xfront.com
#9 Do pick one Standard’s style to follow no matter how many different messaging standards you import or include
#10 Do remember the canonical message model is just models of message layout and not models of the meaning of the data