Schema Name: fixml-components-base-5-0-SP2.xsd
Target Namespace: http://www.fixprotocol.org/FIXML-5-0-SP2
Collapse XSD Schema Code:

<!--
	- - - - - - - - - - - - - - - - - - - - - - - - - -
    Generated:2009-04-19T13:43:43.089-05:00
    Revision: FIXML  Schema Version  FIX.5.0SP2
    Copyright(c) FIX Protocol Limited.  All rights reserved.
    Comments and errors should be posted on the FIX protocol web-site
    http://www.fixprotocol.org
	- - - - - - - - - - - - - - - - - - - - - - - - - -
--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns="http://www.fixprotocol.org/FIXML-5-0-SP2"
           xmlns:fm="http://www.fixprotocol.org/FIXML-5-0-SP2/METADATA"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.fixprotocol.org/FIXML-5-0-SP2/METADATA fixml-metadata-5-0-SP2.xsd"
           targetNamespace="http://www.fixprotocol.org/FIXML-5-0-SP2"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">
   <xs:include schemaLocation="fixml-fields-impl-5-0-SP2.xsd"/>
	<xs:complexType name="Hop_t">
		<xs:attribute name="ID" type="HopCompID_t" use="required"/>
		<xs:attribute name="Ref" type="HopRefID_t" use="optional"/>
		<xs:attribute name="Snt" type="HopSendingTime_t" use="optional"/>
	</xs:complexType>	
	<!-- Base Header used by both the message and the batch headers -->
	<xs:group name="BaseHeaderElements">
		<xs:sequence>
			<xs:element name="Hop" type="Hop_t" minOccurs="0"
				maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:group>
	<xs:attributeGroup name="BaseHeaderAttributes">
		<xs:attribute name="SID" type="SenderCompID_t" use="optional"/>
		<xs:attribute name="TID" type="TargetCompID_t" use="optional"/>
		<xs:attribute name="OBID" type="OnBehalfOfCompID_t" use="optional"/>
		<xs:attribute name="D2ID" type="DeliverToCompID_t" use="optional"/>
		<xs:attribute name="SSub" type="SenderSubID_t" use="optional"/>
		<xs:attribute name="SLoc" type="SenderLocationID_t" use="optional"/>
		<xs:attribute name="TSub" type="TargetSubID_t" use="optional"/>
		<xs:attribute name="TLoc" type="TargetLocationID_t" use="optional"/>
		<xs:attribute name="OBSub" type="OnBehalfOfSubID_t" use="optional"/>
		<xs:attribute name="OBLoc" type="OnBehalfOfLocationID_t" use="optional"/>
		<xs:attribute name="D2Sub" type="DeliverToSubID_t" use="optional"/>
		<xs:attribute name="D2Loc" type="DeliverToLocationID_t" use="optional"/>
		<xs:attribute name="PosDup" type="PossDupFlag_t" use="optional"/>
		<xs:attribute name="PosRsnd" type="PossResend_t" use="optional"/>
		<xs:attribute name="Snt" type="SendingTime_t" use="optional"/>
		<xs:attribute name="OrigSnt" type="OrigSendingTime_t" use="optional"/>
		<xs:attribute name="MsgEncd" type="MessageEncoding_t" use="optional"/>
	</xs:attributeGroup>
	<xs:complexType name="BaseHeader_t">
		<xs:sequence>
			<xs:group ref="BaseHeaderElements"/>
		</xs:sequence>
		<xs:attributeGroup ref="BaseHeaderAttributes"/>
	</xs:complexType>
	<!-- Message Header -->
	<xs:attributeGroup name="MessageHeaderAttributes">
		<xs:attribute name="SeqNum" type="MsgSeqNum_t" use="optional"/>
	</xs:attributeGroup>
	<xs:complexType name="MessageHeader_t">
		<xs:complexContent>
			<xs:extension base="BaseHeader_t">
				<xs:attributeGroup ref="MessageHeaderAttributes"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!-- BatchHeader -->
	<xs:group name="BatchHeaderElements">
		<xs:sequence/>
	</xs:group>
	<xs:attributeGroup name="BatchHeaderAttributes"/>
	<xs:complexType name="BatchHeader_t">
		<xs:complexContent>
			<xs:extension base="BaseHeader_t">
				<xs:sequence>
					<xs:group ref="BatchHeaderElements"/>
				</xs:sequence>
				<xs:attributeGroup ref="BatchHeaderAttributes"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!-- Message -->
	<xs:complexType name="Abstract_message_t">
		<xs:sequence>
			<xs:element name="Hdr" type="MessageHeader_t" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="Message" type="Abstract_message_t" abstract="true"/>
	<!-- Batch -->
	<xs:group name="BatchElements">
		<xs:sequence>
			<xs:element name="Hdr" type="BatchHeader_t" minOccurs="0"/>
			<xs:element ref="Message" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:group>
	<xs:attributeGroup name="BatchAttributes">
		<xs:attribute name="ID" type="xs:ID" use="optional"/>
		<xs:attribute name="TotMsg" type="xs:integer" use="optional"/>
	</xs:attributeGroup>
	<xs:complexType name="Batch_t">
		<xs:sequence>
			<xs:group ref="BatchElements"/>
		</xs:sequence>
		<xs:attributeGroup ref="BatchAttributes"/>
	</xs:complexType>
	<!-- FIXML Root Element Declaration -->
	<xs:attributeGroup name="FixmlAttributes">
		<xs:attribute name="v" type="xs:string" fixed="5.0"/>
		<xs:attribute name="r" type="xs:string" use="optional"/>
		<xs:attribute name="xv" type="xs:string" use="optional"/>
		<xs:attribute name="xr" type="xs:string" use="optional"/>
		<xs:attribute name="ev" type="xs:string" use="optional"/>
		<xs:attribute name="s" type="xs:string" fixed="20080115"/>
	</xs:attributeGroup>
	<xs:element name="FIXML">
		<xs:complexType>
			<xs:choice>
				<xs:element ref="Message"/>
				<xs:element name="Batch" type="Batch_t" maxOccurs="unbounded"/>
			</xs:choice>
			<xs:attributeGroup ref="FixmlAttributes"/>
		</xs:complexType>
	</xs:element>	
