-
Notifications
You must be signed in to change notification settings - Fork 33
Description
It is proposed to remove the requirement that a message, repeating group or component must reference at least one field, group or component. An Orchestra XML file would hence already be valid when it preliminarily defines messages but without content. Counterparties can use this to initially agree on the set of supported messages. Fields, groups, and components can be added later.
A use case is a message that does not need additional attributes, e.g. a heartbeat (FIXP supports such a message). The receipt of the message is sufficient information. The identification of the message being sent depends on the encoding. FIX TagValue does not support empty messages as the StandardHeader and StandardTrailer are required elements in every message.
Furthermore, this supports tools that incrementally create an Orchestra XML file and require it to be valid per the schema (XSD) at each step.
<xs:complexType name="messageType">
<xs:sequence>
<xs:element name="structure" minOccurs="0">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="componentRef" type="fixr:componentRefType"/>
<xs:element name="groupRef" type="fixr:groupRefType"/>
<xs:element name="fieldRef" type="fixr:fieldRefType"/>
</xs:choice>
<xs:attribute name="which" type="fixr:memberType"/>
</xs:complexType>
</xs:element>
...
</xs:sequence>
...
</xs:complexType><xs:complexType name="groupType">
...
<xs:sequence>
<xs:element name="numInGroup" type="fixr:fieldRefType" minOccurs="0"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="componentRef" type="fixr:componentRefType"/>
<xs:element name="groupRef" type="fixr:groupRefType"/>
<xs:element name="fieldRef" type="fixr:fieldRefType"/>
</xs:choice>
<xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
</xs:sequence>
...
</xs:complexType><xs:complexType name="componentType">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="componentRef" type="fixr:componentRefType"/>
<xs:element name="groupRef" type="fixr:groupRefType"/>
<xs:element name="fieldRef" type="fixr:fieldRefType"/>
</xs:choice>
<xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
</xs:sequence>
...
</xs:complexType>Metadata
Metadata
Assignees
Labels
Type
Projects
Status