Skip to content
Permalink
master
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="ore_types.xsd"/>
<xs:element type="portfolio" name="Portfolio"/>
<xs:element type="trade" name="Trade"/>
<xs:complexType name="portfolio">
<xs:sequence>
<xs:element type="trade" name="Trade" maxOccurs="unbounded" minOccurs="0">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="trade">
<xs:sequence>
<xs:element type="oreTradeType" name="TradeType"/>
<xs:element type="envelope" name="Envelope"/>
<xs:element type="tradeActions" name="TradeActions" minOccurs="0"/>
<!-- Could the group just be replaced with the choice -->
<xs:group ref="oreTradeData"/>
</xs:sequence>
<xs:attribute type="xs:string" name="id" use="required"/>
</xs:complexType>
<xs:group name="oreTradeData">
<xs:choice>
<xs:element type="swapData" name="SwapData"/>
<xs:element type="swapData" name="EquitySwapData"/>
<xs:element type="swaptionData" name="SwaptionData"/>
<xs:element type="forwardRateAgreementData" name="ForwardRateAgreementData"/>
<xs:element type="fxForwardData" name="FxForwardData"/>
<xs:element type="fxOptionData" name="FxOptionData"/>
<xs:element type="fxSwapData" name="FxSwapData"/>
<xs:element type="capFloorData" name="CapFloorData"/>
<xs:element type="equityFutureOptionData" name="EquityFutureOptionData"/>
<xs:element type="equityOptionData" name="EquityOptionData"/>
<xs:element type="equityForwardData" name="EquityForwardData"/>
<xs:element type="commodityForwardData" name="CommodityForwardData"/>
<xs:element type="bondData" name="BondData"/>
<xs:element type="forwardBondData" name="ForwardBondData"/>
<xs:element type="creditDefaultSwapData" name="CreditDefaultSwapData"/>
<xs:element type="creditDefaultSwapOptionData" name="CreditDefaultSwapOptionData"/>
<xs:element type="commodityOptionData" name="CommodityOptionData"/>
</xs:choice>
</xs:group>
<xs:complexType name="envelope">
<xs:all>
<xs:element type="xs:string" name="CounterParty"/>
<xs:element type="xs:string" name="NettingSetId" minOccurs="0"/>
<xs:element name="PortfolioIds" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="PortfolioId" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AdditionalFields" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="tradeActions">
<xs:sequence>
<xs:element type="tradeAction" name="TradeAction" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="tradeAction">
<xs:all>
<xs:element type="tradeActionType" name="Type"/>
<xs:element type="tradeActionOwner" name="Owner"/>
<xs:element type="scheduleData" name="Schedule"/>
</xs:all>
</xs:complexType>
<xs:complexType name="swapData">
<xs:sequence>
<xs:element type="settlementType" name="Settlement" maxOccurs="1" minOccurs="0"/>
<xs:element type="legData" name="LegData" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="swaptionData">
<xs:choice>
<xs:sequence>
<xs:element type="optionData" name="OptionData"/>
<xs:element type="legData" name="LegData" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
<xs:sequence>
<xs:element type="legData" name="LegData" maxOccurs="unbounded" minOccurs="1"/>
<xs:element type="optionData" name="OptionData"/>
</xs:sequence>
</xs:choice>
</xs:complexType>
<xs:complexType name="optionPaymentData">
<xs:choice>
<xs:element name="Dates">
<xs:complexType>
<xs:sequence>
<xs:element type="date" name="Date" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Rules">
<xs:complexType>
<xs:all>
<xs:element type="xs:nonNegativeInteger" name="Lag"/>
<xs:element type="calendar" name="Calendar"/>
<xs:element type="businessDayConvention" name="Convention"/>
<xs:element type="optionPayRelativeTo" name="RelativeTo" minOccurs="0"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:complexType name="optionExerciseData">
<xs:all>
<xs:element type="date" name="Date"/>
<xs:element type="xs:decimal" name="Price"/>
</xs:all>
</xs:complexType>
<xs:complexType name="optionData">
<xs:all>
<xs:element type="xs:string" name="LongShort"/>
<xs:element type="xs:string" name="OptionType" minOccurs="0"/>
<xs:element type="xs:string" name="PayoffType" minOccurs="0"/>
<xs:element type="xs:string" name="Style" minOccurs="0"/>
<xs:element type="xs:string" name="NoticePeriod" minOccurs="0"/>
<xs:element type="xs:string" name="NoticeCalendar" minOccurs="0"/>
<xs:element type="xs:string" name="NoticeConvention" minOccurs="0"/>
<xs:element type="settlementType" name="Settlement" minOccurs="0"/>
<xs:element type="settlementMethod" name="SettlementMethod" minOccurs="0"/>
<xs:element type="xs:string" name="PayOffAtExpiry" minOccurs="0"/>
<xs:element type="xs:string" name="PremiumAmount" minOccurs="0"/>
<xs:element type="premiumCurrencyCode" name="PremiumCurrency" minOccurs="0"/>
<xs:element type="xs:string" name="PremiumPayDate" minOccurs="0"/>
<xs:element type="premiumData" name="Premiums" minOccurs="0"/>
<xs:element type="xs:string" name="ExercisePrices" minOccurs="0"/>
<xs:element name="ExerciseFees" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ExerciseFee" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute name="type" type="xs:string" />
<xs:attribute name="startDate" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="ExerciseFeeSettlementPeriod" minOccurs="0"/>
<xs:element type="xs:string" name="ExerciseFeeSettlementCalendar" minOccurs="0"/>
<xs:element type="xs:string" name="ExerciseFeeSettlementConvention" minOccurs="0"/>
<xs:element name="ExerciseDates" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="date" name="ExerciseDate" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="bool" name="AutomaticExercise" minOccurs="0"/>
<xs:element type="optionExerciseData" name="ExerciseData" minOccurs="0"/>
<xs:element type="optionPaymentData" name="PaymentData" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="bondData">
<xs:sequence>
<xs:element type="xs:string" name="IssuerId" minOccurs="0"/>
<xs:element type="xs:string" name="CreditCurveId" minOccurs="0"/>
<xs:element type="xs:string" name="SecurityId"/>
<xs:element type="xs:string" name="ReferenceCurveId" minOccurs="0"/>
<xs:element type="xs:string" name="ProxySecurityId" minOccurs="0"/>
<xs:element type="xs:string" name="IncomeCurveId" minOccurs="0"/>
<xs:element type="xs:string" name="VolatilityCurveId" minOccurs="0"/>
<xs:element type="xs:string" name="SettlementDays" minOccurs="0"/>
<xs:element type="xs:string" name="Calendar" minOccurs="0"/>
<xs:element type="xs:string" name="IssueDate" minOccurs="0"/>
<xs:element type="xs:string" name="BondNotional" minOccurs="0"/>
<xs:element type="xs:string" name="Payer" minOccurs="0"/>
<xs:element type="legData" name="LegData" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="bool" name="CreditRisk" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="forwardBondData">
<xs:sequence>
<xs:element type="bondData" name="BondData"/>
<xs:element type="settlementData" name="SettlementData"/>
<xs:element name="PremiumData" minOccurs="0">
<xs:complexType>
<xs:all>
<xs:element type="xs:string" name="Amount"/>
<xs:element type="xs:string" name="Date"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="LongInForward"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="settlementData">
<xs:all>
<xs:element type="xs:string" name="ForwardMaturityDate"/>
<xs:element type="xs:string" name="ForwardSettlementDate" minOccurs="0"/>
<xs:element type="xs:string" name="Settlement" minOccurs="0"/>
<xs:element type="xs:float" name="Amount" minOccurs="0"/>
<xs:element type="xs:float" name="LockRate" minOccurs="0"/>
<xs:element type="xs:string" name="LockRateDayCounter" minOccurs="0"/>
<xs:element type="xs:string" name="SettlementDirty" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:element name="legDataType" abstract="true"/>
<xs:element name="CashflowData" substitutionGroup="legDataType">
<xs:complexType>
<xs:all>
<xs:element name="Cashflow">
<xs:complexType>
<xs:sequence>
<xs:element name="Amount" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute name="date" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="FixedLegData" substitutionGroup="legDataType">
<xs:complexType>
<xs:all>
<xs:element name="Rates">
<xs:complexType>
<xs:sequence>
<xs:element name="Rate" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute name="startDate" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="FloatingLegData" substitutionGroup="legDataType">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element type="indexNameType" name="Index"/>
<xs:element type="xs:boolean" name="IsInArrears" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:string" name="LastRecentPeriod" minOccurs="0"/>
<xs:element type="calendar" name="LastRecentPeriodCalendar" minOccurs="0"/>
<xs:element type="xs:nonNegativeInteger" name="FixingDays" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:string" name="Lookback" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:integer" name="RateCutoff" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="IsAveraged" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="HasSubPeriods" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="IncludeSpread" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="IsNotResettingXCCY" minOccurs="0" maxOccurs="1"/>
<xs:element type="spreads" name="Spreads" minOccurs="0" maxOccurs="1"/>
<xs:element type="caps" name="Caps" minOccurs="0" maxOccurs="1"/>
<xs:element type="floors" name="Floors" minOccurs="0" maxOccurs="1"/>
<xs:element type="gearings" name="Gearings" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="NakedOption" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="LocalCapFloor" minOccurs="0"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="CPILegData" substitutionGroup="legDataType">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element type="xs:string" name="Index"/>
<xs:element name="Rates">
<xs:complexType>
<xs:sequence>
<xs:element name="Rate" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute name="startDate" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="xs:float" name="BaseCPI" maxOccurs="1"/>
<xs:element type="date" name="StartDate" minOccurs="0"/>
<xs:element type="xs:string" name="ObservationLag" maxOccurs="1"/>
<xs:element type="xs:string" name="Interpolation" minOccurs="0" maxOccurs="1"/>
<xs:element type="bool" name="Interpolated" minOccurs="0" maxOccurs="1"/>
<xs:element type="bool" name="SubtractInflationNotional" maxOccurs="1"/>
<xs:element type="caps" name="Caps" minOccurs="0" maxOccurs="1"/>
<xs:element type="floors" name="Floors" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:float" name="FinalFlowCap" minOccurs="0"/>
<xs:element type="xs:float" name="FinalFlowFloor" minOccurs="0"/>
<xs:element type="xs:boolean" name="NakedOption" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="SubtractInflationNotionalAllCoupons" minOccurs="0" maxOccurs="1"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="YYLegData" substitutionGroup="legDataType">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element type="xs:string" name="Index"/>
<xs:element type="xs:integer" name="FixingDays" maxOccurs="1"/>
<xs:element type="xs:string" name="ObservationLag" maxOccurs="1"/>
<xs:element type="gearings" name="Gearings" minOccurs="0" maxOccurs="1"/>
<xs:element type="spreads" name="Spreads" minOccurs="0" maxOccurs="1"/>
<xs:element type="caps" name="Caps" minOccurs="0" maxOccurs="1"/>
<xs:element type="floors" name="Floors" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="NakedOption" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="AddInflationNotional" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="IrregularYoY" minOccurs="0" maxOccurs="1"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="CMSLegData" substitutionGroup="legDataType">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element type="indexNameType" name="Index"/>
<xs:element type="xs:boolean" name="IsInArrears" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:integer" name="FixingDays" minOccurs="0" maxOccurs="1"/>
<xs:element type="spreads" name="Spreads" minOccurs="0" maxOccurs="1"/>
<xs:element type="caps" name="Caps" minOccurs="0" maxOccurs="1"/>
<xs:element type="floors" name="Floors" minOccurs="0" maxOccurs="1"/>
<xs:element type="gearings" name="Gearings" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="NakedOption" minOccurs="0" maxOccurs="1"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="DigitalCMSLegData" substitutionGroup="legDataType">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element name="CMSLegData">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element type="indexNameType" name="Index"/>
<xs:element type="xs:boolean" name="IsInArrears" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:integer" name="FixingDays" minOccurs="0" maxOccurs="1"/>
<xs:element type="spreads" name="Spreads" minOccurs="0" maxOccurs="1"/>
<xs:element type="caps" name="Caps" minOccurs="0" maxOccurs="1"/>
<xs:element type="floors" name="Floors" minOccurs="0" maxOccurs="1"/>
<xs:element type="gearings" name="Gearings" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="NakedOption" minOccurs="0" maxOccurs="1"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="CallPosition"/>
<xs:element type="xs:boolean" name="IsCallATMIncluded"/>
<xs:element name="CallStrikes">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:float" name="Strike" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CallPayoffs">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:float" name="Payoff" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="PutPosition"/>
<xs:element type="xs:boolean" name="IsPutATMIncluded"/>
<xs:element name="PutStrikes">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:float" name="Strike" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PutPayoffs">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:float" name="Payoff" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="DurationAdjustedCMSLegData" substitutionGroup="legDataType">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element type="indexNameType" name="Index"/>
<xs:element type="xs:integer" name="Duration" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="IsInArrears" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:integer" name="FixingDays" minOccurs="0" maxOccurs="1"/>
<xs:element type="spreads" name="Spreads" minOccurs="0" maxOccurs="1"/>
<xs:element type="caps" name="Caps" minOccurs="0" maxOccurs="1"/>
<xs:element type="floors" name="Floors" minOccurs="0" maxOccurs="1"/>
<xs:element type="gearings" name="Gearings" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="NakedOption" minOccurs="0" maxOccurs="1"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="CMSSpreadLegData" substitutionGroup="legDataType">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element type="indexNameType" name="Index1"/>
<xs:element type="indexNameType" name="Index2"/>
<xs:element type="xs:boolean" name="IsInArrears" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:integer" name="FixingDays" minOccurs="0" maxOccurs="1"/>
<xs:element type="spreads" name="Spreads" minOccurs="0" maxOccurs="1"/>
<xs:element type="caps" name="Caps" minOccurs="0" maxOccurs="1"/>
<xs:element type="floors" name="Floors" minOccurs="0" maxOccurs="1"/>
<xs:element type="gearings" name="Gearings" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="NakedOption" minOccurs="0" maxOccurs="1"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="DigitalCMSSpreadLegData" substitutionGroup="legDataType">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element name="CMSSpreadLegData">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element type="indexNameType" name="Index1"/>
<xs:element type="indexNameType" name="Index2"/>
<xs:element type="xs:boolean" name="IsInArrears" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:integer" name="FixingDays" minOccurs="0" maxOccurs="1"/>
<xs:element type="spreads" name="Spreads" minOccurs="0" maxOccurs="1"/>
<xs:element type="caps" name="Caps" minOccurs="0" maxOccurs="1"/>
<xs:element type="floors" name="Floors" minOccurs="0" maxOccurs="1"/>
<xs:element type="gearings" name="Gearings" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="NakedOption" minOccurs="0" maxOccurs="1"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="CallPosition"/>
<xs:element type="xs:boolean" name="IsCallATMIncluded"/>
<xs:element name="CallStrikes">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:float" name="Strike" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CallPayoffs">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:float" name="Payoff" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="PutPosition"/>
<xs:element type="xs:boolean" name="IsPutATMIncluded"/>
<xs:element name="PutStrikes">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:float" name="Strike" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PutPayoffs">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:float" name="Payoff" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="EquityLegData" substitutionGroup="legDataType">
<xs:complexType>
<xs:all>
<xs:element type="xs:float" name="Quantity" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:string" name="ReturnType" minOccurs="1" maxOccurs="1"/>
<xs:element ref="equityNameType"/>
<xs:element type="xs:float" name="InitialPrice" minOccurs="0" maxOccurs="1"/>
<xs:element type="extendedCurrencyCode" name="InitialPriceCurrency" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:float" name="DividendFactor" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="NotionalReset" minOccurs="0" maxOccurs="1"/>
<xs:element type="scheduleData" name="ValuationSchedule" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:integer" name="FixingDays" minOccurs="0" maxOccurs="1" />
<xs:element name="FXTerms" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element type="extendedCurrencyCode" name="EquityCurrency" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:string" name="FXIndex" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:integer" name="FXIndexFixingDays" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:string" name="FXIndexCalendar" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="ZeroCouponFixedLegData" substitutionGroup="legDataType">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element name="Rates">
<xs:complexType>
<xs:sequence>
<xs:element name="Rate" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute name="startDate" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="Compounding" maxOccurs="1"/>
<xs:element type="xs:string" name="SubtractNotional" maxOccurs="1"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:complexType name="amortizationData">
<xs:all>
<xs:element type="amortizationType" name="Type"/>
<xs:element type="xs:float" name="Value"/>
<xs:element type="xs:string" name="StartDate"/>
<xs:element type="xs:string" name="EndDate" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:string" name="Frequency" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:boolean" name="Underflow"/>
</xs:all>
</xs:complexType>
<xs:complexType name="indexingData">
<xs:all>
<xs:element type="xs:float" name="Quantity" minOccurs="0"/>
<xs:element type="xs:string" name="Index" minOccurs="0"/>
<xs:element type="xs:integer" name="IndexFixingDays" minOccurs="0"/>
<xs:element type="xs:string" name="IndexFixingCalendar" minOccurs="0"/>
<xs:element type="xs:boolean" name="Dirty" minOccurs="0"/>
<xs:element type="xs:boolean" name="Relative" minOccurs="0"/>
<xs:element type="xs:boolean" name="ConditionalOnSurvival" minOccurs="0"/>
<xs:element type="xs:float" name="InitialFixing" minOccurs="0"/>
<xs:element type="scheduleData" name="ValuationSchedule" minOccurs="0"/>
<xs:element type="xs:integer" name="FixingDays" minOccurs="0"/>
<xs:element type="xs:string" name="FixingCalendar" minOccurs="0"/>
<xs:element type="businessDayConvention" name="FixingConvention" minOccurs="0"/>
<xs:element type="xs:boolean" name="IsInArrears" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="legData">
<xs:all>
<xs:element type="xs:boolean" name="Payer"/>
<xs:element type="legType" name="LegType"/>
<xs:element type="extendedCurrencyCode" name="Currency"/>
<xs:element type="businessDayConvention" name="PaymentConvention" minOccurs="0"/>
<xs:element type="xs:integer" name="PaymentLag" minOccurs="0"/>
<xs:element type="xs:string" name="PaymentCalendar" minOccurs="0"/>
<xs:element type="dayCounter" name="DayCounter" minOccurs="0"/>
<xs:element name="Amortizations" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element type="amortizationData" name="AmortizationData" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Notionals" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Notional" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute name="startDate" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element type="fxreset" name="FXReset" minOccurs="0" maxOccurs="unbounded"/>
<xs:element type="exchanges" name="Exchanges" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="scheduleData" name="ScheduleData" minOccurs="0">
</xs:element>
<xs:element name="PaymentDates" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element type="date" name="PaymentDate" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Indexings" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:boolean" name="FromAssetLeg" minOccurs="0"/>
<xs:element type="indexingData" name="Indexing" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="dayCounter" name="LastPeriodDayCounter" minOccurs="0"/>
<xs:element ref="legDataType"/>
</xs:all>
</xs:complexType>
<xs:complexType name="legData_capfloor">
<xs:all>
<xs:element type="xs:boolean" name="Payer" minOccurs="0"/>
<xs:element type="legType" name="LegType"/>
<xs:element type="currencyCode" name="Currency"/>
<xs:element type="dayCounter" name="DayCounter"/>
<xs:element type="businessDayConvention" name="PaymentConvention" minOccurs="0"/>
<xs:element type="xs:integer" name="PaymentLag" minOccurs="0"/>
<xs:element type="xs:string" name="PaymentCalendar" minOccurs="0"/>
<xs:element name="Notionals">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:float" name="Notional" maxOccurs="unbounded"/>
<xs:element type="fxreset" name="FXReset" minOccurs="0" maxOccurs="unbounded"/>
<xs:element type="exchanges" name="Exchanges" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="scheduleData" name="ScheduleData">
</xs:element>
<xs:element ref="legDataType"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="oreTradeType">
<xs:restriction base="xs:string">
<xs:enumeration value="Swap"/>
<xs:enumeration value="Swaption"/>
<xs:enumeration value="ForwardRateAgreement"/>
<xs:enumeration value="FxForward"/>
<xs:enumeration value="FxOption"/>
<xs:enumeration value="FxSwap"/>
<xs:enumeration value="CapFloor"/>
<xs:enumeration value="EquityOption"/>
<xs:enumeration value="EquityFutureOption"/>
<xs:enumeration value="EquityForward"/>
<xs:enumeration value="EquitySwap"/>
<xs:enumeration value="CommodityForward"/>
<xs:enumeration value="CommodityOption"/>
<xs:enumeration value="Bond"/>
<xs:enumeration value="ForwardBond"/>
<xs:enumeration value="CreditDefaultSwap"/>
<xs:enumeration value="CreditDefaultSwapOption"/>
<xs:enumeration value="CMS"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="legType">
<xs:restriction base="xs:string">
<xs:enumeration value="Fixed"/>
<xs:enumeration value="Floating"/>
<xs:enumeration value="CPI"/>
<xs:enumeration value="YY"/>
<xs:enumeration value="CMS"/>
<xs:enumeration value="DigitalCMS"/>
<xs:enumeration value="CMSSpread"/>
<xs:enumeration value="DigitalCMSSpread"/>
<xs:enumeration value="Cashflow"/>
<xs:enumeration value="Equity"/>
<xs:enumeration value="FormulaBased"/>
<xs:enumeration value="ZeroCouponFixed"/>
<xs:enumeration value="CommodityFixed"/>
<xs:enumeration value="CommodityFloating"/>
<xs:enumeration value="EquityMargin"/>
<xs:enumeration value="DurationAdjustedCMS"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="forwardRateAgreementData">
<xs:all>
<xs:element type="date" name="StartDate"/>
<xs:element type="date" name="EndDate"/>
<xs:element type="currencyCode" name="Currency"/>
<xs:element type="xs:string" name="Index"/>
<xs:element type="longShort" name="LongShort"/>
<xs:element type="xs:float" name="Strike"/>
<xs:element type="xs:float" name="Notional"/>
</xs:all>
</xs:complexType>
<xs:complexType name="fxForwardData">
<xs:all>
<xs:element type="date" name="ValueDate"/>
<xs:element type="currencyCode" name="BoughtCurrency"/>
<xs:element type="xs:float" name="BoughtAmount"/>
<xs:element type="currencyCode" name="SoldCurrency"/>
<xs:element type="xs:float" name="SoldAmount"/>
<xs:element type="settlementType" name="Settlement" maxOccurs="1" minOccurs="0"/>
<xs:element type="fxForwardSettlementData" name="SettlementData" maxOccurs="1" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="fxSwapData">
<xs:all>
<xs:element type="date" name="NearDate"/>
<xs:element type="currencyCode" name="NearBoughtCurrency"/>
<xs:element type="xs:float" name="NearBoughtAmount"/>
<xs:element type="currencyCode" name="NearSoldCurrency"/>
<xs:element type="xs:float" name="NearSoldAmount"/>
<xs:element type="date" name="FarDate"/>
<xs:element type="xs:float" name="FarBoughtAmount"/>
<xs:element type="xs:float" name="FarSoldAmount"/>
<xs:element type="settlementType" name="Settlement" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="fxOptionData">
<xs:all>
<xs:element type="optionData" name="OptionData"/>
<xs:element type="currencyCode" name="BoughtCurrency"/>
<xs:element type="xs:float" name="BoughtAmount"/>
<xs:element type="currencyCode" name="SoldCurrency"/>
<xs:element type="xs:float" name="SoldAmount"/>
<xs:element type="xs:string" name="FXIndex" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="fxForwardSettlementData">
<xs:all>
<xs:element type="currencyCode" name="Currency" maxOccurs="1" minOccurs="0"/>
<xs:element type="xs:string" name="FXIndex" maxOccurs="1" minOccurs="0"/>
<xs:element type="date" name="Date" maxOccurs="1" minOccurs="0"/>
<xs:element name="Rules" maxOccurs="1" minOccurs="0">
<xs:complexType>
<xs:all>
<xs:element type="xs:string" name="PaymentLag" maxOccurs="1" minOccurs="0"/>
<xs:element type="calendar" name="PaymentCalendar" maxOccurs="1" minOccurs="0"/>
<xs:element type="businessDayConvention" name="PaymentConvention" maxOccurs="1" minOccurs="0"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="capFloorData">
<xs:sequence>
<xs:element type="longShort" name="LongShort"/>
<xs:element type="legData_capfloor" name="LegData" maxOccurs="unbounded" minOccurs="1"/>
<xs:element name="Caps" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="Cap" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute name="startDate" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Floors" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="Floor" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute name="startDate" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="PremiumAmount" minOccurs="0"/>
<xs:element type="premiumCurrencyCode" name="PremiumCurrency" minOccurs="0"/>
<xs:element type="xs:string" name="PremiumPayDate" minOccurs="0"/>
<xs:element type="premiumData" name="Premiums" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="equityOptionData">
<xs:all>
<xs:element type="optionData" name="OptionData"/>
<xs:element ref="equityNameType"/>
<xs:element type="extendedCurrencyCode" name="Currency"/>
<xs:element type="xs:float" name="Strike"/>
<xs:element type="extendedCurrencyCode" name="StrikeCurrency" minOccurs="0"/>
<xs:element type="xs:float" name="Quantity"/>
</xs:all>
</xs:complexType>
<xs:complexType name="equityFutureOptionData">
<xs:all>
<xs:element type="optionData" name="OptionData"/>
<xs:element ref="equityNameType"/>
<xs:element type="currencyCode" name="Currency"/>
<xs:element type="xs:float" name="Strike"/>
<xs:element type="xs:float" name="Quantity"/>
<xs:element type="date" name="FutureExpiryDate" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="commodityOptionData">
<xs:all>
<xs:element type="optionData" name="OptionData"/>
<xs:element type="xs:string" name="Name"/>
<xs:element type="currencyCode" name="Currency"/>
<xs:element type="xs:float" name="Strike"/>
<xs:element type="xs:float" name="Quantity"/>
<xs:element type="bool" name="IsFuturePrice" minOccurs="0"/>
<xs:element type="date" name="FutureExpiryDate" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="equityForwardData">
<xs:all>
<xs:element type="longShort" name="LongShort"/>
<xs:element type="date" name="Maturity"/>
<xs:element ref="equityNameType"/>
<xs:element type="extendedCurrencyCode" name="Currency"/>
<xs:element type="xs:float" name="Strike"/>
<xs:element type="extendedCurrencyCode" name="StrikeCurrency" minOccurs="0"/>
<xs:element type="xs:float" name="Quantity"/>
</xs:all>
</xs:complexType>
<xs:complexType name="commodityForwardData">
<xs:all>
<xs:element type="longShort" name="Position"/>
<xs:element type="date" name="Maturity"/>
<xs:element type="xs:string" name="Name"/>
<xs:element type="currencyCode" name="Currency"/>
<xs:element type="xs:float" name="Strike"/>
<xs:element type="xs:float" name="Quantity"/>
<xs:element type="bool" name="IsFuturePrice" minOccurs="0"/>
<xs:element type="date" name="FutureExpiryDate" minOccurs="0"/>
<xs:element type="xs:string" name="FutureExpiryOffset" minOccurs="0"/>
<xs:element type="xs:string" name="FutureExpiryOffsetCalendar" minOccurs="0"/>
<xs:element type="bool" name="PhysicallySettled" minOccurs="0"/>
<xs:element type="date" name="PaymentDate" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:element name="creditCurveIdType" abstract="true"/>
<xs:element type="xs:string" name="CreditCurveId" substitutionGroup="creditCurveIdType"/>
<xs:element name="ReferenceInformation" substitutionGroup="creditCurveIdType">
<xs:complexType>
<xs:all>
<xs:element type="xs:string" name="ReferenceEntityId"/>
<xs:element type="cdsTierType" name="Tier"/>
<xs:element type="currencyCode" name="Currency"/>
<xs:element type="cdsDocClauseType" name="DocClause"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:complexType name="creditDefaultSwapData">
<xs:all>
<xs:element type="xs:string" name="IssuerId" minOccurs="0"/>
<xs:element ref="creditCurveIdType"/>
<xs:element type="xs:string" name="ReferenceObligation" minOccurs="0"/>
<xs:element type="bool" name="SettlesAccrual" minOccurs="0"/>
<xs:element type="bool" name="PaysAtDefaultTime" minOccurs="0"/>
<xs:element type="xs:string" name="ProtectionPaymentTime" minOccurs="0"/>
<xs:element type="date" name="ProtectionStart" minOccurs="0"/>
<xs:element type="date" name="UpfrontDate" minOccurs="0"/>
<xs:element type="xs:float" name="UpfrontFee" minOccurs="0"/>
<xs:element type="xs:float" name="FixedRecoveryRate" minOccurs="0"/>
<xs:element type="legData" name="LegData" maxOccurs="1" minOccurs="1"/>
<xs:element type="date" name="TradeDate" minOccurs="0"/>
<xs:element type="xs:nonNegativeInteger" name="CashSettlementDays" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="auctionSettlementInformation">
<xs:all>
<xs:element type="date" name="AuctionSettlementDate"/>
<xs:element type="xs:float" name="AuctionFinalPrice"/>
</xs:all>
</xs:complexType>
<xs:complexType name="creditDefaultSwapOptionData">
<xs:all>
<xs:element type="optionData" name="OptionData"/>
<xs:element type="creditDefaultSwapData" name="CreditDefaultSwapData"/>
<xs:element type="xs:float" name="Strike" minOccurs="0"/>
<xs:element name="StrikeType" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Spread"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element type="bool" name="KnockOut" minOccurs="0" maxOccurs="1"/>
<xs:element type="xs:string" name="Term" minOccurs="0" maxOccurs="1"/>
<xs:element type="auctionSettlementInformation" name="AuctionSettlementInformation" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="tradeActionType">
<xs:restriction base="xs:string">
<xs:enumeration value="Break"/>
<xs:enumeration value="Termination"/>
<xs:enumeration value="Conversion"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tradeActionOwner">
<xs:restriction base="xs:string">
<xs:enumeration value="Mutual"/>
<xs:enumeration value="Sold"/>
<xs:enumeration value="Bought"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="caps">
<xs:sequence>
<xs:element type="floatWithAttribute" name="Cap" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="floors">
<xs:sequence>
<xs:element type="floatWithAttribute" name="Floor" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="spreads">
<xs:sequence>
<xs:element type="floatWithAttribute" name="Spread" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="gearings">
<xs:sequence>
<xs:element type="floatWithAttribute" name="Gearing" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="floatWithAttribute">
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute name="startDate" type="xs:string">
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="exchanges">
<xs:all>
<xs:element type="bool" name="NotionalInitialExchange" minOccurs="0" maxOccurs="1"/>
<xs:element type="bool" name="NotionalFinalExchange" minOccurs="0" maxOccurs="1"/>
<xs:element type="bool" name="NotionalAmortizingExchange" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="fxreset">
<xs:all>
<xs:element type="currencyCode" name="ForeignCurrency" minOccurs="1" maxOccurs="1"/>
<xs:element type="xs:double" name="ForeignAmount" minOccurs="1" maxOccurs="1"/>
<xs:element type="xs:string" name="FXIndex" minOccurs="1" maxOccurs="1"/>
<xs:element type="xs:integer" name="FixingDays" minOccurs="1" maxOccurs="1"/>
<xs:element type="xs:string" name="FixingCalendar" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="underlying">
<xs:all>
<xs:element type="xs:string" name="Type"/>
<xs:element type="xs:string" name="Name"/>
<xs:element type="xs:string" name="IdentifierType" minOccurs="0"/>
<xs:element type="currencyCode" name="Currency" minOccurs="0"/>
<xs:element type="xs:string" name="Exchange" minOccurs="0"/>
<xs:element type="xs:float" name="Weight" minOccurs="0"/>
<xs:element type="xs:string" name="PriceType" minOccurs="0"/>
<xs:element type="xs:int" name="FutureMonthOffset" minOccurs="0"/>
<xs:element type="xs:int" name="DeliveryRollDays" minOccurs="0"/>
<xs:element type="xs:string" name="DeliveryRollCalendar" minOccurs="0"/>
<xs:element type="xs:string" name="Interpolation" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:element name="equityNameType" abstract="true"/>
<xs:element type="xs:string" name="Name" substitutionGroup="equityNameType"/>
<xs:element type= "underlying" name="Underlying" substitutionGroup="equityNameType"/>
</xs:schema>