|
| 1 | +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| 2 | +<sbe:messageSchema xmlns:sbe="http://fixprotocol.io/2017/sbe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xi="http://www.w3.org/2001/XInclude" package="examples" id="91" version="0" byteOrder="littleEndian" xsi:schemaLocation="http://fixprotocol.io/2017/sbe ../xsd/sbe.xsd"> |
| 3 | + <!-- include commonly used types --> |
| 4 | + <xi:include href="types-include.xml" parse="xml"/> |
| 5 | + <types> |
| 6 | + <type name="date" primitiveType="uint16"/> |
| 7 | + <type name="enumEncoding" primitiveType="char"/> |
| 8 | + <type name="idString" length="8" primitiveType="char"/> |
| 9 | + <type name="intEnumEncoding" primitiveType="uint8"/> |
| 10 | + <type name="currency" length="3" primitiveType="char" description="ISO 4217"/> |
| 11 | + <composite name="DATA"> |
| 12 | + <type name="length" primitiveType="uint16"/> |
| 13 | + <type name="varData" length="0" primitiveType="uint8"/> |
| 14 | + </composite> |
| 15 | + <composite name="groupSizeEncoding"> |
| 16 | + <type name="blockLength" primitiveType="uint16"/> |
| 17 | + <type name="numInGroup" primitiveType="uint16"/> |
| 18 | + <type name="numGroups" primitiveType="uint16"/> |
| 19 | + <type name="numVarDataFields" primitiveType="uint16"/> |
| 20 | + </composite> |
| 21 | + <composite name="messageHeader"> |
| 22 | + <type name="blockLength" primitiveType="uint16"/> |
| 23 | + <type name="templateId" primitiveType="uint16"/> |
| 24 | + <type name="schemaId" primitiveType="uint16"/> |
| 25 | + <type name="version" primitiveType="uint16"/> |
| 26 | + <type name="numGroups" primitiveType="uint16"/> |
| 27 | + <type name="numVarDataFields" primitiveType="uint16"/> |
| 28 | + </composite> |
| 29 | + <composite name="decimalEncoding"> |
| 30 | + <type name="mantissa" presence="optional" primitiveType="int64"/> |
| 31 | + <type name="exponent" presence="constant" primitiveType="int8">-3</type> |
| 32 | + </composite> |
| 33 | + <composite name="qtyEncoding"> |
| 34 | + <type name="mantissa" primitiveType="int32"/> |
| 35 | + <type name="exponent" presence="constant" primitiveType="int8">0</type> |
| 36 | + </composite> |
| 37 | + <composite name="timestampEncoding" description="UTC timestamp with nanosecond precision"> |
| 38 | + <type name="time" primitiveType="uint64"/> |
| 39 | + <type name="unit" primitiveType="uint8" presence="constant" valueRef="TimeUnit.nanosecond"/> |
| 40 | + </composite> |
| 41 | + <enum name="TimeUnit" encodingType="uint8"> |
| 42 | + <validValue name="second">0</validValue> |
| 43 | + <validValue name="millisecond">3</validValue> |
| 44 | + <validValue name="microsecond">6</validValue> |
| 45 | + <validValue name="nanosecond">9</validValue> |
| 46 | + </enum> |
| 47 | + <enum name="businessRejectReasonEnum" encodingType="intEnumEncoding"> |
| 48 | + <validValue name="Other">0</validValue> |
| 49 | + <validValue name="UnknownID">1</validValue> |
| 50 | + <validValue name="UnknownSecurity">2</validValue> |
| 51 | + <validValue name="ApplicationNotAvailable">4</validValue> |
| 52 | + <validValue name="NotAuthorized">6</validValue> |
| 53 | + </enum> |
| 54 | + <enum name="execTypeEnum" encodingType="enumEncoding"> |
| 55 | + <validValue name="New">0</validValue> |
| 56 | + <validValue name="DoneForDay">3</validValue> |
| 57 | + <validValue name="Canceled">4</validValue> |
| 58 | + <validValue name="Replaced">5</validValue> |
| 59 | + <validValue name="PendingCancel">6</validValue> |
| 60 | + <validValue name="Rejected">8</validValue> |
| 61 | + <validValue name="PendingNew">A</validValue> |
| 62 | + <validValue name="Trade">F</validValue> |
| 63 | + </enum> |
| 64 | + <enum name="ordStatusEnum" encodingType="enumEncoding"> |
| 65 | + <validValue name="New">0</validValue> |
| 66 | + <validValue name="PartialFilled">1</validValue> |
| 67 | + <validValue name="Filled">2</validValue> |
| 68 | + <validValue name="DoneForDay">3</validValue> |
| 69 | + <validValue name="Canceled">4</validValue> |
| 70 | + <validValue name="PendingCancel">6</validValue> |
| 71 | + <validValue name="Rejected">8</validValue> |
| 72 | + <validValue name="PendingNew">A</validValue> |
| 73 | + <validValue name="PendingReplace">E</validValue> |
| 74 | + </enum> |
| 75 | + <enum name="ordTypeEnum" encodingType="enumEncoding"> |
| 76 | + <validValue name="Market">1</validValue> |
| 77 | + <validValue name="Limit">2</validValue> |
| 78 | + <validValue name="Stop">3</validValue> |
| 79 | + <validValue name="StopLimit">4</validValue> |
| 80 | + </enum> |
| 81 | + <enum name="sideEnum" encodingType="enumEncoding"> |
| 82 | + <validValue name="Buy">1</validValue> |
| 83 | + <validValue name="Sell">2</validValue> |
| 84 | + </enum> |
| 85 | + </types> |
| 86 | + <messages> |
| 87 | + <sbe:message name="ExecutionReport" id="98" blockLength="42" semanticType="8"> |
| 88 | + <field name="OrderID" id="37" type="idString" offset="0" semanticType="String"/> |
| 89 | + <field name="ExecID" id="17" type="idString" offset="8" semanticType="String"/> |
| 90 | + <field name="ExecType" id="150" type="execTypeEnum" offset="16" semanticType="char"/> |
| 91 | + <field name="OrdStatus" id="39" type="ordStatusEnum" offset="17" semanticType="char"/> |
| 92 | + <field name="Symbol" id="55" type="idString" offset="18" semanticType="String"/> |
| 93 | + <field name="MaturityMonthYear" id="200" type="MONTH_YEAR" offset="26" semanticType="MonthYear"/> |
| 94 | + <field name="Side" id="54" type="sideEnum" offset="31" semanticType="char"/> |
| 95 | + <field name="LeavesQty" id="151" type="qtyEncoding" offset="32" semanticType="Qty"/> |
| 96 | + <field name="CumQty" id="14" type="qtyEncoding" offset="36" semanticType="Qty"/> |
| 97 | + <field name="TradeDate" id="75" type="date" offset="40" semanticType="LocalMktDate"/> |
| 98 | + <group name="FillsGrp" id="2112" blockLength="12" dimensionType="groupSizeEncoding"> |
| 99 | + <field name="FillPx" id="1364" type="decimalEncoding" offset="0" semanticType="Price"/> |
| 100 | + <field name="FillQty" id="1365" type="qtyEncoding" offset="8" semanticType="Qty"/> |
| 101 | + </group> |
| 102 | + </sbe:message> |
| 103 | + <sbe:message name="NewOrderSingle" id="99" blockLength="54" semanticType="D"> |
| 104 | + <field name="ClOrdId" id="11" type="idString" offset="0" semanticType="String"/> |
| 105 | + <field name="Account" id="1" type="idString" offset="8" semanticType="String"/> |
| 106 | + <field name="Symbol" id="55" type="idString" offset="16" semanticType="String"/> |
| 107 | + <field name="Side" id="54" type="sideEnum" offset="24" semanticType="char"/> |
| 108 | + <field name="TransactTime" id="60" type="timestampEncoding" offset="25" semanticType="UTCTimestamp"/> |
| 109 | + <field name="OrderQty" id="38" type="qtyEncoding" offset="33" semanticType="Qty"/> |
| 110 | + <field name="OrdType" id="40" type="ordTypeEnum" offset="37" semanticType="char"/> |
| 111 | + <field name="Price" id="44" type="decimalEncoding" offset="38" semanticType="Price" presence="optional"/> |
| 112 | + <field name="StopPx" id="99" type="decimalEncoding" offset="46" semanticType="Price" presence="optional"/> |
| 113 | + </sbe:message> |
| 114 | + </messages> |
| 115 | + <!-- include commonly used messages --> |
| 116 | + <xi:include href="messages-include.xml" parse="xml"/> |
| 117 | +</sbe:messageSchema> |
0 commit comments