FIXTradingCommunity / fix-simple-binary-encoding

A FIX standard for binary message encoding
Other
263 stars 69 forks source link

Data binary type #25

Closed RFrenkel closed 8 years ago

RFrenkel commented 8 years ago

Hello, What is the reason for Data binary type 'Variable-length data' part changing it primitive type from char to int between RC2 and RC4? Is this change backward compatible for RC2 implementations?

donmendelson commented 8 years ago

The change traces to RC3 issue "Fixed and variable-length String versus non-character data" that was accepted prior to moving the project to GitHub. That enhancement expanded string and data types to:

In sum, text fields can be fixed or variable-length and data can be fixed or variable-length. The difference between them is that text fields are subject to a character set (US-ASCII is the default character set in FIX) while opaque data has no internal structure known to the message encoding.

RFrenkel commented 8 years ago

Thank you, Don! Could you confirm that both Int and char as primitive types of data should be working fine for RC2 implementations?

donmendelson commented 8 years ago

The RC2 schema is available here Simple Binary Encoding - Release Candidate 2 - XML Schema (XSD)

These are the enumerated primitive types:

                    <xs:restriction base="xs:token">
                        <xs:enumeration value="char"/>
                        <xs:enumeration value="int8"/>
                        <xs:enumeration value="int16"/>
                        <xs:enumeration value="int32"/>
                        <xs:enumeration value="int64"/>
                        <xs:enumeration value="uint8"/>
                        <xs:enumeration value="uint16"/>
                        <xs:enumeration value="uint32"/>
                        <xs:enumeration value="uint64"/>
                        <xs:enumeration value="float"/>
                        <xs:enumeration value="double"/>
                    </xs:restriction>