- https://github.com/FIXTradingCommunity/fix-simple-binary-encoding/blob/master/v1-0-STANDARD/doc/02FieldEncoding.md#general-1 says that
nullValue is mutually exclusive with presence = required/constant.
presence=requires is mutually exclusive with nullValue
My understanding of that phrase is that having a nullValue attribute automatically makes field optional. This can hardly be correct because nullValue is not a valid value for a required field so it actually needs this attribute to check its value, in other words, nullValue is NOT mutually exclusive with required/optional. Is it correct and documentation is wrong here?
- The same page says that
presence=constant is mutually exclusive with min/max/nullValue. Does it mean that no constraints are applied to constant values? For example is it legal to have constant 255 for uint8 type? Because for required types nullValue is not a valid value.
- Is it allowed to customize
min/max/nullValue for floating point types? I suspect that yes, just want to be sure. The real question: is NaN literal supported? I mean, can I write <type name="MyDouble" primitiveType="double" maxValue="100" nullValue="NaN"/>? No hint about it in the documentation.