A brief guide to working with FIXML, plus the advantages, disadvantages and considerations of FIX and FIXML.
Working with FIXML: A Technical Guide
FIXML is a technical standard for FIX Protocol application-level messages that use the XML format.
As a semantic equivalent to the plain text (tag=value) FIX format, both FIXML and the tag=value FIX formats share the same data dictionary and business rules; the only difference is the representation.
FIXML does not define the session layer and FIXML messages can be encapsulated within the FIX Session Protocol using the XML Message <n> message, or within other messaging protocols.
Advantages and Disadvantages
The usage of FIX and FIXML each present advantages and disadvantages.
FIX tag=value
Looking at the benefits of FIX tag=value; it is efficient/compact, parsing is faster, and it includes the session-level protocol definition.
On the downside, messages are not easily human-readable and working with FIX messages requires specialised FIX Engine software implementations – not that this is necessarily a downside if you select the right FIX Engine SDK - but you do need one.
FIXML XML
In contrast, looking at the benefits of FIXML; XML instance documents are easily interoperable using different widely available XML development, integration, and parsing tooling. FIXML messages are also more human-readable than FIX tag=value messages.
On the downside, however, the messages are larger due to self-describing XML message bloat and require more bandwidth. Parsing is also slower than FIX tag=value, and it requires external message protocol session/transport level implementations.
Ideal Contexts for FIXML
FIXML is commonly used on contexts that are not latency critical or bandwidth optimised such as in post-trade clearing, settlement, and reporting contexts. In these contexts, it is desirable to have an open data presentation of the message payloads that can be used with a wide range of tooling to integrate into other transaction processing systems.
For more information on working with FIXML and an index of references - see the OnixS FIXML Tutorial.
Request Evaluation Access
OnixS FIX Engine SDKs include full FIX Protocol implementations, as well as FIX to/from FIXML converters.
To learn more you can request your evaluation access to the OnixS FIX Engine SDKs here, or access more information about the OnixS ultra low latency FIX Engine products here.