<xs:group name="CommissionDataElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="CommissionDataAttributes">
      <xs:attribute name="Comm" type="Commission_t" use="optional"/>
      <xs:attribute name="CommTyp" type="CommType_t" use="optional"/>
      <xs:attribute name="Ccy" type="CommCurrency_t" use="optional"/>
      <xs:attribute name="FundRenewWaiv" type="FundRenewWaiv_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="CommissionData_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="CommissionData" ComponentType="Block" Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="CommissionDataElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="CommissionDataAttributes"/>
   </xs:complexType>
   <xs:group name="DiscretionInstructionsElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="DiscretionInstructionsAttributes">
      <xs:attribute name="DsctnInst" type="DiscretionInst_t" use="optional"/>
      <xs:attribute name="OfstValu" type="DiscretionOffsetValue_t" use="optional"/>
      <xs:attribute name="MoveTyp" type="DiscretionMoveType_t" use="optional"/>
      <xs:attribute name="OfstTyp" type="DiscretionOffsetType_t" use="optional"/>
      <xs:attribute name="LimitTyp" type="DiscretionLimitType_t" use="optional"/>
      <xs:attribute name="RndDir" type="DiscretionRoundDirection_t" use="optional"/>
      <xs:attribute name="Scope" type="DiscretionScope_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="DiscretionInstructions_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="DiscretionInstructions" ComponentType="Block"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="DiscretionInstructionsElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="DiscretionInstructionsAttributes"/>
   </xs:complexType>
   <xs:group name="FinancingDetailsElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="FinancingDetailsAttributes">
      <xs:attribute name="AgmtDesc" type="AgreementDesc_t" use="optional"/>
      <xs:attribute name="AgmtID" type="AgreementID_t" use="optional"/>
      <xs:attribute name="AgmtDt" type="AgreementDate_t" use="optional"/>
      <xs:attribute name="AgmtCcy" type="AgreementCurrency_t" use="optional"/>
      <xs:attribute name="TrmTyp" type="TerminationType_t" use="optional"/>
      <xs:attribute name="StartDt" type="StartDate_t" use="optional"/>
      <xs:attribute name="EndDt" type="EndDate_t" use="optional"/>
      <xs:attribute name="DlvryTyp" type="DeliveryType_t" use="optional"/>
      <xs:attribute name="MgnRatio" type="MarginRatio_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="FinancingDetails_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="FinancingDetails" ComponentType="Block" Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="FinancingDetailsElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="FinancingDetailsAttributes"/>
   </xs:complexType>
   <xs:group name="InstrumentElements">
      <xs:sequence>
         <xs:element name="AID" type="SecAltIDGrp_Block_t" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="SecXML" type="SecurityXML_Block_t" minOccurs="0" maxOccurs="1"/>
         <xs:element name="Evnt" type="EvntGrp_Block_t" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Pty" type="InstrumentParties_Block_t" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="CmplxEvnt" type="ComplexEvents_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="InstrumentAttributes">
      <xs:attribute name="Sym" type="Symbol_t" use="optional"/>
      <xs:attribute name="Sfx" type="SymbolSfx_t" use="optional"/>
      <xs:attribute name="ID" type="SecurityID_t" use="optional"/>
      <xs:attribute name="Src" type="SecurityIDSource_t" use="optional"/>
      <xs:attribute name="Prod" type="Product_t" use="optional"/>
      <xs:attribute name="ProdCmplx" type="ProductComplex_t" use="optional"/>
      <xs:attribute name="SecGrp" type="SecurityGroup_t" use="optional"/>
      <xs:attribute name="CFI" type="CFICode_t" use="optional"/>
      <xs:attribute name="SecTyp" type="SecurityType_t" use="optional"/>
      <xs:attribute name="SubTyp" type="SecuritySubType_t" use="optional"/>
      <xs:attribute name="MMY" type="MaturityMonthYear_t" use="optional"/>
      <xs:attribute name="MatDt" type="MaturityDate_t" use="optional"/>
      <xs:attribute name="MatTm" type="MaturityTime_t" use="optional"/>
      <xs:attribute name="SettlOnOpenFlag" type="SettleOnOpenFlag_t" use="optional"/>
      <xs:attribute name="AsgnMeth" type="InstrmtAssignmentMethod_t" use="optional"/>
      <xs:attribute name="Status" type="SecurityStatus_t" use="optional"/>
      <xs:attribute name="CpnPmt" type="CouponPaymentDate_t" use="optional"/>
      <xs:attribute name="RestrctTyp" type="RestructuringType_t" use="optional"/>
      <xs:attribute name="Snrty" type="Seniority_t" use="optional"/>
      <xs:attribute name="NotlPctOut" type="NotionalPercentageOutstanding_t" use="optional"/>
      <xs:attribute name="OrigNotlPctOut" type="OriginalNotionalPercentageOutstanding_t"
                    use="optional"/>
      <xs:attribute name="AttchPnt" type="AttachmentPoint_t" use="optional"/>
      <xs:attribute name="DetchPnt" type="DetachmentPoint_t" use="optional"/>
      <xs:attribute name="Issued" type="IssueDate_t" use="optional"/>
      <xs:attribute name="RepoCollSecTyp" type="RepoCollateralSecurityType_t" use="optional"/>
      <xs:attribute name="RepoTrm" type="RepurchaseTerm_t" use="optional"/>
      <xs:attribute name="RepoRt" type="RepurchaseRate_t" use="optional"/>
      <xs:attribute name="Fctr" type="Factor_t" use="optional"/>
      <xs:attribute name="CrdRtg" type="CreditRating_t" use="optional"/>
      <xs:attribute name="Rgstry" type="InstrRegistry_t" use="optional"/>
      <xs:attribute name="IssuCtry" type="CountryOfIssue_t" use="optional"/>
      <xs:attribute name="StPrv" type="StateOrProvinceOfIssue_t" use="optional"/>
      <xs:attribute name="Lcl" type="LocaleOfIssue_t" use="optional"/>
      <xs:attribute name="Redeem" type="RedemptionDate_t" use="optional"/>
      <xs:attribute name="StrkPx" type="StrikePrice_t" use="optional"/>
      <xs:attribute name="StrkCcy" type="StrikeCurrency_t" use="optional"/>
      <xs:attribute name="StrkMult" type="StrikeMultiplier_t" use="optional"/>
      <xs:attribute name="StrkValu" type="StrikeValue_t" use="optional"/>
      <xs:attribute name="StrkPxDtrmnMeth" type="StrikePriceDeterminationMethod_t" use="optional"/>
      <xs:attribute name="StrkPxBndryMeth" type="StrikePriceBoundaryMethod_t" use="optional"/>
      <xs:attribute name="StrkPxBndryPrcsn" type="StrikePriceBoundaryPrecision_t" use="optional"/>
      <xs:attribute name="PxDtrmnMeth" type="UnderlyingPriceDeterminationMethod_t" use="optional"/>
      <xs:attribute name="OptAt" type="OptAttribute_t" use="optional"/>
      <xs:attribute name="Mult" type="ContractMultiplier_t" use="optional"/>
      <xs:attribute name="MultTyp" type="ContractMultiplierUnit_t" use="optional"/>
      <xs:attribute name="FlowSchedTyp" type="FlowScheduleType_t" use="optional"/>
      <xs:attribute name="MinPxIncr" type="MinPriceIncrement_t" use="optional"/>
      <xs:attribute name="MinPxIncrAmt" type="MinPriceIncrementAmount_t" use="optional"/>
      <xs:attribute name="UOM" type="UnitOfMeasure_t" use="optional"/>
      <xs:attribute name="UOMQty" type="UnitOfMeasureQty_t" use="optional"/>
      <xs:attribute name="PxUOM" type="PriceUnitOfMeasure_t" use="optional"/>
      <xs:attribute name="PxUOMQty" type="PriceUnitOfMeasureQty_t" use="optional"/>
      <xs:attribute name="SettlMeth" type="SettlMethod_t" use="optional"/>
      <xs:attribute name="ExerStyle" type="ExerciseStyle_t" use="optional"/>
      <xs:attribute name="OptPayoutTyp" type="OptPayoutType_t" use="optional"/>
      <xs:attribute name="OptPayAmt" type="OptPayoutAmount_t" use="optional"/>
      <xs:attribute name="PxQteMeth" type="PriceQuoteMethod_t" use="optional"/>
      <xs:attribute name="ValMeth" type="ValuationMethod_t" use="optional"/>
      <xs:attribute name="ListMeth" type="ListMethod_t" use="optional"/>
      <xs:attribute name="CapPx" type="CapPrice_t" use="optional"/>
      <xs:attribute name="FlrPx" type="FloorPrice_t" use="optional"/>
      <xs:attribute name="PutCall" type="PutOrCall_t" use="optional"/>
      <xs:attribute name="FlexInd" type="FlexibleIndicator_t" use="optional"/>
      <xs:attribute name="FlexProdElig" type="FlexProductEligibilityIndicator_t" use="optional"/>
      <xs:attribute name="TmUnit" type="TimeUnit_t" use="optional"/>
      <xs:attribute name="CpnRt" type="CouponRate_t" use="optional"/>
      <xs:attribute name="Exch" type="SecurityExchange_t" use="optional"/>
      <xs:attribute name="PosLmt" type="PositionLimit_t" use="optional"/>
      <xs:attribute name="NTPosLmt" type="NTPositionLimit_t" use="optional"/>
      <xs:attribute name="Issr" type="Issuer_t" use="optional"/>
      <xs:attribute name="EncIssrLen" type="EncodedIssuerLen_t" use="optional"/>
      <xs:attribute name="EncIssr" type="EncodedIssuer_t" use="optional"/>
      <xs:attribute name="Desc" type="SecurityDesc_t" use="optional"/>
      <xs:attribute name="EncSecDescLen" type="EncodedSecurityDescLen_t" use="optional"/>
      <xs:attribute name="EncSecDesc" type="EncodedSecurityDesc_t" use="optional"/>
      <xs:attribute name="Pool" type="Pool_t" use="optional"/>
      <xs:attribute name="CSetMo" type="ContractSettlMonth_t" use="optional"/>
      <xs:attribute name="CPPgm" type="CPProgram_t" use="optional"/>
      <xs:attribute name="CPRegT" type="CPRegType_t" use="optional"/>
      <xs:attribute name="Dated" type="DatedDate_t" use="optional"/>
      <xs:attribute name="IntAcrl" type="InterestAccrualDate_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="Instrument_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="Instrument" ComponentType="Block" Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="InstrumentElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="InstrumentAttributes"/>
   </xs:complexType>
   <xs:group name="InstrumentExtensionElements">
      <xs:sequence>
         <xs:element name="Attrb" type="AttrbGrp_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="InstrumentExtensionAttributes">
      <xs:attribute name="DlvryForm" type="DeliveryForm_t" use="optional"/>
      <xs:attribute name="PctAtRisk" type="PctAtRisk_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="InstrumentExtension_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="InstrumentExtension" ComponentType="Block"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="InstrumentExtensionElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="InstrumentExtensionAttributes"/>
   </xs:complexType>
   <xs:group name="InstrumentLegElements">
      <xs:sequence>
         <xs:element name="LegAID" type="LegSecAltIDGrp_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="InstrumentLegAttributes">
      <xs:attribute name="Sym" type="LegSymbol_t" use="optional"/>
      <xs:attribute name="Sfx" type="LegSymbolSfx_t" use="optional"/>
      <xs:attribute name="ID" type="LegSecurityID_t" use="optional"/>
      <xs:attribute name="Src" type="LegSecurityIDSource_t" use="optional"/>
      <xs:attribute name="Prod" type="LegProduct_t" use="optional"/>
      <xs:attribute name="CFI" type="LegCFICode_t" use="optional"/>
      <xs:attribute name="SecTyp" type="LegSecurityType_t" use="optional"/>
      <xs:attribute name="SecSubTyp" type="LegSecuritySubType_t" use="optional"/>
      <xs:attribute name="MMY" type="LegMaturityMonthYear_t" use="optional"/>
      <xs:attribute name="Mat" type="LegMaturityDate_t" use="optional"/>
      <xs:attribute name="MatTm" type="LegMaturityTime_t" use="optional"/>
      <xs:attribute name="CpnPmt" type="LegCouponPaymentDate_t" use="optional"/>
      <xs:attribute name="Issued" type="LegIssueDate_t" use="optional"/>
      <xs:attribute name="RepoCollSecTyp" type="LegRepoCollateralSecurityType_t" use="optional"/>
      <xs:attribute name="RepoTrm" type="LegRepurchaseTerm_t" use="optional"/>
      <xs:attribute name="RepoRt" type="LegRepurchaseRate_t" use="optional"/>
      <xs:attribute name="Fctr" type="LegFactor_t" use="optional"/>
      <xs:attribute name="CrdRtg" type="LegCreditRating_t" use="optional"/>
      <xs:attribute name="Rgstry" type="LegInstrRegistry_t" use="optional"/>
      <xs:attribute name="Ctry" type="LegCountryOfIssue_t" use="optional"/>
      <xs:attribute name="StOrProvnc" type="LegStateOrProvinceOfIssue_t" use="optional"/>
      <xs:attribute name="Lcl" type="LegLocaleOfIssue_t" use="optional"/>
      <xs:attribute name="Redeem" type="LegRedemptionDate_t" use="optional"/>
      <xs:attribute name="Strk" type="LegStrikePrice_t" use="optional"/>
      <xs:attribute name="StrkCcy" type="LegStrikeCurrency_t" use="optional"/>
      <xs:attribute name="OptA" type="LegOptAttribute_t" use="optional"/>
      <xs:attribute name="Cmult" type="LegContractMultiplier_t" use="optional"/>
      <xs:attribute name="MultTyp" type="LegContractMultiplierUnit_t" use="optional"/>
      <xs:attribute name="FlowSchedTyp" type="LegFlowScheduleType_t" use="optional"/>
      <xs:attribute name="UOM" type="LegUnitOfMeasure_t" use="optional"/>
      <xs:attribute name="UOMQty" type="LegUnitOfMeasureQty_t" use="optional"/>
      <xs:attribute name="PxUOM" type="LegPriceUnitOfMeasure_t" use="optional"/>
      <xs:attribute name="PxUOMQty" type="LegPriceUnitOfMeasureQty_t" use="optional"/>
      <xs:attribute name="TmUnit" type="LegTimeUnit_t" use="optional"/>
      <xs:attribute name="ExerStyle" type="LegExerciseStyle_t" use="optional"/>
      <xs:attribute name="CpnRt" type="LegCouponRate_t" use="optional"/>
      <xs:attribute name="Exch" type="LegSecurityExchange_t" use="optional"/>
      <xs:attribute name="Issr" type="LegIssuer_t" use="optional"/>
      <xs:attribute name="EncLegIssrLen" type="EncodedLegIssuerLen_t" use="optional"/>
      <xs:attribute name="EncLegIssr" type="EncodedLegIssuer_t" use="optional"/>
      <xs:attribute name="Desc" type="LegSecurityDesc_t" use="optional"/>
      <xs:attribute name="EncLegSecDescLen" type="EncodedLegSecurityDescLen_t" use="optional"/>
      <xs:attribute name="EncLegSecDesc" type="EncodedLegSecurityDesc_t" use="optional"/>
      <xs:attribute name="RatioQty" type="LegRatioQty_t" use="optional"/>
      <xs:attribute name="Side" type="LegSide_t" use="optional"/>
      <xs:attribute name="Ccy" type="LegCurrency_t" use="optional"/>
      <xs:attribute name="Pool" type="LegPool_t" use="optional"/>
      <xs:attribute name="Dated" type="LegDatedDate_t" use="optional"/>
      <xs:attribute name="CSetMo" type="LegContractSettlMonth_t" use="optional"/>
      <xs:attribute name="IntAcrl" type="LegInterestAccrualDate_t" use="optional"/>
      <xs:attribute name="PutCall" type="LegPutOrCall_t" use="optional"/>
      <xs:attribute name="LegOptionRatio" type="LegOptionRatio_t" use="optional"/>
      <xs:attribute name="Px" type="LegPrice_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="InstrumentLeg_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="InstrumentLeg" ComponentType="Block" Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="InstrumentLegElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="InstrumentLegAttributes"/>
   </xs:complexType>
   <xs:group name="LegBenchmarkCurveDataElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="LegBenchmarkCurveDataAttributes">
      <xs:attribute name="Ccy" type="LegBenchmarkCurveCurrency_t" use="optional"/>
      <xs:attribute name="Name" type="LegBenchmarkCurveName_t" use="optional"/>
      <xs:attribute name="Point" type="LegBenchmarkCurvePoint_t" use="optional"/>
      <xs:attribute name="Px" type="LegBenchmarkPrice_t" use="optional"/>
      <xs:attribute name="PxTyp" type="LegBenchmarkPriceType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="LegBenchmarkCurveData_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="LegBenchmarkCurveData" ComponentType="Block"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="LegBenchmarkCurveDataElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="LegBenchmarkCurveDataAttributes"/>
   </xs:complexType>
   <xs:group name="LegStipulationsElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="LegStipulationsAttributes">
      <xs:attribute name="StipTyp" type="LegStipulationType_t" use="optional"/>
      <xs:attribute name="StipVal" type="LegStipulationValue_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="LegStipulations_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="LegStipulations" ComponentType="BlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="LegStipulationsElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="LegStipulationsAttributes"/>
   </xs:complexType>
   <xs:group name="NestedPartiesElements">
      <xs:sequence>
         <xs:element name="Sub" type="NstdPtysSubGrp_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="NestedPartiesAttributes">
      <xs:attribute name="ID" type="NestedPartyID_t" use="optional"/>
      <xs:attribute name="Src" type="NestedPartyIDSource_t" use="optional"/>
      <xs:attribute name="R" type="NestedPartyRole_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="NestedParties_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="NestedParties" ComponentType="BlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="NestedPartiesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="NestedPartiesAttributes"/>
   </xs:complexType>
   <xs:group name="OrderQtyDataElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="OrderQtyDataAttributes">
      <xs:attribute name="Qty" type="OrderQty_t" use="optional"/>
      <xs:attribute name="Cash" type="CashOrderQty_t" use="optional"/>
      <xs:attribute name="Pct" type="OrderPercent_t" use="optional"/>
      <xs:attribute name="RndDir" type="RoundingDirection_t" use="optional"/>
      <xs:attribute name="RndMod" type="RoundingModulus_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="OrderQtyData_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="OrderQtyData" ComponentType="Block" Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="OrderQtyDataElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="OrderQtyDataAttributes"/>
   </xs:complexType>
   <xs:group name="PartiesElements">
      <xs:sequence>
         <xs:element name="Sub" type="PtysSubGrp_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="PartiesAttributes">
      <xs:attribute name="ID" type="PartyID_t" use="optional"/>
      <xs:attribute name="Src" type="PartyIDSource_t" use="optional"/>
      <xs:attribute name="R" type="PartyRole_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="Parties_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="Parties" ComponentType="BlockRepeating" Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="PartiesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="PartiesAttributes"/>
   </xs:complexType>
   <xs:group name="PegInstructionsElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="PegInstructionsAttributes">
      <xs:attribute name="OfstVal" type="PegOffsetValue_t" use="optional"/>
      <xs:attribute name="PegPxTyp" type="PegPriceType_t" use="optional"/>
      <xs:attribute name="MoveTyp" type="PegMoveType_t" use="optional"/>
      <xs:attribute name="OfstTyp" type="PegOffsetType_t" use="optional"/>
      <xs:attribute name="LmtTyp" type="PegLimitType_t" use="optional"/>
      <xs:attribute name="RndDir" type="PegRoundDirection_t" use="optional"/>
      <xs:attribute name="Scope" type="PegScope_t" use="optional"/>
      <xs:attribute name="PegSecurityIDSource" type="PegSecurityIDSource_t" use="optional"/>
      <xs:attribute name="PegSecID" type="PegSecurityID_t" use="optional"/>
      <xs:attribute name="PgSymbl" type="PegSymbol_t" use="optional"/>
      <xs:attribute name="PegSecDesc" type="PegSecurityDesc_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="PegInstructions_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="PegInstructions" ComponentType="Block" Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="PegInstructionsElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="PegInstructionsAttributes"/>
   </xs:complexType>
   <xs:group name="PositionAmountDataElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="PositionAmountDataAttributes">
      <xs:attribute name="Typ" type="PosAmtType_t" use="optional"/>
      <xs:attribute name="Amt" type="PosAmt_t" use="optional"/>
      <xs:attribute name="Ccy" type="PositionCurrency_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="PositionAmountData_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="PositionAmountData" ComponentType="BlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="PositionAmountDataElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="PositionAmountDataAttributes"/>
   </xs:complexType>
   <xs:group name="PositionQtyElements">
      <xs:sequence>
         <xs:element name="Pty" type="NestedParties_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="PositionQtyAttributes">
      <xs:attribute name="Typ" type="PosType_t" use="optional"/>
      <xs:attribute name="Long" type="LongQty_t" use="optional"/>
      <xs:attribute name="Short" type="ShortQty_t" use="optional"/>
      <xs:attribute name="Stat" type="PosQtyStatus_t" use="optional"/>
      <xs:attribute name="QtyDt" type="QuantityDate_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="PositionQty_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="PositionQty" ComponentType="BlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="PositionQtyElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="PositionQtyAttributes"/>
   </xs:complexType>
   <xs:group name="SettlInstructionsDataElements">
      <xs:sequence>
         <xs:element name="DlvInst" type="DlvyInstGrp_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="SettlInstructionsDataAttributes">
      <xs:attribute name="DlvryTyp" type="SettlDeliveryType_t" use="optional"/>
      <xs:attribute name="StandInstDbTyp" type="StandInstDbType_t" use="optional"/>
      <xs:attribute name="StandInstDbName" type="StandInstDbName_t" use="optional"/>
      <xs:attribute name="StandInstDbID" type="StandInstDbID_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="SettlInstructionsData_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="SettlInstructionsData" ComponentType="Block"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="SettlInstructionsDataElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="SettlInstructionsDataAttributes"/>
   </xs:complexType>
   <xs:group name="SettlPartiesElements">
      <xs:sequence>
         <xs:element name="Sub" type="SettlPtysSubGrp_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="SettlPartiesAttributes">
      <xs:attribute name="ID" type="SettlPartyID_t" use="optional"/>
      <xs:attribute name="Src" type="SettlPartyIDSource_t" use="optional"/>
      <xs:attribute name="R" type="SettlPartyRole_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="SettlParties_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="SettlParties" ComponentType="BlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="SettlPartiesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="SettlPartiesAttributes"/>
   </xs:complexType>
   <xs:group name="SpreadOrBenchmarkCurveDataElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="SpreadOrBenchmarkCurveDataAttributes">
      <xs:attribute name="Spread" type="Spread_t" use="optional"/>
      <xs:attribute name="Ccy" type="BenchmarkCurveCurrency_t" use="optional"/>
      <xs:attribute name="Name" type="BenchmarkCurveName_t" use="optional"/>
      <xs:attribute name="Point" type="BenchmarkCurvePoint_t" use="optional"/>
      <xs:attribute name="Px" type="BenchmarkPrice_t" use="optional"/>
      <xs:attribute name="PxTyp" type="BenchmarkPriceType_t" use="optional"/>
      <xs:attribute name="SecID" type="BenchmarkSecurityID_t" use="optional"/>
      <xs:attribute name="SecIDSrc" type="BenchmarkSecurityIDSource_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="SpreadOrBenchmarkCurveData_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="SpreadOrBenchmarkCurveData" ComponentType="Block"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="SpreadOrBenchmarkCurveDataElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="SpreadOrBenchmarkCurveDataAttributes"/>
   </xs:complexType>
   <xs:group name="StipulationsElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="StipulationsAttributes">
      <xs:attribute name="Typ" type="StipulationType_t" use="optional"/>
      <xs:attribute name="Val" type="StipulationValue_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="Stipulations_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="Stipulations" ComponentType="BlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="StipulationsElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="StipulationsAttributes"/>
   </xs:complexType>
   <xs:group name="TrdRegTimestampsElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="TrdRegTimestampsAttributes">
      <xs:attribute name="TS" type="TrdRegTimestamp_t" use="optional"/>
      <xs:attribute name="Typ" type="TrdRegTimestampType_t" use="optional"/>
      <xs:attribute name="Src" type="TrdRegTimestampOrigin_t" use="optional"/>
      <xs:attribute name="DskTyp" type="DeskType_t" use="optional"/>
      <xs:attribute name="DskTypSrc" type="DeskTypeSource_t" use="optional"/>
      <xs:attribute name="DskOrdHndlInst" type="DeskOrderHandlingInst_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="TrdRegTimestamps_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="TrdRegTimestamps" ComponentType="BlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="TrdRegTimestampsElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="TrdRegTimestampsAttributes"/>
   </xs:complexType>
   <xs:group name="UnderlyingInstrumentElements">
      <xs:sequence>
         <xs:element name="UndAID" type="UndSecAltIDGrp_Block_t" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Stip" type="UnderlyingStipulations_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
         <xs:element name="Pty" type="UndlyInstrumentParties_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="UnderlyingInstrumentAttributes">
      <xs:attribute name="Sym" type="UnderlyingSymbol_t" use="optional"/>
      <xs:attribute name="Sfx" type="UnderlyingSymbolSfx_t" use="optional"/>
      <xs:attribute name="ID" type="UnderlyingSecurityID_t" use="optional"/>
      <xs:attribute name="Src" type="UnderlyingSecurityIDSource_t" use="optional"/>
      <xs:attribute name="Prod" type="UnderlyingProduct_t" use="optional"/>
      <xs:attribute name="CFI" type="UnderlyingCFICode_t" use="optional"/>
      <xs:attribute name="SecTyp" type="UnderlyingSecurityType_t" use="optional"/>
      <xs:attribute name="SubTyp" type="UnderlyingSecuritySubType_t" use="optional"/>
      <xs:attribute name="MMY" type="UnderlyingMaturityMonthYear_t" use="optional"/>
      <xs:attribute name="Mat" type="UnderlyingMaturityDate_t" use="optional"/>
      <xs:attribute name="MatTm" type="UnderlyingMaturityTime_t" use="optional"/>
      <xs:attribute name="CpnPmt" type="UnderlyingCouponPaymentDate_t" use="optional"/>
      <xs:attribute name="RestrctTyp" type="UnderlyingRestructuringType_t" use="optional"/>
      <xs:attribute name="Snrty" type="UnderlyingSeniority_t" use="optional"/>
      <xs:attribute name="NotlPctOut" type="UnderlyingNotionalPercentageOutstanding_t"
                    use="optional"/>
      <xs:attribute name="OrigNotlPctOut" type="UnderlyingOriginalNotionalPercentageOutstanding_t"
                    use="optional"/>
      <xs:attribute name="AttchPnt" type="UnderlyingAttachmentPoint_t" use="optional"/>
      <xs:attribute name="DetchPnt" type="UnderlyingDetachmentPoint_t" use="optional"/>
      <xs:attribute name="Issued" type="UnderlyingIssueDate_t" use="optional"/>
      <xs:attribute name="RepoCollSecTyp" type="UnderlyingRepoCollateralSecurityType_t"
                    use="optional"/>
      <xs:attribute name="RepoTrm" type="UnderlyingRepurchaseTerm_t" use="optional"/>
      <xs:attribute name="RepoRt" type="UnderlyingRepurchaseRate_t" use="optional"/>
      <xs:attribute name="Fctr" type="UnderlyingFactor_t" use="optional"/>
      <xs:attribute name="CrdRtg" type="UnderlyingCreditRating_t" use="optional"/>
      <xs:attribute name="Rgstry" type="UnderlyingInstrRegistry_t" use="optional"/>
      <xs:attribute name="Ctry" type="UnderlyingCountryOfIssue_t" use="optional"/>
      <xs:attribute name="StOrProvnc" type="UnderlyingStateOrProvinceOfIssue_t" use="optional"/>
      <xs:attribute name="Lcl" type="UnderlyingLocaleOfIssue_t" use="optional"/>
      <xs:attribute name="Redeem" type="UnderlyingRedemptionDate_t" use="optional"/>
      <xs:attribute name="StrkPx" type="UnderlyingStrikePrice_t" use="optional"/>
      <xs:attribute name="StrkCcy" type="UnderlyingStrikeCurrency_t" use="optional"/>
      <xs:attribute name="OptA" type="UnderlyingOptAttribute_t" use="optional"/>
      <xs:attribute name="Mult" type="UnderlyingContractMultiplier_t" use="optional"/>
      <xs:attribute name="MultTyp" type="UnderlyingContractMultiplierUnit_t" use="optional"/>
      <xs:attribute name="FlowSchedTyp" type="UnderlyingFlowScheduleType_t" use="optional"/>
      <xs:attribute name="UOM" type="UnderlyingUnitOfMeasure_t" use="optional"/>
      <xs:attribute name="UOMQty" type="UnderlyingUnitOfMeasureQty_t" use="optional"/>
      <xs:attribute name="PxUOM" type="UnderlyingPriceUnitOfMeasure_t" use="optional"/>
      <xs:attribute name="PxUOMQty" type="UnderlyingPriceUnitOfMeasureQty_t" use="optional"/>
      <xs:attribute name="TmUnit" type="UnderlyingTimeUnit_t" use="optional"/>
      <xs:attribute name="ExerStyle" type="UnderlyingExerciseStyle_t" use="optional"/>
      <xs:attribute name="CpnRt" type="UnderlyingCouponRate_t" use="optional"/>
      <xs:attribute name="Exch" type="UnderlyingSecurityExchange_t" use="optional"/>
      <xs:attribute name="Issr" type="UnderlyingIssuer_t" use="optional"/>
      <xs:attribute name="EncUndIssrLen" type="EncodedUnderlyingIssuerLen_t" use="optional"/>
      <xs:attribute name="EncUndIssr" type="EncodedUnderlyingIssuer_t" use="optional"/>
      <xs:attribute name="Desc" type="UnderlyingSecurityDesc_t" use="optional"/>
      <xs:attribute name="EncUndSecDescLen" type="EncodedUnderlyingSecurityDescLen_t"
                    use="optional"/>
      <xs:attribute name="EncUndSecDesc" type="EncodedUnderlyingSecurityDesc_t" use="optional"/>
      <xs:attribute name="CPPgm" type="UnderlyingCPProgram_t" use="optional"/>
      <xs:attribute name="CPRegTyp" type="UnderlyingCPRegType_t" use="optional"/>
      <xs:attribute name="AllocPct" type="UnderlyingAllocationPercent_t" use="optional"/>
      <xs:attribute name="Ccy" type="UnderlyingCurrency_t" use="optional"/>
      <xs:attribute name="Qty" type="UnderlyingQty_t" use="optional"/>
      <xs:attribute name="SettlTyp" type="UnderlyingSettlementType_t" use="optional"/>
      <xs:attribute name="CashAmt" type="UnderlyingCashAmount_t" use="optional"/>
      <xs:attribute name="CashTyp" type="UnderlyingCashType_t" use="optional"/>
      <xs:attribute name="Px" type="UnderlyingPx_t" use="optional"/>
      <xs:attribute name="DirtPx" type="UnderlyingDirtyPrice_t" use="optional"/>
      <xs:attribute name="EndPx" type="UnderlyingEndPrice_t" use="optional"/>
      <xs:attribute name="StartVal" type="UnderlyingStartValue_t" use="optional"/>
      <xs:attribute name="CurVal" type="UnderlyingCurrentValue_t" use="optional"/>
      <xs:attribute name="EndVal" type="UnderlyingEndValue_t" use="optional"/>
      <xs:attribute name="AdjQty" type="UnderlyingAdjustedQuantity_t" use="optional"/>
      <xs:attribute name="FxRate" type="UnderlyingFXRate_t" use="optional"/>
      <xs:attribute name="FxRateCalc" type="UnderlyingFXRateCalc_t" use="optional"/>
      <xs:attribute name="CapValu" type="UnderlyingCapValue_t" use="optional"/>
      <xs:attribute name="SetMeth" type="UnderlyingSettlMethod_t" use="optional"/>
      <xs:attribute name="PutCall" type="UnderlyingPutOrCall_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="UnderlyingInstrument_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="UnderlyingInstrument" ComponentType="Block"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="UnderlyingInstrumentElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="UnderlyingInstrumentAttributes"/>
   </xs:complexType>
   <xs:group name="YieldDataElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="YieldDataAttributes">
      <xs:attribute name="Typ" type="YieldType_t" use="optional"/>
      <xs:attribute name="Yld" type="Yield_t" use="optional"/>
      <xs:attribute name="CalcDt" type="YieldCalcDate_t" use="optional"/>
      <xs:attribute name="RedDt" type="YieldRedemptionDate_t" use="optional"/>
      <xs:attribute name="RedPx" type="YieldRedemptionPrice_t" use="optional"/>
      <xs:attribute name="RedPxTyp" type="YieldRedemptionPriceType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="YieldData_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="YieldData" ComponentType="Block" Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="YieldDataElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="YieldDataAttributes"/>
   </xs:complexType>
   <xs:group name="UnderlyingStipulationsElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="UnderlyingStipulationsAttributes">
      <xs:attribute name="Typ" type="UnderlyingStipType_t" use="optional"/>
      <xs:attribute name="Val" type="UnderlyingStipValue_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="UnderlyingStipulations_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="UnderlyingStipulations" ComponentType="BlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="UnderlyingStipulationsElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="UnderlyingStipulationsAttributes"/>
   </xs:complexType>
   <xs:group name="NestedParties2Elements">
      <xs:sequence>
         <xs:element name="Sub" type="NstdPtys2SubGrp_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="NestedParties2Attributes">
      <xs:attribute name="ID" type="Nested2PartyID_t" use="optional"/>
      <xs:attribute name="Src" type="Nested2PartyIDSource_t" use="optional"/>
      <xs:attribute name="R" type="Nested2PartyRole_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="NestedParties2_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="NestedParties2" ComponentType="BlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="NestedParties2Elements"/>
      </xs:sequence>
      <xs:attributeGroup ref="NestedParties2Attributes"/>
   </xs:complexType>
   <xs:group name="NestedParties3Elements">
      <xs:sequence>
         <xs:element name="Sub" type="NstdPtys3SubGrp_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="NestedParties3Attributes">
      <xs:attribute name="ID" type="Nested3PartyID_t" use="optional"/>
      <xs:attribute name="Src" type="Nested3PartyIDSource_t" use="optional"/>
      <xs:attribute name="R" type="Nested3PartyRole_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="NestedParties3_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="NestedParties3" ComponentType="BlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="NestedParties3Elements"/>
      </xs:sequence>
      <xs:attributeGroup ref="NestedParties3Attributes"/>
   </xs:complexType>
   <xs:group name="ClrInstGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="ClrInstGrpAttributes">
      <xs:attribute name="ClrngInstrctn" type="ClearingInstruction_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="ClrInstGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="ClrInstGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="ClrInstGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="ClrInstGrpAttributes"/>
   </xs:complexType>
   <xs:group name="CompIDReqGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="CompIDReqGrpAttributes">
      <xs:attribute name="RefCompID" type="RefCompID_t" use="optional"/>
      <xs:attribute name="RefSubID" type="RefSubID_t" use="optional"/>
      <xs:attribute name="LctnID" type="LocationID_t" use="optional"/>
      <xs:attribute name="DeskID" type="DeskID_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="CompIDReqGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="CompIDReqGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="CompIDReqGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="CompIDReqGrpAttributes"/>
   </xs:complexType>
   <xs:group name="CompIDStatGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="CompIDStatGrpAttributes">
      <xs:attribute name="RefCompID" type="RefCompID_t" use="required"/>
      <xs:attribute name="RefSubID" type="RefSubID_t" use="optional"/>
      <xs:attribute name="LctnID" type="LocationID_t" use="optional"/>
      <xs:attribute name="DeskID" type="DeskID_t" use="optional"/>
      <xs:attribute name="StatValu" type="StatusValue_t" use="required"/>
      <xs:attribute name="StatText" type="StatusText_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="CompIDStatGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="CompIDStatGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="CompIDStatGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="CompIDStatGrpAttributes"/>
   </xs:complexType>
   <xs:group name="ContAmtGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="ContAmtGrpAttributes">
      <xs:attribute name="ContAmtTyp" type="ContAmtType_t" use="optional"/>
      <xs:attribute name="ContAmtValu" type="ContAmtValue_t" use="optional"/>
      <xs:attribute name="ContAmtCurr" type="ContAmtCurr_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="ContAmtGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="ContAmtGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="ContAmtGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="ContAmtGrpAttributes"/>
   </xs:complexType>
   <xs:group name="ContraGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="ContraGrpAttributes">
      <xs:attribute name="CntraBrkr" type="ContraBroker_t" use="optional"/>
      <xs:attribute name="CntraTrdr" type="ContraTrader_t" use="optional"/>
      <xs:attribute name="CntraTrdQty" type="ContraTradeQty_t" use="optional"/>
      <xs:attribute name="CntraTrdTm" type="ContraTradeTime_t" use="optional"/>
      <xs:attribute name="CntraLegRefID" type="ContraLegRefID_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="ContraGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="ContraGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="ContraGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="ContraGrpAttributes"/>
   </xs:complexType>
   <xs:group name="InstrmtGrpElements">
      <xs:sequence>
         <xs:element name="Instrmt" type="Instrument_Block_t" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="InstrmtGrpAttributes"/>
   <xs:complexType name="InstrmtGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="InstrmtGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="InstrmtGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="InstrmtGrpAttributes"/>
   </xs:complexType>
   <xs:group name="InstrmtLegExecGrpElements">
      <xs:sequence>
         <xs:element name="Leg" type="InstrumentLeg_Block_t" minOccurs="0" maxOccurs="1"/>
         <xs:element name="Stip" type="LegStipulations_Block_t" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="PreAll" type="LegPreAllocGrp_Block_t" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Pty" type="NestedParties3_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="InstrmtLegExecGrpAttributes">
      <xs:attribute name="Qty" type="LegQty_t" use="optional"/>
      <xs:attribute name="OrdQty" type="LegOrderQty_t" use="optional"/>
      <xs:attribute name="SwapTyp" type="LegSwapType_t" use="optional"/>
      <xs:attribute name="LegAllocID" type="LegAllocID_t" use="optional"/>
      <xs:attribute name="PosEfct" type="LegPositionEffect_t" use="optional"/>
      <xs:attribute name="Cover" type="LegCoveredOrUncovered_t" use="optional"/>
      <xs:attribute name="RefID" type="LegRefID_t" use="optional"/>
      <xs:attribute name="SettlTyp" type="LegSettlType_t" use="optional"/>
      <xs:attribute name="SettlDt" type="LegSettlDate_t" use="optional"/>
      <xs:attribute name="LastPx" type="LegLastPx_t" use="optional"/>
      <xs:attribute name="SettlCcy" type="LegSettlCurrency_t" use="optional"/>
      <xs:attribute name="LegLastFwdPnts" type="LegLastForwardPoints_t" use="optional"/>
      <xs:attribute name="LegCalcCcyLastQty" type="LegCalculatedCcyLastQty_t" use="optional"/>
      <xs:attribute name="LegGrossTrdAmt" type="LegGrossTradeAmt_t" use="optional"/>
      <xs:attribute name="LegVolatility" type="LegVolatility_t" use="optional"/>
      <xs:attribute name="LegDividendYield" type="LegDividendYield_t" use="optional"/>
      <xs:attribute name="LegCurrencyRatio" type="LegCurrencyRatio_t" use="optional"/>
      <xs:attribute name="LegExecInst" type="LegExecInst_t" use="optional"/>
      <xs:attribute name="LastQty" type="LegLastQty_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="InstrmtLegExecGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="InstrmtLegExecGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="InstrmtLegExecGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="InstrmtLegExecGrpAttributes"/>
   </xs:complexType>
   <xs:group name="InstrmtLegGrpElements">
      <xs:sequence>
         <xs:element name="Leg" type="InstrumentLeg_Block_t" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="InstrmtLegGrpAttributes"/>
   <xs:complexType name="InstrmtLegGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="InstrmtLegGrp"
                     ComponentType="OptimisedImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:complexContent>
         <xs:extension base="InstrumentLeg_Block_t"/>
      </xs:complexContent>
   </xs:complexType>
   <xs:group name="InstrmtLegIOIGrpElements">
      <xs:sequence>
         <xs:element name="Leg" type="InstrumentLeg_Block_t" minOccurs="0" maxOccurs="1"/>
         <xs:element name="Stip" type="LegStipulations_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="InstrmtLegIOIGrpAttributes">
      <xs:attribute name="IOIQty" type="LegIOIQty_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="InstrmtLegIOIGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="InstrmtLegIOIGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="InstrmtLegIOIGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="InstrmtLegIOIGrpAttributes"/>
   </xs:complexType>
   <xs:group name="InstrmtLegSecListGrpElements">
      <xs:sequence>
         <xs:element name="Leg" type="InstrumentLeg_Block_t" minOccurs="0" maxOccurs="1"/>
         <xs:element name="Stip" type="LegStipulations_Block_t" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="BnchmkCurve" type="LegBenchmarkCurveData_Block_t" minOccurs="0"
                     maxOccurs="1"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="InstrmtLegSecListGrpAttributes">
      <xs:attribute name="SwapTyp" type="LegSwapType_t" use="optional"/>
      <xs:attribute name="SettlTyp" type="LegSettlType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="InstrmtLegSecListGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="InstrmtLegSecListGrp"
                     ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="InstrmtLegSecListGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="InstrmtLegSecListGrpAttributes"/>
   </xs:complexType>
   <xs:group name="InstrmtMDReqGrpElements">
      <xs:sequence>
         <xs:element name="Instrmt" type="Instrument_Block_t" minOccurs="1" maxOccurs="1"/>
         <xs:element name="Undly" type="UndInstrmtGrp_Block_t" minOccurs="0"/>
         <xs:element name="Leg" type="InstrmtLegGrp_Block_t" minOccurs="0"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="InstrmtMDReqGrpAttributes">
      <xs:attribute name="Ccy" type="Currency_t" use="optional"/>
      <xs:attribute name="Typ" type="QuoteType_t" use="optional"/>
      <xs:attribute name="SettlTyp" type="SettlType_t" use="optional"/>
      <xs:attribute name="SettlDt" type="SettlDate_t" use="optional"/>
      <xs:attribute name="Sz" type="MDEntrySize_t" use="optional"/>
      <xs:attribute name="MDStrmID" type="MDStreamID_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="InstrmtMDReqGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="InstrmtMDReqGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="InstrmtMDReqGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="InstrmtMDReqGrpAttributes"/>
   </xs:complexType>
   <xs:group name="LegPreAllocGrpElements">
      <xs:sequence>
         <xs:element name="Pty" type="NestedParties2_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="LegPreAllocGrpAttributes">
      <xs:attribute name="AllocAcct" type="LegAllocAccount_t" use="optional"/>
      <xs:attribute name="IndAllocID" type="LegIndividualAllocID_t" use="optional"/>
      <xs:attribute name="AllocQty" type="LegAllocQty_t" use="optional"/>
      <xs:attribute name="AllocAcctIDSrc" type="LegAllocAcctIDSource_t" use="optional"/>
      <xs:attribute name="AllocSettlCcy" type="LegAllocSettlCurrency_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="LegPreAllocGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="LegPreAllocGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="LegPreAllocGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="LegPreAllocGrpAttributes"/>
   </xs:complexType>
   <xs:group name="LinesOfTextGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="LinesOfTextGrpAttributes">
      <xs:attribute name="Txt" type="Text_t" use="required"/>
      <xs:attribute name="EncTxtLen" type="EncodedTextLen_t" use="optional"/>
      <xs:attribute name="EncTxt" type="EncodedText_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="LinesOfTextGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="LinesOfTextGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="LinesOfTextGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="LinesOfTextGrpAttributes"/>
   </xs:complexType>
   <xs:group name="MiscFeesGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="MiscFeesGrpAttributes">
      <xs:attribute name="Amt" type="MiscFeeAmt_t" use="optional"/>
      <xs:attribute name="Curr" type="MiscFeeCurr_t" use="optional"/>
      <xs:attribute name="Typ" type="MiscFeeType_t" use="optional"/>
      <xs:attribute name="Basis" type="MiscFeeBasis_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="MiscFeesGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="MiscFeesGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="MiscFeesGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="MiscFeesGrpAttributes"/>
   </xs:complexType>
   <xs:group name="OrdAllocGrpElements">
      <xs:sequence>
         <xs:element name="Pty" type="NestedParties2_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="OrdAllocGrpAttributes">
      <xs:attribute name="ClOrdID" type="ClOrdID_t" use="optional"/>
      <xs:attribute name="OrdID" type="OrderID_t" use="optional"/>
      <xs:attribute name="OrdID2" type="SecondaryOrderID_t" use="optional"/>
      <xs:attribute name="ClOrdID2" type="SecondaryClOrdID_t" use="optional"/>
      <xs:attribute name="ListID" type="ListID_t" use="optional"/>
      <xs:attribute name="Qty" type="OrderQty_t" use="optional"/>
      <xs:attribute name="AvgPx" type="OrderAvgPx_t" use="optional"/>
      <xs:attribute name="BkngQty" type="OrderBookingQty_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="OrdAllocGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="OrdAllocGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="OrdAllocGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="OrdAllocGrpAttributes"/>
   </xs:complexType>
   <xs:group name="PreAllocGrpElements">
      <xs:sequence>
         <xs:element name="Pty" type="NestedParties_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="PreAllocGrpAttributes">
      <xs:attribute name="Acct" type="AllocAccount_t" use="optional"/>
      <xs:attribute name="ActIDSrc" type="AllocAcctIDSource_t" use="optional"/>
      <xs:attribute name="AllocSettlCcy" type="AllocSettlCurrency_t" use="optional"/>
      <xs:attribute name="IndAllocID" type="IndividualAllocID_t" use="optional"/>
      <xs:attribute name="Qty" type="AllocQty_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="PreAllocGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="PreAllocGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="PreAllocGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="PreAllocGrpAttributes"/>
   </xs:complexType>
   <xs:group name="PreAllocMlegGrpElements">
      <xs:sequence>
         <xs:element name="Pty" type="NestedParties3_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="PreAllocMlegGrpAttributes">
      <xs:attribute name="Acct" type="AllocAccount_t" use="optional"/>
      <xs:attribute name="ActIDSrc" type="AllocAcctIDSource_t" use="optional"/>
      <xs:attribute name="AllocSettlCcy" type="AllocSettlCurrency_t" use="optional"/>
      <xs:attribute name="IndAllocID" type="IndividualAllocID_t" use="optional"/>
      <xs:attribute name="Qty" type="AllocQty_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="PreAllocMlegGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="PreAllocMlegGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="PreAllocMlegGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="PreAllocMlegGrpAttributes"/>
   </xs:complexType>
   <xs:group name="RoutingGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="RoutingGrpAttributes">
      <xs:attribute name="RtgTyp" type="RoutingType_t" use="optional"/>
      <xs:attribute name="RtgID" type="RoutingID_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="RoutingGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="RoutingGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="RoutingGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="RoutingGrpAttributes"/>
   </xs:complexType>
   <xs:group name="TrdgSesGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="TrdgSesGrpAttributes">
      <xs:attribute name="SesID" type="TradingSessionID_t" use="optional"/>
      <xs:attribute name="SesSub" type="TradingSessionSubID_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="TrdgSesGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="TrdgSesGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="TrdgSesGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="TrdgSesGrpAttributes"/>
   </xs:complexType>
   <xs:group name="UndInstrmtGrpElements">
      <xs:sequence>
         <xs:element name="Undly" type="UnderlyingInstrument_Block_t" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="UndInstrmtGrpAttributes"/>
   <xs:complexType name="UndInstrmtGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="UndInstrmtGrp"
                     ComponentType="OptimisedImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:complexContent>
         <xs:extension base="UnderlyingInstrument_Block_t"/>
      </xs:complexContent>
   </xs:complexType>
   <xs:group name="EvntGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="EvntGrpAttributes">
      <xs:attribute name="EventTyp" type="EventType_t" use="optional"/>
      <xs:attribute name="Dt" type="EventDate_t" use="optional"/>
      <xs:attribute name="Tm" type="EventTime_t" use="optional"/>
      <xs:attribute name="Px" type="EventPx_t" use="optional"/>
      <xs:attribute name="Txt" type="EventText_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="EvntGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="EvntGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="EvntGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="EvntGrpAttributes"/>
   </xs:complexType>
   <xs:group name="SecAltIDGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="SecAltIDGrpAttributes">
      <xs:attribute name="AltID" type="SecurityAltID_t" use="optional"/>
      <xs:attribute name="AltIDSrc" type="SecurityAltIDSource_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="SecAltIDGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="SecAltIDGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="SecAltIDGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="SecAltIDGrpAttributes"/>
   </xs:complexType>
   <xs:group name="LegSecAltIDGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="LegSecAltIDGrpAttributes">
      <xs:attribute name="SecAltID" type="LegSecurityAltID_t" use="optional"/>
      <xs:attribute name="SecAltIDSrc" type="LegSecurityAltIDSource_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="LegSecAltIDGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="LegSecAltIDGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="LegSecAltIDGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="LegSecAltIDGrpAttributes"/>
   </xs:complexType>
   <xs:group name="UndSecAltIDGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="UndSecAltIDGrpAttributes">
      <xs:attribute name="AltID" type="UnderlyingSecurityAltID_t" use="optional"/>
      <xs:attribute name="AltIDSrc" type="UnderlyingSecurityAltIDSource_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="UndSecAltIDGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="UndSecAltIDGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="UndSecAltIDGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="UndSecAltIDGrpAttributes"/>
   </xs:complexType>
   <xs:group name="AttrbGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="AttrbGrpAttributes">
      <xs:attribute name="Typ" type="InstrAttribType_t" use="optional"/>
      <xs:attribute name="Val" type="InstrAttribValue_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="AttrbGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="AttrbGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="AttrbGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="AttrbGrpAttributes"/>
   </xs:complexType>
   <xs:group name="DlvyInstGrpElements">
      <xs:sequence>
         <xs:element name="Pty" type="SettlParties_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="DlvyInstGrpAttributes">
      <xs:attribute name="InstSrc" type="SettlInstSource_t" use="optional"/>
      <xs:attribute name="InstTyp" type="DlvyInstType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="DlvyInstGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="DlvyInstGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="DlvyInstGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="DlvyInstGrpAttributes"/>
   </xs:complexType>
   <xs:group name="SettlPtysSubGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="SettlPtysSubGrpAttributes">
      <xs:attribute name="ID" type="SettlPartySubID_t" use="optional"/>
      <xs:attribute name="Typ" type="SettlPartySubIDType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="SettlPtysSubGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="SettlPtysSubGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="SettlPtysSubGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="SettlPtysSubGrpAttributes"/>
   </xs:complexType>
   <xs:group name="PtysSubGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="PtysSubGrpAttributes">
      <xs:attribute name="ID" type="PartySubID_t" use="optional"/>
      <xs:attribute name="Typ" type="PartySubIDType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="PtysSubGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="PtysSubGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="PtysSubGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="PtysSubGrpAttributes"/>
   </xs:complexType>
   <xs:group name="NstdPtysSubGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="NstdPtysSubGrpAttributes">
      <xs:attribute name="ID" type="NestedPartySubID_t" use="optional"/>
      <xs:attribute name="Typ" type="NestedPartySubIDType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="NstdPtysSubGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="NstdPtysSubGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="NstdPtysSubGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="NstdPtysSubGrpAttributes"/>
   </xs:complexType>
   <xs:group name="NstdPtys2SubGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="NstdPtys2SubGrpAttributes">
      <xs:attribute name="ID" type="Nested2PartySubID_t" use="optional"/>
      <xs:attribute name="Typ" type="Nested2PartySubIDType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="NstdPtys2SubGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="NstdPtys2SubGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="NstdPtys2SubGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="NstdPtys2SubGrpAttributes"/>
   </xs:complexType>
   <xs:group name="NstdPtys3SubGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="NstdPtys3SubGrpAttributes">
      <xs:attribute name="ID" type="Nested3PartySubID_t" use="optional"/>
      <xs:attribute name="Typ" type="Nested3PartySubIDType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="NstdPtys3SubGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="NstdPtys3SubGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="NstdPtys3SubGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="NstdPtys3SubGrpAttributes"/>
   </xs:complexType>
   <xs:group name="StrategyParametersGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="StrategyParametersGrpAttributes">
      <xs:attribute name="StrtPrmNme" type="StrategyParameterName_t" use="optional"/>
      <xs:attribute name="StrtPrmTyp" type="StrategyParameterType_t" use="optional"/>
      <xs:attribute name="StrtPrmVal" type="StrategyParameterValue_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="StrategyParametersGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="StrategyParametersGrp"
                     ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="StrategyParametersGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="StrategyParametersGrpAttributes"/>
   </xs:complexType>
   <xs:group name="InstrumentPartiesElements">
      <xs:sequence>
         <xs:element name="Sub" type="InstrumentPtysSubGrp_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="InstrumentPartiesAttributes">
      <xs:attribute name="ID" type="InstrumentPartyID_t" use="optional"/>
      <xs:attribute name="Src" type="InstrumentPartyIDSource_t" use="optional"/>
      <xs:attribute name="R" type="InstrumentPartyRole_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="InstrumentParties_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="InstrumentParties" ComponentType="BlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="InstrumentPartiesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="InstrumentPartiesAttributes"/>
   </xs:complexType>
   <xs:group name="InstrumentPtysSubGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="InstrumentPtysSubGrpAttributes">
      <xs:attribute name="ID" type="InstrumentPartySubID_t" use="optional"/>
      <xs:attribute name="Typ" type="InstrumentPartySubIDType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="InstrumentPtysSubGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="InstrumentPtysSubGrp"
                     ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="InstrumentPtysSubGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="InstrumentPtysSubGrpAttributes"/>
   </xs:complexType>
   <xs:group name="UndlyInstrumentPartiesElements">
      <xs:sequence>
         <xs:element name="Sub" type="UndlyInstrumentPtysSubGrp_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="UndlyInstrumentPartiesAttributes">
      <xs:attribute name="ID" type="UnderlyingInstrumentPartyID_t" use="optional"/>
      <xs:attribute name="Src" type="UnderlyingInstrumentPartyIDSource_t" use="optional"/>
      <xs:attribute name="R" type="UnderlyingInstrumentPartyRole_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="UndlyInstrumentParties_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="UndlyInstrumentParties" ComponentType="BlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="UndlyInstrumentPartiesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="UndlyInstrumentPartiesAttributes"/>
   </xs:complexType>
   <xs:group name="UndlyInstrumentPtysSubGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="UndlyInstrumentPtysSubGrpAttributes">
      <xs:attribute name="ID" type="UnderlyingInstrumentPartySubID_t" use="optional"/>
      <xs:attribute name="Typ" type="UnderlyingInstrumentPartySubIDType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="UndlyInstrumentPtysSubGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="UndlyInstrumentPtysSubGrp"
                     ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="UndlyInstrumentPtysSubGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="UndlyInstrumentPtysSubGrpAttributes"/>
   </xs:complexType>
   <xs:group name="DisplayInstructionElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="DisplayInstructionAttributes">
      <xs:attribute name="DisplayQty" type="DisplayQty_t" use="optional"/>
      <xs:attribute name="SecDspQty" type="SecondaryDisplayQty_t" use="optional"/>
      <xs:attribute name="DspWhn" type="DisplayWhen_t" use="optional"/>
      <xs:attribute name="DspMthd" type="DisplayMethod_t" use="optional"/>
      <xs:attribute name="DsplLwQty" type="DisplayLowQty_t" use="optional"/>
      <xs:attribute name="DisplayHighQty" type="DisplayHighQty_t" use="optional"/>
      <xs:attribute name="DspMinIncr" type="DisplayMinIncr_t" use="optional"/>
      <xs:attribute name="RfrshQty" type="RefreshQty_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="DisplayInstruction_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="DisplayInstruction" ComponentType="Block"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="DisplayInstructionElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="DisplayInstructionAttributes"/>
   </xs:complexType>
   <xs:group name="TriggeringInstructionElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="TriggeringInstructionAttributes">
      <xs:attribute name="TrgrTyp" type="TriggerType_t" use="optional"/>
      <xs:attribute name="TrgrActn" type="TriggerAction_t" use="optional"/>
      <xs:attribute name="TrgrPx" type="TriggerPrice_t" use="optional"/>
      <xs:attribute name="TrgrSym" type="TriggerSymbol_t" use="optional"/>
      <xs:attribute name="TrgrSecID" type="TriggerSecurityID_t" use="optional"/>
      <xs:attribute name="TrgrSecIDSrc" type="TriggerSecurityIDSource_t" use="optional"/>
      <xs:attribute name="TrgrSecDesc" type="TriggerSecurityDesc_t" use="optional"/>
      <xs:attribute name="TrgrPxTyp" type="TriggerPriceType_t" use="optional"/>
      <xs:attribute name="TrgrPxTypScp" type="TriggerPriceTypeScope_t" use="optional"/>
      <xs:attribute name="TrgrPxDir" type="TriggerPriceDirection_t" use="optional"/>
      <xs:attribute name="TrgrNewPx" type="TriggerNewPrice_t" use="optional"/>
      <xs:attribute name="TrgrOrdTyp" type="TriggerOrderType_t" use="optional"/>
      <xs:attribute name="TrgrNewQty" type="TriggerNewQty_t" use="optional"/>
      <xs:attribute name="TrgrTrdSessID" type="TriggerTradingSessionID_t" use="optional"/>
      <xs:attribute name="TrgrTrdSessSubID" type="TriggerTradingSessionSubID_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="TriggeringInstruction_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="TriggeringInstruction" ComponentType="Block"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="TriggeringInstructionElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="TriggeringInstructionAttributes"/>
   </xs:complexType>
   <xs:group name="RootPartiesElements">
      <xs:sequence>
         <xs:element name="Sub" type="RootSubParties_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="RootPartiesAttributes">
      <xs:attribute name="ID" type="RootPartyID_t" use="optional"/>
      <xs:attribute name="Src" type="RootPartyIDSource_t" use="optional"/>
      <xs:attribute name="R" type="RootPartyRole_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="RootParties_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="RootParties" ComponentType="BlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="RootPartiesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="RootPartiesAttributes"/>
   </xs:complexType>
   <xs:group name="RootSubPartiesElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="RootSubPartiesAttributes">
      <xs:attribute name="ID" type="RootPartySubID_t" use="optional"/>
      <xs:attribute name="Typ" type="RootPartySubIDType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="RootSubParties_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="RootSubParties" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="RootSubPartiesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="RootSubPartiesAttributes"/>
   </xs:complexType>
   <xs:group name="TrdSessLstGrpElements">
      <xs:sequence>
         <xs:element name="TrdgSesRules" type="TradingSessionRules_Block_t" minOccurs="0"
                     maxOccurs="1"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="TrdSessLstGrpAttributes">
      <xs:attribute name="SesID" type="TradingSessionID_t" use="required"/>
      <xs:attribute name="SesSub" type="TradingSessionSubID_t" use="optional"/>
      <xs:attribute name="TradSesUpdtActn" type="TradSesUpdateAction_t" use="optional"/>
      <xs:attribute name="Exch" type="SecurityExchange_t" use="optional"/>
      <xs:attribute name="MktID" type="MarketID_t" use="optional"/>
      <xs:attribute name="MktSegID" type="MarketSegmentID_t" use="optional"/>
      <xs:attribute name="TradingSessionDesc" type="TradingSessionDesc_t" use="optional"/>
      <xs:attribute name="Method" type="TradSesMethod_t" use="optional"/>
      <xs:attribute name="Mode" type="TradSesMode_t" use="optional"/>
      <xs:attribute name="Unsol" type="UnsolicitedIndicator_t" use="optional"/>
      <xs:attribute name="Stat" type="TradSesStatus_t" use="required"/>
      <xs:attribute name="StatRejRsn" type="TradSesStatusRejReason_t" use="optional"/>
      <xs:attribute name="StartTm" type="TradSesStartTime_t" use="optional"/>
      <xs:attribute name="OpenTm" type="TradSesOpenTime_t" use="optional"/>
      <xs:attribute name="PreClsTm" type="TradSesPreCloseTime_t" use="optional"/>
      <xs:attribute name="ClsTm" type="TradSesCloseTime_t" use="optional"/>
      <xs:attribute name="EndTm" type="TradSesEndTime_t" use="optional"/>
      <xs:attribute name="TotVolTrdd" type="TotalVolumeTraded_t" use="optional"/>
      <xs:attribute name="TxnTm" type="TransactTime_t" use="optional"/>
      <xs:attribute name="Txt" type="Text_t" use="optional"/>
      <xs:attribute name="EncTxtLen" type="EncodedTextLen_t" use="optional"/>
      <xs:attribute name="EncTxt" type="EncodedText_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="TrdSessLstGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="TrdSessLstGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="TrdSessLstGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="TrdSessLstGrpAttributes"/>
   </xs:complexType>
   <xs:group name="MsgTypeGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="MsgTypeGrpAttributes">
      <xs:attribute name="RefMsgTyp" type="RefMsgType_t" use="optional"/>
      <xs:attribute name="RefApplVerID" type="RefApplVerID_t" use="optional"/>
      <xs:attribute name="RefApplExtID" type="RefApplExtID_t" use="optional"/>
      <xs:attribute name="RefCstmApplVerID" type="RefCstmApplVerID_t" use="optional"/>
      <xs:attribute name="DfltVerInd" type="DefaultVerIndicator_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="MsgTypeGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="MsgTypeGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="MsgTypeGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="MsgTypeGrpAttributes"/>
   </xs:complexType>
   <xs:group name="SecurityTradingRulesElements">
      <xs:sequence>
         <xs:element name="BaseTrdgRules" type="BaseTradingRules_Block_t" minOccurs="0"
                     maxOccurs="1"/>
         <xs:element name="TrdgSesRulesGrp" type="TradingSessionRulesGrp_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
         <xs:element name="Attrb" type="NestedInstrumentAttribute_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="SecurityTradingRulesAttributes"/>
   <xs:complexType name="SecurityTradingRules_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="SecurityTradingRules" ComponentType="Block"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="SecurityTradingRulesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="SecurityTradingRulesAttributes"/>
   </xs:complexType>
   <xs:group name="SettlDetailsElements">
      <xs:sequence>
         <xs:element name="Pty" type="SettlParties_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="SettlDetailsAttributes">
      <xs:attribute name="SettlSrc" type="SettlObligSource_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="SettlDetails_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="SettlDetails" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="SettlDetailsElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="SettlDetailsAttributes"/>
   </xs:complexType>
   <xs:attributeGroup name="SecurityXMLAttributes">
      <xs:attribute name="Schema" type="SecurityXMLSchema_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="SecurityXML_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="SecurityXML" ComponentType="XMLDataBlock"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
      </xs:sequence>
      <xs:attributeGroup ref="SecurityXMLAttributes"/>
   </xs:complexType>
   <xs:group name="TickRulesElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="TickRulesAttributes">
      <xs:attribute name="StartTickPxRng" type="StartTickPriceRange_t" use="optional"/>
      <xs:attribute name="EndTickPxRng" type="EndTickPriceRange_t" use="optional"/>
      <xs:attribute name="TickIncr" type="TickIncrement_t" use="optional"/>
      <xs:attribute name="TickRuleTyp" type="TickRuleType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="TickRules_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="TickRules" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="TickRulesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="TickRulesAttributes"/>
   </xs:complexType>
   <xs:group name="StrikeRulesElements">
      <xs:sequence>
         <xs:element name="MatRules" type="MaturityRules_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="StrikeRulesAttributes">
      <xs:attribute name="StrkRule" type="StrikeRuleID_t" use="optional"/>
      <xs:attribute name="StartStrkPxRng" type="StartStrikePxRange_t" use="optional"/>
      <xs:attribute name="EndStrkPxRng" type="EndStrikePxRange_t" use="optional"/>
      <xs:attribute name="StrkIncr" type="StrikeIncrement_t" use="optional"/>
      <xs:attribute name="StrkExrStyle" type="StrikeExerciseStyle_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="StrikeRules_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="StrikeRules" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="StrikeRulesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="StrikeRulesAttributes"/>
   </xs:complexType>
   <xs:group name="MaturityRulesElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="MaturityRulesAttributes">
      <xs:attribute name="MatRuleID" type="MaturityRuleID_t" use="optional"/>
      <xs:attribute name="MMYFmt" type="MaturityMonthYearFormat_t" use="optional"/>
      <xs:attribute name="MMYIncrUnits" type="MaturityMonthYearIncrementUnits_t" use="optional"/>
      <xs:attribute name="StartMMY" type="StartMaturityMonthYear_t" use="optional"/>
      <xs:attribute name="EndMMY" type="EndMaturityMonthYear_t" use="optional"/>
      <xs:attribute name="MMYIncr" type="MaturityMonthYearIncrement_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="MaturityRules_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="MaturityRules" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="MaturityRulesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="MaturityRulesAttributes"/>
   </xs:complexType>
   <xs:group name="SecondaryPriceLimitsElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="SecondaryPriceLimitsAttributes">
      <xs:attribute name="PxLmtTyp" type="SecondaryPriceLimitType_t" use="optional"/>
      <xs:attribute name="LowLmtPx" type="SecondaryLowLimitPrice_t" use="optional"/>
      <xs:attribute name="HiLmtPx" type="SecondaryHighLimitPrice_t" use="optional"/>
      <xs:attribute name="TrdgRefPx" type="SecondaryTradingReferencePrice_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="SecondaryPriceLimits_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="SecondaryPriceLimits" ComponentType="ImplicitBlock"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="SecondaryPriceLimitsElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="SecondaryPriceLimitsAttributes"/>
   </xs:complexType>
   <xs:group name="PriceLimitsElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="PriceLimitsAttributes">
      <xs:attribute name="PxLmtTyp" type="PriceLimitType_t" use="optional"/>
      <xs:attribute name="LowLmtPx" type="LowLimitPrice_t" use="optional"/>
      <xs:attribute name="HiLmtPx" type="HighLimitPrice_t" use="optional"/>
      <xs:attribute name="TrdgRefPx" type="TradingReferencePrice_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="PriceLimits_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="PriceLimits" ComponentType="ImplicitBlock"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="PriceLimitsElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="PriceLimitsAttributes"/>
   </xs:complexType>
   <xs:group name="MarketDataFeedTypesElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="MarketDataFeedTypesAttributes">
      <xs:attribute name="MDFeedTyp" type="MDFeedType_t" use="optional"/>
      <xs:attribute name="MktDepth" type="MarketDepth_t" use="optional"/>
      <xs:attribute name="MDBkTyp" type="MDBookType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="MarketDataFeedTypes_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="MarketDataFeedTypes"
                     ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="MarketDataFeedTypesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="MarketDataFeedTypesAttributes"/>
   </xs:complexType>
   <xs:group name="LotTypeRulesElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="LotTypeRulesAttributes">
      <xs:attribute name="LotTyp" type="LotType_t" use="optional"/>
      <xs:attribute name="MinLotSz" type="MinLotSize_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="LotTypeRules_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="LotTypeRules" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="LotTypeRulesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="LotTypeRulesAttributes"/>
   </xs:complexType>
   <xs:group name="MatchRulesElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="MatchRulesAttributes">
      <xs:attribute name="MtchAlgo" type="MatchAlgorithm_t" use="optional"/>
      <xs:attribute name="MtchTyp" type="MatchType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="MatchRules_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="MatchRules" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="MatchRulesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="MatchRulesAttributes"/>
   </xs:complexType>
   <xs:group name="ExecInstRulesElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="ExecInstRulesAttributes">
      <xs:attribute name="ExecInstValu" type="ExecInstValue_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="ExecInstRules_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="ExecInstRules" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="ExecInstRulesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="ExecInstRulesAttributes"/>
   </xs:complexType>
   <xs:group name="TimeInForceRulesElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="TimeInForceRulesAttributes">
      <xs:attribute name="TmInForce" type="TimeInForce_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="TimeInForceRules_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="TimeInForceRules" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="TimeInForceRulesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="TimeInForceRulesAttributes"/>
   </xs:complexType>
   <xs:group name="OrdTypeRulesElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="OrdTypeRulesAttributes">
      <xs:attribute name="OrdTyp" type="OrdType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="OrdTypeRules_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="OrdTypeRules" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="OrdTypeRulesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="OrdTypeRulesAttributes"/>
   </xs:complexType>
   <xs:group name="TradingSessionRulesElements">
      <xs:sequence>
         <xs:element name="OrdTypRules" type="OrdTypeRules_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
         <xs:element name="TmInForceRules" type="TimeInForceRules_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
         <xs:element name="ExecInstRules" type="ExecInstRules_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
         <xs:element name="MtchRules" type="MatchRules_Block_t" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="MDFeedTyps" type="MarketDataFeedTypes_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="TradingSessionRulesAttributes"/>
   <xs:complexType name="TradingSessionRules_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="TradingSessionRules" ComponentType="ImplicitBlock"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="TradingSessionRulesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="TradingSessionRulesAttributes"/>
   </xs:complexType>
   <xs:group name="TradingSessionRulesGrpElements">
      <xs:sequence>
         <xs:element name="TrdgSesRules" type="TradingSessionRules_Block_t" minOccurs="0"
                     maxOccurs="1"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="TradingSessionRulesGrpAttributes">
      <xs:attribute name="SesID" type="TradingSessionID_t" use="optional"/>
      <xs:attribute name="SesSub" type="TradingSessionSubID_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="TradingSessionRulesGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="TradingSessionRulesGrp"
                     ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="TradingSessionRulesGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="TradingSessionRulesGrpAttributes"/>
   </xs:complexType>
   <xs:group name="BaseTradingRulesElements">
      <xs:sequence>
         <xs:element name="TickRules" type="TickRules_Block_t" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="LotTypeRules" type="LotTypeRules_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
         <xs:element name="PxLmts" type="PriceLimits_Block_t" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="BaseTradingRulesAttributes">
      <xs:attribute name="ExpirationCycle" type="ExpirationCycle_t" use="optional"/>
      <xs:attribute name="MinTrdVol" type="MinTradeVol_t" use="optional"/>
      <xs:attribute name="MaxTrdVol" type="MaxTradeVol_t" use="optional"/>
      <xs:attribute name="MxPxVar" type="MaxPriceVariation_t" use="optional"/>
      <xs:attribute name="ImpldMktInd" type="ImpliedMarketIndicator_t" use="optional"/>
      <xs:attribute name="TrdCcy" type="TradingCurrency_t" use="optional"/>
      <xs:attribute name="RndLot" type="RoundLot_t" use="optional"/>
      <xs:attribute name="MlegModel" type="MultilegModel_t" use="optional"/>
      <xs:attribute name="MlegPxMeth" type="MultilegPriceMethod_t" use="optional"/>
      <xs:attribute name="PxTyp" type="PriceType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="BaseTradingRules_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="BaseTradingRules" ComponentType="ImplicitBlock"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="BaseTradingRulesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="BaseTradingRulesAttributes"/>
   </xs:complexType>
   <xs:group name="MarketSegmentGrpElements">
      <xs:sequence>
         <xs:element name="SecTrdgRules" type="SecurityTradingRules_Block_t" minOccurs="0"
                     maxOccurs="1"/>
         <xs:element name="StrkRules" type="StrikeRules_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="MarketSegmentGrpAttributes">
      <xs:attribute name="MktID" type="MarketID_t" use="optional"/>
      <xs:attribute name="MktSegID" type="MarketSegmentID_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="MarketSegmentGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="MarketSegmentGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="MarketSegmentGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="MarketSegmentGrpAttributes"/>
   </xs:complexType>
   <xs:group name="DerivativeInstrumentPartySubIDsGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="DerivativeInstrumentPartySubIDsGrpAttributes">
      <xs:attribute name="ID" type="DerivativeInstrumentPartySubID_t" use="optional"/>
      <xs:attribute name="Typ" type="DerivativeInstrumentPartySubIDType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="DerivativeInstrumentPartySubIDsGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="DerivativeInstrumentPartySubIDsGrp"
                     ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="DerivativeInstrumentPartySubIDsGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="DerivativeInstrumentPartySubIDsGrpAttributes"/>
   </xs:complexType>
   <xs:group name="DerivativeInstrumentPartiesElements">
      <xs:sequence>
         <xs:element name="Sub" type="DerivativeInstrumentPartySubIDsGrp_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="DerivativeInstrumentPartiesAttributes">
      <xs:attribute name="ID" type="DerivativeInstrumentPartyID_t" use="optional"/>
      <xs:attribute name="Src" type="DerivativeInstrumentPartyIDSource_t" use="optional"/>
      <xs:attribute name="R" type="DerivativeInstrumentPartyRole_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="DerivativeInstrumentParties_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="DerivativeInstrumentParties"
                     ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="DerivativeInstrumentPartiesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="DerivativeInstrumentPartiesAttributes"/>
   </xs:complexType>
   <xs:group name="DerivativeInstrumentAttributeElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="DerivativeInstrumentAttributeAttributes">
      <xs:attribute name="Typ" type="DerivativeInstrAttribType_t" use="optional"/>
      <xs:attribute name="Val" type="DerivativeInstrAttribValue_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="DerivativeInstrumentAttribute_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="DerivativeInstrumentAttribute"
                     ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="DerivativeInstrumentAttributeElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="DerivativeInstrumentAttributeAttributes"/>
   </xs:complexType>
   <xs:group name="NestedInstrumentAttributeElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="NestedInstrumentAttributeAttributes">
      <xs:attribute name="Typ" type="NestedInstrAttribType_t" use="optional"/>
      <xs:attribute name="Val" type="NestedInstrAttribValue_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="NestedInstrumentAttribute_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="NestedInstrumentAttribute"
                     ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="NestedInstrumentAttributeElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="NestedInstrumentAttributeAttributes"/>
   </xs:complexType>
   <xs:group name="DerivativeInstrumentElements">
      <xs:sequence>
         <xs:element name="AID" type="DerivativeSecurityAltIDGrp_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
         <xs:element name="SecXML" type="DerivativeSecurityXML_Block_t" minOccurs="0" maxOccurs="1"/>
         <xs:element name="Evnt" type="DerivativeEventsGrp_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
         <xs:element name="Pty" type="DerivativeInstrumentParties_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="DerivativeInstrumentAttributes">
      <xs:attribute name="Sym" type="DerivativeSymbol_t" use="optional"/>
      <xs:attribute name="Sfx" type="DerivativeSymbolSfx_t" use="optional"/>
      <xs:attribute name="ID" type="DerivativeSecurityID_t" use="optional"/>
      <xs:attribute name="Src" type="DerivativeSecurityIDSource_t" use="optional"/>
      <xs:attribute name="Prod" type="DerivativeProduct_t" use="optional"/>
      <xs:attribute name="ProdCmplx" type="DerivativeProductComplex_t" use="optional"/>
      <xs:attribute name="FlexProdElig" type="DerivFlexProductEligibilityIndicator_t"
                    use="optional"/>
      <xs:attribute name="SecGrp" type="DerivativeSecurityGroup_t" use="optional"/>
      <xs:attribute name="CFI" type="DerivativeCFICode_t" use="optional"/>
      <xs:attribute name="SecTyp" type="DerivativeSecurityType_t" use="optional"/>
      <xs:attribute name="SecSubTyp" type="DerivativeSecuritySubType_t" use="optional"/>
      <xs:attribute name="MMY" type="DerivativeMaturityMonthYear_t" use="optional"/>
      <xs:attribute name="MatDt" type="DerivativeMaturityDate_t" use="optional"/>
      <xs:attribute name="MatTm" type="DerivativeMaturityTime_t" use="optional"/>
      <xs:attribute name="OpenCloseSettlFlag" type="DerivativeSettleOnOpenFlag_t" use="optional"/>
      <xs:attribute name="AsgnMeth" type="DerivativeInstrmtAssignmentMethod_t" use="optional"/>
      <xs:attribute name="Status" type="DerivativeSecurityStatus_t" use="optional"/>
      <xs:attribute name="IssDt" type="DerivativeIssueDate_t" use="optional"/>
      <xs:attribute name="Rgstry" type="DerivativeInstrRegistry_t" use="optional"/>
      <xs:attribute name="Ctry" type="DerivativeCountryOfIssue_t" use="optional"/>
      <xs:attribute name="StPrv" type="DerivativeStateOrProvinceOfIssue_t" use="optional"/>
      <xs:attribute name="Lcl" type="DerivativeLocaleOfIssue_t" use="optional"/>
      <xs:attribute name="StrkPx" type="DerivativeStrikePrice_t" use="optional"/>
      <xs:attribute name="StrkCcy" type="DerivativeStrikeCurrency_t" use="optional"/>
      <xs:attribute name="StrkMult" type="DerivativeStrikeMultiplier_t" use="optional"/>
      <xs:attribute name="StrkValu" type="DerivativeStrikeValue_t" use="optional"/>
      <xs:attribute name="OptAt" type="DerivativeOptAttribute_t" use="optional"/>
      <xs:attribute name="Mult" type="DerivativeContractMultiplier_t" use="optional"/>
      <xs:attribute name="MultTyp" type="DerivativeContractMultiplierUnit_t" use="optional"/>
      <xs:attribute name="FlowSchedTyp" type="DerivativeFlowScheduleType_t" use="optional"/>
      <xs:attribute name="MinPxIncr" type="DerivativeMinPriceIncrement_t" use="optional"/>
      <xs:attribute name="MinPxIncrAmt" type="DerivativeMinPriceIncrementAmount_t" use="optional"/>
      <xs:attribute name="UOM" type="DerivativeUnitOfMeasure_t" use="optional"/>
      <xs:attribute name="UOMQty" type="DerivativeUnitOfMeasureQty_t" use="optional"/>
      <xs:attribute name="PxUOM" type="DerivativePriceUnitOfMeasure_t" use="optional"/>
      <xs:attribute name="PxUOMQty" type="DerivativePriceUnitOfMeasureQty_t" use="optional"/>
      <xs:attribute name="SettlMeth" type="DerivativeSettlMethod_t" use="optional"/>
      <xs:attribute name="PxQteMeth" type="DerivativePriceQuoteMethod_t" use="optional"/>
      <xs:attribute name="ValMeth" type="DerivativeValuationMethod_t" use="optional"/>
      <xs:attribute name="ListMeth" type="DerivativeListMethod_t" use="optional"/>
      <xs:attribute name="CapPx" type="DerivativeCapPrice_t" use="optional"/>
      <xs:attribute name="FlrPx" type="DerivativeFloorPrice_t" use="optional"/>
      <xs:attribute name="PutCall" type="DerivativePutOrCall_t" use="optional"/>
      <xs:attribute name="ExerStyle" type="DerivativeExerciseStyle_t" use="optional"/>
      <xs:attribute name="OptPayAmt" type="DerivativeOptPayAmount_t" use="optional"/>
      <xs:attribute name="TmUnit" type="DerivativeTimeUnit_t" use="optional"/>
      <xs:attribute name="Exch" type="DerivativeSecurityExchange_t" use="optional"/>
      <xs:attribute name="PosLmt" type="DerivativePositionLimit_t" use="optional"/>
      <xs:attribute name="NTPosLmt" type="DerivativeNTPositionLimit_t" use="optional"/>
      <xs:attribute name="Issr" type="DerivativeIssuer_t" use="optional"/>
      <xs:attribute name="EncIssrLen" type="DerivativeEncodedIssuerLen_t" use="optional"/>
      <xs:attribute name="EncIssr" type="DerivativeEncodedIssuer_t" use="optional"/>
      <xs:attribute name="Desc" type="DerivativeSecurityDesc_t" use="optional"/>
      <xs:attribute name="EncSecDescLen" type="DerivativeEncodedSecurityDescLen_t" use="optional"/>
      <xs:attribute name="EncSecDesc" type="DerivativeEncodedSecurityDesc_t" use="optional"/>
      <xs:attribute name="CSetMo" type="DerivativeContractSettlMonth_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="DerivativeInstrument_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="DerivativeInstrument" ComponentType="ImplicitBlock"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="DerivativeInstrumentElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="DerivativeInstrumentAttributes"/>
   </xs:complexType>
   <xs:group name="DerivativeSecurityAltIDGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="DerivativeSecurityAltIDGrpAttributes">
      <xs:attribute name="ID" type="DerivativeSecurityAltID_t" use="optional"/>
      <xs:attribute name="Src" type="DerivativeSecurityAltIDSource_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="DerivativeSecurityAltIDGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="DerivativeSecurityAltIDGrp"
                     ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="DerivativeSecurityAltIDGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="DerivativeSecurityAltIDGrpAttributes"/>
   </xs:complexType>
   <xs:group name="DerivativeEventsGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="DerivativeEventsGrpAttributes">
      <xs:attribute name="EventTyp" type="DerivativeEventType_t" use="optional"/>
      <xs:attribute name="Dt" type="DerivativeEventDate_t" use="optional"/>
      <xs:attribute name="Tm" type="DerivativeEventTime_t" use="optional"/>
      <xs:attribute name="Px" type="DerivativeEventPx_t" use="optional"/>
      <xs:attribute name="Txt" type="DerivativeEventText_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="DerivativeEventsGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="DerivativeEventsGrp"
                     ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="DerivativeEventsGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="DerivativeEventsGrpAttributes"/>
   </xs:complexType>
   <xs:group name="DerivativeSecurityDefinitionElements">
      <xs:sequence>
         <xs:element name="DerivInstrmt" type="DerivativeInstrument_Block_t" minOccurs="0"
                     maxOccurs="1"/>
         <xs:element name="Attrb" type="DerivativeInstrumentAttribute_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
         <xs:element name="MktSegGrp" type="MarketSegmentGrp_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="DerivativeSecurityDefinitionAttributes"/>
   <xs:complexType name="DerivativeSecurityDefinition_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="DerivativeSecurityDefinition"
                     ComponentType="ImplicitBlock"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="DerivativeSecurityDefinitionElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="DerivativeSecurityDefinitionAttributes"/>
   </xs:complexType>
   <xs:group name="RelSymDerivSecUpdGrpElements">
      <xs:sequence>
         <xs:element name="Instrmt" type="Instrument_Block_t" minOccurs="0" maxOccurs="1"/>
         <xs:element name="InstrmtExt" type="InstrumentExtension_Block_t" minOccurs="0"
                     maxOccurs="1"/>
         <xs:element name="PxLmts2" type="SecondaryPriceLimits_Block_t" minOccurs="0" maxOccurs="1"/>
         <xs:element name="Leg" type="InstrmtLegGrp_Block_t" minOccurs="0"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="RelSymDerivSecUpdGrpAttributes">
      <xs:attribute name="ListUpdActn" type="ListUpdateAction_t" use="optional"/>
      <xs:attribute name="CorpActn" type="CorporateAction_t" use="optional"/>
      <xs:attribute name="Ccy" type="Currency_t" use="optional"/>
      <xs:attribute name="TxnTm" type="RelSymTransactTime_t" use="optional"/>
      <xs:attribute name="Txt" type="Text_t" use="optional"/>
      <xs:attribute name="EncTxtLen" type="EncodedTextLen_t" use="optional"/>
      <xs:attribute name="EncTxt" type="EncodedText_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="RelSymDerivSecUpdGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="RelSymDerivSecUpdGrp"
                     ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="RelSymDerivSecUpdGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="RelSymDerivSecUpdGrpAttributes"/>
   </xs:complexType>
   <xs:attributeGroup name="DerivativeSecurityXMLAttributes">
      <xs:attribute name="Schema" type="DerivativeSecurityXMLSchema_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="DerivativeSecurityXML_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="DerivativeSecurityXML" ComponentType="XMLDataBlock"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
      </xs:sequence>
      <xs:attributeGroup ref="DerivativeSecurityXMLAttributes"/>
   </xs:complexType>
   <xs:group name="ApplicationSequenceControlElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="ApplicationSequenceControlAttributes">
      <xs:attribute name="ApplID" type="ApplID_t" use="optional"/>
      <xs:attribute name="ApplSeqNum" type="ApplSeqNum_t" use="optional"/>
      <xs:attribute name="ApplLastSeqNum" type="ApplLastSeqNum_t" use="optional"/>
      <xs:attribute name="ApplResendFlag" type="ApplResendFlag_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="ApplicationSequenceControl_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="ApplicationSequenceControl" ComponentType="Block"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="ApplicationSequenceControlElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="ApplicationSequenceControlAttributes"/>
   </xs:complexType>
   <xs:group name="NstdPtys4SubGrpElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="NstdPtys4SubGrpAttributes">
      <xs:attribute name="ID" type="Nested4PartySubID_t" use="optional"/>
      <xs:attribute name="Typ" type="Nested4PartySubIDType_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="NstdPtys4SubGrp_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="NstdPtys4SubGrp" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="NstdPtys4SubGrpElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="NstdPtys4SubGrpAttributes"/>
   </xs:complexType>
   <xs:group name="NestedParties4Elements">
      <xs:sequence>
         <xs:element name="Sub" type="NstdPtys4SubGrp_Block_t" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="NestedParties4Attributes">
      <xs:attribute name="ID" type="Nested4PartyID_t" use="optional"/>
      <xs:attribute name="Src" type="Nested4PartyIDSource_t" use="optional"/>
      <xs:attribute name="R" type="Nested4PartyRole_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="NestedParties4_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="NestedParties4" ComponentType="BlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="NestedParties4Elements"/>
      </xs:sequence>
      <xs:attributeGroup ref="NestedParties4Attributes"/>
   </xs:complexType>
   <xs:group name="RateSourceElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="RateSourceAttributes">
      <xs:attribute name="RtSrc" type="RateSource_t" use="optional"/>
      <xs:attribute name="RtSrcTyp" type="RateSourceType_t" use="optional"/>
      <xs:attribute name="RefPg" type="ReferencePage_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="RateSource_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="RateSource" ComponentType="BlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="RateSourceElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="RateSourceAttributes"/>
   </xs:complexType>
   <xs:group name="TargetPartiesElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="TargetPartiesAttributes">
      <xs:attribute name="ID" type="TargetPartyID_t" use="optional"/>
      <xs:attribute name="Src" type="TargetPartyIDSource_t" use="optional"/>
      <xs:attribute name="R" type="TargetPartyRole_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="TargetParties_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="TargetParties" ComponentType="BlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="TargetPartiesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="TargetPartiesAttributes"/>
   </xs:complexType>
   <xs:group name="ComplexEventsElements">
      <xs:sequence>
         <xs:element name="EvntDts" type="ComplexEventDates_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="ComplexEventsAttributes">
      <xs:attribute name="Typ" type="ComplexEventType_t" use="optional"/>
      <xs:attribute name="OptPayAmt" type="ComplexOptPayoutAmount_t" use="optional"/>
      <xs:attribute name="Px" type="ComplexEventPrice_t" use="optional"/>
      <xs:attribute name="PxBndryMeth" type="ComplexEventPriceBoundaryMethod_t" use="optional"/>
      <xs:attribute name="PxBndryPrcsn" type="ComplexEventPriceBoundaryPrecision_t" use="optional"/>
      <xs:attribute name="PxTmTyp" type="ComplexEventPriceTimeType_t" use="optional"/>
      <xs:attribute name="Cond" type="ComplexEventCondition_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="ComplexEvents_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="ComplexEvents" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="ComplexEventsElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="ComplexEventsAttributes"/>
   </xs:complexType>
   <xs:group name="ComplexEventDatesElements">
      <xs:sequence>
         <xs:element name="EvntTms" type="ComplexEventTimes_Block_t" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:group>
   <xs:attributeGroup name="ComplexEventDatesAttributes">
      <xs:attribute name="StartDt" type="ComplexEventStartDate_t" use="optional"/>
      <xs:attribute name="EndDt" type="ComplexEventEndDate_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="ComplexEventDates_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="ComplexEventDates" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="ComplexEventDatesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="ComplexEventDatesAttributes"/>
   </xs:complexType>
   <xs:group name="ComplexEventTimesElements">
      <xs:sequence/>
   </xs:group>
   <xs:attributeGroup name="ComplexEventTimesAttributes">
      <xs:attribute name="StartTm" type="ComplexEventStartTime_t" use="optional"/>
      <xs:attribute name="EndTm" type="ComplexEventEndTime_t" use="optional"/>
   </xs:attributeGroup>
   <xs:complexType name="ComplexEventTimes_Block_t">
      <xs:annotation>
         <xs:appinfo>
            <fm:Xref Protocol="FIX" name="ComplexEventTimes" ComponentType="ImplicitBlockRepeating"
                     Category="Common"/>
         </xs:appinfo>
      </xs:annotation>
      <xs:sequence>
         <xs:group ref="ComplexEventTimesElements"/>
      </xs:sequence>
      <xs:attributeGroup ref="ComplexEventTimesAttributes"/>
   </xs:complexType>
</xs:schema>
Collapse AttributeGroups:
Collapse ComplexTypes:
Collapse Elements:
Collapse Groups: