FpML 4.0 Working Draft #1

4 April 2003

Foreign Exchange Component Definitions

Version: 4.0

This Version:

http://www.fpml.org/spec/2003/wd-fpml-4-0-2003-04-04

Latest Version:

http://www.fpml.org/spec/2003/wd-fpml-4-0-2003-04-04

Previous Version:

n/a

Errata for this Version:

http://www.fpml.org/spec/errata/wd-fpml-4-0-2003-04-04-errata.html


Copyright © 2002-2003. All rights reserved.
Financial Products Markup Language is subject to the FpML public license
A copy of this license is available at http://www.fpml.org/documents/license


XSL Schema Processing Developed By:

Andrew Jacobs, Senior Consultant, IBM.
e-mail: andrew_jacobs@uk.ibm.com


XSL Schema Processing Also Supported By:

Brian Lynn, Founder and CTO, Gem Soup LLC.
e-mail: brian.lynn@gemsoup.com


Contents

Global Elements
averageRateObservationDate
averageRateObservationSchedule
averageRateQuoteBasis
averageRateWeightingFactor
baseCurrency
callCurrencyAmount
cashSettlementTerms
confirmationSenderPartyReference
currency1
currency1SideRate
currency1ValueDate
currency2
currency2SideRate
currency2ValueDate
cutName
exchangedCurrency1
exchangedCurrency2
exchangeRate
exerciseStyle
expiryDate
expiryDateTime
expiryTime
faceOnCurrency
fixing
fixingDate
forwardPoints
fxAmericanTrigger
fxAverageRateOption
fxBarrier
fxBarrierOption
fxBarrierType
fxDigitalOption
fxEuropeanTrigger
fxOptionPremium
fxSimpleOption
fxSingleLeg
fxStrikePrice
fxSwap
initialPayerReference
initialReceiverReference
interest
maturityDate
nonDeliverableForward
observationDate
observationEndDate
observationStartDate
observedRates
optionOnCurrency
payoutCurrency
payoutFormula
payoutStyle
premiumAmount
premiumQuote
premiumQuoteBasis
premiumSettlementDate
premiumValue
primaryRateSource
principal
putCurrencyAmount
quoteBasis
quotedAs
quotedCurrencyPair
quotedTenor
secondaryRateSource
sideRateBasis
sideRates
spotRate
strikeQuoteBasis
termDeposit
touchCondition
triggerCondition
triggerPayout
triggerRate
valueDate

Global Complex Types
ExpiryDateTime
FXAmericanTrigger
FXAverageRateObservationDate
FXAverageRateObservationSchedule
FXAverageRateOption
FXBarrier
FXBarrierOption
FXCashSettlement
FXDigitalOption
FXEuropeanTrigger
FXFixing
FXLeg
FXOptionLeg
FXOptionPayout
FXOptionPremium
FXRate
FXStrikePrice
FXSwap
ObservedRates
PremiumQuote
QuotedAs
QuotedCurrencyPair
SideRate
SideRates
TermDeposit

Global Simple Types
CutName
ExerciseStyle
FxBarrierType
Payout
PremiumQuoteBasis
QuoteBasis
SideRateBasis
StrikeQuoteBasis
TouchCondition
TriggerCondition

Global Elements

averageRateObservationDate

Description:

One of more specific rate observation dates.

Figure:

No SVG plugin installed

Contents:

Element averageRateObservationDate is defined by the complex type FXAverageRateObservationDate

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="averageRateObservationDate" type="FXAverageRateObservationDate">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      One of more specific rate observation dates.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

averageRateObservationSchedule

Description:

Parametric schedule of rate observations.

Figure:

No SVG plugin installed

Contents:

Element averageRateObservationSchedule is defined by the complex type FXAverageRateObservationSchedule

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="averageRateObservationSchedule" type="FXAverageRateObservationSchedule">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Parametric schedule of rate observations.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

averageRateQuoteBasis

Description:

The method by which the average rate that is being observed is quoted.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type StrikeQuoteBasis)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="averageRateQuoteBasis">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The method by which the average rate that is being observed is
      quoted.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="StrikeQuoteBasis">
        <xsd:attribute name="strikeQuoteBasisScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

averageRateWeightingFactor

Description:

An optional factor that can be used for weighting certain observation dates. Typically, firms will weight each date with a factor of 1 if there are standard, unweighted adjustments.

Figure:

No SVG plugin installed

Contents:

Element averageRateWeightingFactor is defined by the simple type xsd:decimal

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="averageRateWeightingFactor" type="xsd:decimal">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An optional factor that can be used for weighting certain
      observation dates. Typically, firms will weight each date with a
      factor of 1 if there are standard, unweighted adjustments.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

baseCurrency

Description:

The currency that is used as the basis for the side rates when calculating a cross rate.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type Currency)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="baseCurrency">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The currency that is used as the basis for the side rates when
      calculating a cross rate.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="Currency">
        <xsd:attribute name="currencyScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

callCurrencyAmount

Description:

The currency amount that the option gives the right to buy.

Figure:

No SVG plugin installed

Contents:

Element callCurrencyAmount is defined by the complex type Money

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="callCurrencyAmount" type="Money">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The currency amount that the option gives the right to buy.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

cashSettlementTerms

Description:

This optional element is only used if an option has been specified at execution time to be settled into a single cash payment. This would be used for a non-deliverable option.

Figure:

No SVG plugin installed

Contents:

Element cashSettlementTerms is defined by the complex type FXCashSettlement

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="cashSettlementTerms" type="FXCashSettlement">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      This optional element is only used if an option has been
      specified at execution time to be settled into a single cash
      payment. This would be used for a non-deliverable option.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

confirmationSenderPartyReference

Description:

The party that is sending the current document as a confirmation of the trade.

Figure:

No SVG plugin installed

Contents:

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="confirmationSenderPartyReference">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The party that is sending the current document as a confirmation
      of the trade.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:attribute name="href" use="required" type="xsd:IDREF"/>
  </xsd:complexType>
</xsd:element>

currency1

Description:

The first currency specified when a pair of currencies is to be evaluated.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type Currency)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="currency1">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The first currency specified when a pair of currencies is to be
      evaluated.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="Currency">
        <xsd:attribute name="currencyScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

currency1SideRate

Description:

The exchange rate for the first currency of the trade against base currency.

Figure:

No SVG plugin installed

Contents:

Element currency1SideRate is defined by the complex type SideRate

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="currency1SideRate" type="SideRate">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The exchange rate for the first currency of the trade against
      base currency.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

currency1ValueDate

Description:

The date on which the currency1 amount will be settled. To be used in a split value date scenario.

Figure:

No SVG plugin installed

Contents:

Element currency1ValueDate is defined by the simple type xsd:date

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="currency1ValueDate" type="xsd:date">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The date on which the currency1 amount will be settled. To be
      used in a split value date scenario.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

currency2

Description:

The second currency specified when a pair of currencies is to be evaluated.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type Currency)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="currency2">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The second currency specified when a pair of currencies is to be
      evaluated.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="Currency">
        <xsd:attribute name="currencyScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

currency2SideRate

Description:

The exchange rate for the second currency of the trade against base currency.

Figure:

No SVG plugin installed

Contents:

Element currency2SideRate is defined by the complex type SideRate

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="currency2SideRate" type="SideRate">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The exchange rate for the second currency of the trade against
      base currency.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

currency2ValueDate

Description:

The date on which the currency2 amount will be settled. To be used in a split value date scenario.

Figure:

No SVG plugin installed

Contents:

Element currency2ValueDate is defined by the simple type xsd:date

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="currency2ValueDate" type="xsd:date">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The date on which the currency2 amount will be settled. To be
      used in a split value date scenario.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

cutName

Description:

Allows for an expiryDateTime cut to be described by name.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type CutName)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="cutName">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Allows for an expiryDateTime cut to be described by name.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="CutName">
        <xsd:attribute name="cutNameScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

exchangedCurrency1

Description:

This is the first of the two currency flows that define a single leg of a standard foreign exchange transaction.

Figure:

No SVG plugin installed

Contents:

Element exchangedCurrency1 is defined by the complex type Payment

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="exchangedCurrency1" type="Payment">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      This is the first of the two currency flows that define a single
      leg of a standard foreign exchange transaction.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

exchangedCurrency2

Description:

This is the second of the two currency flows that define a single leg of a standard foreign exchange transaction.

Figure:

No SVG plugin installed

Contents:

Element exchangedCurrency2 is defined by the complex type Payment

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="exchangedCurrency2" type="Payment">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      This is the second of the two currency flows that define a single
      leg of a standard foreign exchange transaction.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

exchangeRate

Description:

The rate of exchange between the two currencies.

Figure:

No SVG plugin installed

Contents:

Element exchangeRate is defined by the complex type FXRate

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="exchangeRate" type="FXRate">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The rate of exchange between the two currencies.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

exerciseStyle

Description:

The manner in which the option can be exercised.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type ExerciseStyle)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="exerciseStyle">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The manner in which the option can be exercised.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="ExerciseStyle">
        <xsd:attribute name="exerciseStyleScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

expiryDate

Description:

Represents a standard expiry date as defined for an FX OTC option.

Figure:

No SVG plugin installed

Contents:

Element expiryDate is defined by the simple type xsd:date

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="expiryDate" type="xsd:date">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Represents a standard expiry date as defined for an FX OTC
      option.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

expiryDateTime

Description:

The date and time in a location of the option expiry. In the case of american options this is the latest possible expiry date and time.

Figure:

No SVG plugin installed

Contents:

Element expiryDateTime is defined by the complex type ExpiryDateTime

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="expiryDateTime" type="ExpiryDateTime">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The date and time in a location of the option expiry. In the case
      of american options this is the latest possible expiry date and
      time.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

expiryTime

Description:

Figure:

No SVG plugin installed

Contents:

Element expiryTime is defined by the complex type BusinessCenterTime

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="expiryTime" type="BusinessCenterTime"/>

faceOnCurrency

Description:

Either the callCurrencyAmount or the putCurrencyAmount defined elsewhere in the document.The currency reference denotes the face currency as the option was quoted (as opposed to the option currency).

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type Currency)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="faceOnCurrency">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Either the callCurrencyAmount or the putCurrencyAmount defined
      elsewhere in the document.The currency reference denotes the face
      currency as the option was quoted (as opposed to the option
      currency).
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="Currency">
        <xsd:attribute name="currencyScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

fixing

Description:

Specifies the source for and timing of a fixing of an exchange rate. This is used in the agreement of non-deliverable forward trades as well as various types of FX OTC options that require observations against a particular rate.

Figure:

No SVG plugin installed

Contents:

Element fixing is defined by the complex type FXFixing

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="fixing" type="FXFixing">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Specifies the source for and timing of a fixing of an exchange
      rate. This is used in the agreement of non-deliverable forward
      trades as well as various types of FX OTC options that require
      observations against a particular rate.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fixingDate

Description:

Describes the specific date when a non-deliverable forward or non-deliverable option will "fix" against a particular rate, which will be used to compute the ultimate cash settlement.

Figure:

No SVG plugin installed

Contents:

Element fixingDate is defined by the simple type xsd:date

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="fixingDate" type="xsd:date">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Describes the specific date when a non-deliverable forward or
      non-deliverable option will "fix" against a particular rate,
      which will be used to compute the ultimate cash settlement.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

forwardPoints

Description:

An optional element used for deals consumated in the FX Forwards market. Forward points represent the interest rate differential between the two currencies traded and are quoted as a preminum or a discount. Forward points are added to, or subtracted from, the spot rate to create the rate of the forward trade.

Figure:

No SVG plugin installed

Contents:

Element forwardPoints is defined by the simple type xsd:decimal

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="forwardPoints" type="xsd:decimal">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An optional element used for deals consumated in the FX Forwards
      market. Forward points represent the interest rate differential
      between the two currencies traded and are quoted as a preminum or
      a discount. Forward points are added to, or subtracted from, the
      spot rate to create the rate of the forward trade.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fxAmericanTrigger

Description:

An American trigger occurs if the trigger criteria are met at any time from the initiation to the maturity of the option.

Figure:

No SVG plugin installed

Contents:

Element fxAmericanTrigger is defined by the complex type FXAmericanTrigger

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="fxAmericanTrigger" type="FXAmericanTrigger">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An American trigger occurs if the trigger criteria are met at any
      time from the initiation to the maturity of the option.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fxAverageRateOption

Description:

A component describing an FX Average Rate Option product.

Figure:

No SVG plugin installed

Contents:

Element fxAverageRateOption is defined by the complex type FXAverageRateOption

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="fxAverageRateOption" type="FXAverageRateOption" substitutionGroup="product">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A component describing an FX Average Rate Option product.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fxBarrier

Description:

Information about a barrier rate in a Barrier Option - specifying the exact criteria for a trigger event to occur.

Figure:

No SVG plugin installed

Contents:

Element fxBarrier is defined by the complex type FXBarrier

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="fxBarrier" type="FXBarrier">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Information about a barrier rate in a Barrier Option - specifying
      the exact criteria for a trigger event to occur.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fxBarrierOption

Description:

A component describing a FX Barrier Option product.

Figure:

No SVG plugin installed

Contents:

Element fxBarrierOption is defined by the complex type FXBarrierOption

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="fxBarrierOption" type="FXBarrierOption" substitutionGroup="product">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A component describing a FX Barrier Option product.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fxBarrierType

Description:

This specifies whether the option becomes effective ("knock-in") or is annulled ("knock-out") when the respective trigger event occurs.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type FxBarrierType)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="fxBarrierType">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      This specifies whether the option becomes effective ("knock-in")
      or is annulled ("knock-out") when the respective trigger event
      occurs.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="FxBarrierType">
        <xsd:attribute name="fxBarrierTypeScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

fxDigitalOption

Description:

A component describing a FX Digital Option product.

Figure:

No SVG plugin installed

Contents:

Element fxDigitalOption is defined by the complex type FXDigitalOption

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="fxDigitalOption" type="FXDigitalOption" substitutionGroup="product">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A component describing a FX Digital Option product.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fxEuropeanTrigger

Description:

A European trigger occurs if the trigger criteria are met, but these are valid (and an observation is made) only at the maturity of the option.

Figure:

No SVG plugin installed

Contents:

Element fxEuropeanTrigger is defined by the complex type FXEuropeanTrigger

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="fxEuropeanTrigger" type="FXEuropeanTrigger">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A European trigger occurs if the trigger criteria are met, but
      these are valid (and an observation is made) only at the maturity
      of the option.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fxOptionPremium

Description:

Premium amount or premium installment amount for an option.

Figure:

No SVG plugin installed

Contents:

Element fxOptionPremium is defined by the complex type FXOptionPremium

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="fxOptionPremium" type="FXOptionPremium">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Premium amount or premium installment amount for an option.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fxSimpleOption

Description:

A component describing a FX Simple Option product

Figure:

No SVG plugin installed

Contents:

Element fxSimpleOption is defined by the complex type FXOptionLeg

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="fxSimpleOption" type="FXOptionLeg" substitutionGroup="product">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A component describing a FX Simple Option product
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fxSingleLeg

Description:

A single-legged FX transaction definition (e.g., spot or forward).

Figure:

No SVG plugin installed

Contents:

Element fxSingleLeg is defined by the complex type FXLeg

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="fxSingleLeg" type="FXLeg" substitutionGroup="product">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A single-legged FX transaction definition (e.g., spot or
      forward).
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fxStrikePrice

Description:

TBA

Figure:

No SVG plugin installed

Contents:

Element fxStrikePrice is defined by the complex type FXStrikePrice

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="fxStrikePrice" type="FXStrikePrice">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      TBA
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

fxSwap

Description:

A component describing a FX Swap product.

Figure:

No SVG plugin installed

Contents:

Element fxSwap is defined by the complex type FXSwap

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="fxSwap" type="FXSwap" substitutionGroup="product">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A component describing a FX Swap product.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

initialPayerReference

Description:

Figure:

No SVG plugin installed

Contents:

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="initialPayerReference">
  <xsd:annotation>
    <xsd:documentation>
      A pointer style reference to a part identifier defined elsewhere
      in the document. The party referenced is the payer of the initial
      principal of the deposit on the start date.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:attribute name="href" use="required" type="xsd:IDREF"/>
  </xsd:complexType>
</xsd:element>

initialReceiverReference

Description:

Figure:

No SVG plugin installed

Contents:

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="initialReceiverReference">
  <xsd:annotation>
    <xsd:documentation>
      A pointer style reference to a party identifier defined elsewhere
      in the document. The party is the receiver of the initial
      principal of the deposit on the start date.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:attribute name="href" use="required" type="xsd:IDREF"/>
  </xsd:complexType>
</xsd:element>

interest

Description:

Figure:

No SVG plugin installed

Contents:

Element interest is defined by the complex type Money

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="interest" type="Money">
  <xsd:annotation>
    <xsd:documentation>
      The total interest of at maturity of the trade.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

maturityDate

Description:

Figure:

No SVG plugin installed

Contents:

Element maturityDate is defined by the simple type xsd:date

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="maturityDate" type="xsd:date">
  <xsd:annotation>
    <xsd:documentation>
      The end date of the calculation period. This date should already
      be adjusted for any applicable business day convention.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

nonDeliverableForward

Description:

Used to describe a particular type of FX forward transaction that is settled in a single currency.

Figure:

No SVG plugin installed

Contents:

Element nonDeliverableForward is defined by the complex type FXCashSettlement

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="nonDeliverableForward" type="FXCashSettlement">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Used to describe a particular type of FX forward transaction that
      is settled in a single currency.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

observationDate

Description:

A specific date for which an observation against a particular rate will be made and will be used for subsequent computations.

Figure:

No SVG plugin installed

Contents:

Element observationDate is defined by the simple type xsd:date

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="observationDate" type="xsd:date">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A specific date for which an observation against a particular
      rate will be made and will be used for subsequent computations.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

observationEndDate

Description:

The end of the period over which observations are made to determine whether a trigger event has occurred.

Figure:

No SVG plugin installed

Contents:

Element observationEndDate is defined by the simple type xsd:date

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="observationEndDate" type="xsd:date">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The end of the period over which observations are made to
      determine whether a trigger event has occurred.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

observationStartDate

Description:

The start of the period over which observations are made to determine whether a trigger has occurred.

Figure:

No SVG plugin installed

Contents:

Element observationStartDate is defined by the simple type xsd:date

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="observationStartDate" type="xsd:date">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The start of the period over which observations are made to
      determine whether a trigger has occurred.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

observedRates

Description:

Describes prior rate observations within average rate options. Periodically, an average rate option agreement will be struck whereby some rates have already been observed in the past but will become part of computation of the average rate of the option. This structure provides for these previously observed rates to be included in the description of the trade.

Figure:

No SVG plugin installed

Contents:

Element observedRates is defined by the complex type ObservedRates

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="observedRates" type="ObservedRates">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Describes prior rate observations within average rate options.
      Periodically, an average rate option agreement will be struck
      whereby some rates have already been observed in the past but
      will become part of computation of the average rate of the
      option. This structure provides for these previously observed
      rates to be included in the description of the trade.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

optionOnCurrency

Description:

Either the callCurrencyAmount or the putCurrencyAmount defined elsewhere in the document. The currency reference denotes the option currency as the option was quoted (as opposed to the face currency).

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type Currency)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="optionOnCurrency">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Either the callCurrencyAmount or the putCurrencyAmount defined
      elsewhere in the document. The currency reference denotes the
      option currency as the option was quoted (as opposed to the face
      currency).
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="Currency">
        <xsd:attribute name="currencyScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

payoutCurrency

Description:

The ISO code of the currency in which a payout (if any) is to be made when a trigger is hit on a digital or barrier option.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type Currency)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="payoutCurrency">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The ISO code of the currency in which a payout (if any) is to be
      made when a trigger is hit on a digital or barrier option.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="Currency">
        <xsd:attribute name="currencyScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

payoutFormula

Description:

The description of the mathematical computation for how the payout is computed.

Figure:

No SVG plugin installed

Contents:

Element payoutFormula is defined by the simple type xsd:string

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="payoutFormula" type="xsd:string">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The description of the mathematical computation for how the
      payout is computed.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

payoutStyle

Description:

The trigger event and payout may be asynchonous. A payout may become due on the trigger event, or the payout may (by agreeement at initiation) be deferred (for example) to the maturity date.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type Payout)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="payoutStyle">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The trigger event and payout may be asynchonous. A payout may
      become due on the trigger event, or the payout may (by agreeement
      at initiation) be deferred (for example) to the maturity date.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="Payout">
        <xsd:attribute name="payoutScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

premiumAmount

Description:

The specific currency and amount of the option premium.

Figure:

No SVG plugin installed

Contents:

Element premiumAmount is defined by the complex type Money

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="premiumAmount" type="Money">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The specific currency and amount of the option premium.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

premiumQuote

Description:

This is the option premium as quoted. It is expected to be consistent with the premiumAmount and is for information only.

Figure:

No SVG plugin installed

Contents:

Element premiumQuote is defined by the complex type PremiumQuote

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="premiumQuote" type="PremiumQuote">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      This is the option premium as quoted. It is expected to be
      consistent with the premiumAmount and is for information only.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

premiumQuoteBasis

Description:

The method by which the option premium was quoted.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type PremiumQuoteBasis)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="premiumQuoteBasis">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The method by which the option premium was quoted.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="PremiumQuoteBasis">
        <xsd:attribute name="premiumQuoteBasisScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

premiumSettlementDate

Description:

The agreed-upon date when the option premium will be settled.

Figure:

No SVG plugin installed

Contents:

Element premiumSettlementDate is defined by the simple type xsd:date

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="premiumSettlementDate" type="xsd:date">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The agreed-upon date when the option premium will be settled.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

premiumValue

Description:

The value of the premium quote. In general this will be either a percentage or an explicit amount.

Figure:

No SVG plugin installed

Contents:

Element premiumValue is defined by the simple type xsd:decimal

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="premiumValue" type="xsd:decimal">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The value of the premium quote. In general this will be either a
      percentage or an explicit amount.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

primaryRateSource

Description:

The primary source for where the rate observation will occur. Will typically be either a page or a reference bank published rate.

Figure:

No SVG plugin installed

Contents:

Element primaryRateSource is defined by the complex type InformationSource

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="primaryRateSource" type="InformationSource">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The primary source for where the rate observation will occur.
      Will typically be either a page or a reference bank published
      rate.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

principal

Description:

Figure:

No SVG plugin installed

Contents:

Element principal is defined by the complex type Money

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="principal" type="Money">
  <xsd:annotation>
    <xsd:documentation>
      The principal amount of the trade.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

putCurrencyAmount

Description:

The currency amount that the option gives the right to sell.

Figure:

No SVG plugin installed

Contents:

Element putCurrencyAmount is defined by the complex type Money

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="putCurrencyAmount" type="Money">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The currency amount that the option gives the right to sell.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

quoteBasis

Description:

The method by which the exchange rate is quoted.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type QuoteBasis)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="quoteBasis">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The method by which the exchange rate is quoted.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="QuoteBasis">
        <xsd:attribute name="quoteBasisScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

quotedAs

Description:

Describes how the option was quoted.

Figure:

No SVG plugin installed

Contents:

Element quotedAs is defined by the complex type QuotedAs

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="quotedAs" type="QuotedAs">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Describes how the option was quoted.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

quotedCurrencyPair

Description:

Defines the two currencies for an FX trade and the quotation relationship between the two currencies.

Figure:

No SVG plugin installed

Contents:

Element quotedCurrencyPair is defined by the complex type QuotedCurrencyPair

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="quotedCurrencyPair" type="QuotedCurrencyPair">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Defines the two currencies for an FX trade and the quotation
      relationship between the two currencies.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

quotedTenor

Description:

Code denoting the tenor of the option leg.

Figure:

No SVG plugin installed

Contents:

Element quotedTenor is defined by the complex type Interval

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="quotedTenor" type="Interval">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Code denoting the tenor of the option leg.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

secondaryRateSource

Description:

An alternative, or secondary, source for where the rate observation will occur. Will typically be either a page or a reference bank published rate.

Figure:

No SVG plugin installed

Contents:

Element secondaryRateSource is defined by the complex type InformationSource

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="secondaryRateSource" type="InformationSource">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An alternative, or secondary, source for where the rate
      observation will occur. Will typically be either a page or a
      reference bank published rate.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

sideRateBasis

Description:

The method by which the exchange rate against base currency is quoted.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type SideRateBasis)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="sideRateBasis">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The method by which the exchange rate against base currency is
      quoted.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="SideRateBasis">
        <xsd:attribute name="sideRateBasisScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

sideRates

Description:

An optional element that allow for definition of rates against base currency for non-base currency FX contracts.

Figure:

No SVG plugin installed

Contents:

Element sideRates is defined by the complex type SideRates

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="sideRates" type="SideRates">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An optional element that allow for definition of rates against
      base currency for non-base currency FX contracts.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

spotRate

Description:

An optional element used for FX forwards and certain types of FX OTC options. For deals consumated in the FX Forwards Market, this represents the current market rate for a particular currency pair. For barrier and digital/binary options, it can be useful to include the spot rate at the time the option was executed to make it easier to know whether the option needs to move "up" or "down" to be triggered.

Figure:

No SVG plugin installed

Contents:

Element spotRate is defined by the simple type xsd:decimal

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="spotRate" type="xsd:decimal">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An optional element used for FX forwards and certain types of FX
      OTC options. For deals consumated in the FX Forwards Market, this
      represents the current market rate for a particular currency
      pair. For barrier and digital/binary options, it can be useful to
      include the spot rate at the time the option was executed to make
      it easier to know whether the option needs to move "up" or "down"
      to be triggered.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

strikeQuoteBasis

Description:

The method by which the strike rate is quoted.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type StrikeQuoteBasis)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="strikeQuoteBasis">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The method by which the strike rate is quoted.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="StrikeQuoteBasis">
        <xsd:attribute name="strikeQuoteBasisScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

termDeposit

Description:

Figure:

No SVG plugin installed

Contents:

Element termDeposit is defined by the complex type TermDeposit

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="termDeposit" type="TermDeposit" substitutionGroup="product">
  <xsd:annotation>
    <xsd:documentation>
      A term deposit product definition.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

touchCondition

Description:

The binary condition that applies to an American-style trigger. There can only be two domain values for this element: "touch" or "no touch".

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type TouchCondition)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="touchCondition">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The binary condition that applies to an American-style trigger.
      There can only be two domain values for this element: "touch" or
      "no touch".
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="TouchCondition">
        <xsd:attribute name="tounchConditionScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

triggerCondition

Description:

The binary condition that applies to a European-style trigger, determining where the spot rate must be relative to the triggerRate for the option to be exercisable. There can only be two domain values for this element: "aboveTrigger" or "belowTrigger".

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type TriggerCondition)

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="triggerCondition">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The binary condition that applies to a European-style trigger,
      determining where the spot rate must be relative to the
      triggerRate for the option to be exercisable. There can only be
      two domain values for this element: "aboveTrigger" or
      "belowTrigger".
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="TriggerCondition">
        <xsd:attribute name="triggerConditionScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

triggerPayout

Description:

The amount of currency which becomes payable if and when a trigger event occurs.

Figure:

No SVG plugin installed

Contents:

Element triggerPayout is defined by the complex type FXOptionPayout

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="triggerPayout" type="FXOptionPayout">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The amount of currency which becomes payable if and when a
      trigger event occurs.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

triggerRate

Description:

The market rate is observed relative to the trigger rate, and if it is found to be on the predefined side of (above or below) the trigger rate, a trigger event is deemed to have occurred.

Figure:

No SVG plugin installed

Contents:

Element triggerRate is defined by the simple type xsd:decimal

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="triggerRate" type="xsd:decimal">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The market rate is observed relative to the trigger rate, and if
      it is found to be on the predefined side of (above or below) the
      trigger rate, a trigger event is deemed to have occurred.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

valueDate

Description:

The date on which both currencies traded will settle.

Figure:

No SVG plugin installed

Contents:

Element valueDate is defined by the simple type xsd:date

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="valueDate" type="xsd:date">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The date on which both currencies traded will settle.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

Global Complex Types

ExpiryDateTime

Description:

A type that describes the date and time in a location of the option expiry. In the case of American options this is the latest possible expiry date and time.

Figure:

No SVG plugin installed

Contents:

expiryDate (exactly one occurance; of the type xsd:date)

expiryTime (exactly one occurance; of the type BusinessCenterTime)

cutName (zero or one occurance; with locally defined content)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="ExpiryDateTime">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes the date and time in a location of the
      option expiry. In the case of American options this is the latest
      possible expiry date and time.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="expiryDate"/>
    <xsd:element ref="expiryTime"/>
    <xsd:element ref="cutName" minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

FXAmericanTrigger

Description:

A tyoe that defines a particular type of payout in an FX OTC exotic option. An American trigger occurs if the trigger criteria are met at any time from the initiation to the maturity of the option.

Figure:

No SVG plugin installed

Contents:

touchCondition (exactly one occurance; with locally defined content)

quotedCurrencyPair (exactly one occurance; of the type QuotedCurrencyPair)

triggerRate (exactly one occurance; of the type xsd:decimal)

informationSource (one or more occurances; of the type InformationSource)

observationStartDate (zero or one occurance; of the type xsd:date)

observationEndDate (zero or one occurance; of the type xsd:date)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXAmericanTrigger">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A tyoe that defines a particular type of payout in an FX OTC
      exotic option. An American trigger occurs if the trigger criteria
      are met at any time from the initiation to the maturity of the
      option.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="touchCondition"/>
    <xsd:element ref="quotedCurrencyPair"/>
    <xsd:element ref="triggerRate"/>
    <xsd:element ref="informationSource" maxOccurs="unbounded"/>
    <xsd:element ref="observationStartDate" minOccurs="0"/>
    <xsd:element ref="observationEndDate" minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

FXAverageRateObservationDate

Description:

A type that, for average rate options, is used to describe each specific observation date, as opposed to a parametric frequency of rate observations.

Figure:

No SVG plugin installed

Contents:

observationDate (exactly one occurance; of the type xsd:date)

averageRateWeightingFactor (exactly one occurance; of the type xsd:decimal)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXAverageRateObservationDate">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that, for average rate options, is used to describe each
      specific observation date, as opposed to a parametric frequency
      of rate observations.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="observationDate"/>
    <xsd:element ref="averageRateWeightingFactor"/>
  </xsd:sequence>
</xsd:complexType>

FXAverageRateObservationSchedule

Description:

A type that describes average rate options rate observations. This is used to describe a parametric frequency of rate observations against a particular rate. Typical frequencies might include daily, every Friday, etc.

Figure:

No SVG plugin installed

Contents:

observationStartDate (exactly one occurance; of the type xsd:date)

observationEndDate (exactly one occurance; of the type xsd:date)

calculationPeriodFrequency (exactly one occurance; of the type CalculationPeriodFrequency)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXAverageRateObservationSchedule">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes average rate options rate observations.
      This is used to describe a parametric frequency of rate
      observations against a particular rate. Typical frequencies might
      include daily, every Friday, etc.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="observationStartDate"/>
    <xsd:element ref="observationEndDate"/>
    <xsd:element ref="calculationPeriodFrequency"/>
  </xsd:sequence>
</xsd:complexType>

FXAverageRateOption

Description:

A type that is used for an option whose payout is based on the average of the price of the underlying over a specific period of time. The payout is the difference between the predetermined, fixed strike price and the average of spot rates observed and is used for hedging against prevailing spot rates over a given time period.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type Product)

buyerPartyReference (exactly one occurance; with locally defined content)

sellerPartyReference (exactly one occurance; with locally defined content)

expiryDateTime (exactly one occurance; of the type ExpiryDateTime)

exerciseStyle (exactly one occurance; with locally defined content)

fxOptionPremium (zero or more occurances; of the type FXOptionPremium)

valueDate (exactly one occurance; of the type xsd:date)

putCurrencyAmount (exactly one occurance; of the type Money)

callCurrencyAmount (exactly one occurance; of the type Money)

fxStrikePrice (exactly one occurance; of the type FXStrikePrice)

spotRate (zero or one occurance; of the type xsd:decimal)

payoutCurrency (exactly one occurance; with locally defined content)

averageRateQuoteBasis (exactly one occurance; with locally defined content)

precision (zero or one occurance; of the type xsd:nonNegativeInteger)

payoutFormula (zero or one occurance; of the type xsd:string)

primaryRateSource (exactly one occurance; of the type InformationSource)

secondaryRateSource (zero or one occurance; of the type InformationSource)

fixingTime (exactly one occurance; of the type BusinessCenterTime)

Either

averageRateObservationSchedule (exactly one occurance; of the type FXAverageRateObservationSchedule)

Or

averageRateObservationDate (one or more occurances; of the type FXAverageRateObservationDate)

observedRates (zero or more occurances; of the type ObservedRates)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXAverageRateOption">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that is used for an option whose payout is based on the
      average of the price of the underlying over a specific period of
      time. The payout is the difference between the predetermined,
      fixed strike price and the average of spot rates observed and is
      used for hedging against prevailing spot rates over a given time
      period.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Product">
      <xsd:sequence>
        <xsd:element ref="buyerPartyReference"/>
        <xsd:element ref="sellerPartyReference"/>
        <xsd:element ref="expiryDateTime"/>
        <xsd:element ref="exerciseStyle"/>
        <xsd:element ref="fxOptionPremium" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="valueDate"/>
        <xsd:element ref="putCurrencyAmount"/>
        <xsd:element ref="callCurrencyAmount"/>
        <xsd:element ref="fxStrikePrice"/>
        <xsd:element ref="spotRate" minOccurs="0"/>
        <xsd:element ref="payoutCurrency"/>
        <xsd:element ref="averageRateQuoteBasis"/>
        <xsd:element ref="precision" minOccurs="0"/>
        <xsd:element ref="payoutFormula" minOccurs="0"/>
        <xsd:element ref="primaryRateSource"/>
        <xsd:element ref="secondaryRateSource" minOccurs="0"/>
        <xsd:element ref="fixingTime"/>
        <xsd:choice>
          <xsd:element ref="averageRateObservationSchedule"/>
          <xsd:element ref="averageRateObservationDate" maxOccurs="unbounded"/>
        </xsd:choice>
        <xsd:element ref="observedRates" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

FXBarrier

Description:

A type that is used within the FX barrier option definition to define one or more barrier levels that determine whether the option will be knocked-in or knocked-out.

Figure:

No SVG plugin installed

Contents:

fxBarrierType (zero or one occurance; with locally defined content)

quotedCurrencyPair (exactly one occurance; of the type QuotedCurrencyPair)

triggerRate (exactly one occurance; of the type xsd:decimal)

informationSource (one or more occurances; of the type InformationSource)

observationStartDate (zero or one occurance; of the type xsd:date)

observationEndDate (zero or one occurance; of the type xsd:date)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXBarrier">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that is used within the FX barrier option definition to
      define one or more barrier levels that determine whether the
      option will be knocked-in or knocked-out.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="fxBarrierType" minOccurs="0"/>
    <xsd:element ref="quotedCurrencyPair"/>
    <xsd:element ref="triggerRate"/>
    <xsd:element ref="informationSource" maxOccurs="unbounded"/>
    <xsd:element ref="observationStartDate" minOccurs="0"/>
    <xsd:element ref="observationEndDate" minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

FXBarrierOption

Description:

A type that describes an option with a put/call component, but also one or more associated barrier rates. If the market rate moves to reach a barrier rate a trigger event occurs. The trigger event may for example be necessary to enable the option, or may annul the option contract. [Since the barriers reduce the probability of exercise, the premium for an option with barriers is likely to be cheaper than one without].

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type FXOptionLeg)

spotRate (zero or one occurance; of the type xsd:decimal)

fxBarrier (one or more occurances; of the type FXBarrier)

triggerPayout (zero or one occurance; of the type FXOptionPayout)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXBarrierOption">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes an option with a put/call component, but
      also one or more associated barrier rates. If the market rate
      moves to reach a barrier rate a trigger event occurs. The trigger
      event may for example be necessary to enable the option, or may
      annul the option contract. [Since the barriers reduce the
      probability of exercise, the premium for an option with barriers
      is likely to be cheaper than one without].
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="FXOptionLeg">
      <xsd:sequence>
        <xsd:element ref="spotRate" minOccurs="0"/>
        <xsd:element ref="fxBarrier" maxOccurs="unbounded"/>
        <xsd:element ref="triggerPayout" minOccurs="0"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

FXCashSettlement

Description:

A type that is used for describing cash settlement of an option / non deliverable forward. It includes the currency to settle into together with the fixings required to calculate the currency amount.

Figure:

No SVG plugin installed

Contents:

settlementCurrency (exactly one occurance; with locally defined content)

fixing (one or more occurances; of the type FXFixing)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXCashSettlement">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that is used for describing cash settlement of an option /
      non deliverable forward. It includes the currency to settle into
      together with the fixings required to calculate the currency
      amount.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="settlementCurrency"/>
    <xsd:element ref="fixing" maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:complexType>

FXDigitalOption

Description:

A type that describes an option without a put/call component (and so no associated exercise), but with one or more trigger rates) Examples are "one-touch", "no-touch", and "double-no-touch" options. For a specified period the market rate is observed relative to the trigger rates, and on a trigger event a fixed payout may become due to the buyer of the option, or alternatively the option contract may be annulled.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type Product)

buyerPartyReference (exactly one occurance; with locally defined content)

sellerPartyReference (exactly one occurance; with locally defined content)

expiryDateTime (exactly one occurance; of the type ExpiryDateTime)

fxOptionPremium (zero or more occurances; of the type FXOptionPremium)

valueDate (exactly one occurance; of the type xsd:date)

quotedCurrencyPair (exactly one occurance; of the type QuotedCurrencyPair)

spotRate (zero or one occurance; of the type xsd:decimal)

Either

fxEuropeanTrigger (one or more occurances; of the type FXEuropeanTrigger)

Or

fxAmericanTrigger (one or more occurances; of the type FXAmericanTrigger)

triggerPayout (exactly one occurance; of the type FXOptionPayout)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXDigitalOption">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes an option without a put/call component (and
      so no associated exercise), but with one or more trigger rates)
      Examples are "one-touch", "no-touch", and "double-no-touch"
      options. For a specified period the market rate is observed
      relative to the trigger rates, and on a trigger event a fixed
      payout may become due to the buyer of the option, or
      alternatively the option contract may be annulled.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Product">
      <xsd:sequence>
        <xsd:element ref="buyerPartyReference"/>
        <xsd:element ref="sellerPartyReference"/>
        <xsd:element ref="expiryDateTime"/>
        <xsd:element ref="fxOptionPremium" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="valueDate"/>
        <xsd:element ref="quotedCurrencyPair"/>
        <xsd:element ref="spotRate" minOccurs="0"/>
        <xsd:choice>
          <xsd:element ref="fxEuropeanTrigger" maxOccurs="unbounded"/>
          <xsd:element ref="fxAmericanTrigger" maxOccurs="unbounded"/>
        </xsd:choice>
        <xsd:element ref="triggerPayout"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

FXEuropeanTrigger

Description:

A type that defines a particular type of payout in an FX OTC exotic option. A European trigger occurs if the trigger criteria are met, but these are valid (and an observation is made) only at the maturity of the option.

Figure:

No SVG plugin installed

Contents:

triggerCondition (exactly one occurance; with locally defined content)

quotedCurrencyPair (exactly one occurance; of the type QuotedCurrencyPair)

triggerRate (exactly one occurance; of the type xsd:decimal)

informationSource (one or more occurances; of the type InformationSource)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXEuropeanTrigger">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that defines a particular type of payout in an FX OTC
      exotic option. A European trigger occurs if the trigger criteria
      are met, but these are valid (and an observation is made) only at
      the maturity of the option.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="triggerCondition"/>
    <xsd:element ref="quotedCurrencyPair"/>
    <xsd:element ref="triggerRate"/>
    <xsd:element ref="informationSource" maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:complexType>

FXFixing

Description:

A type that specifies the source for and timing of a fixing of an exchange rate. This is used in the agreement of non-deliverable forward trades as well as various types of FX OTC options that require observations against a particular rate.

Figure:

No SVG plugin installed

Contents:

quotedCurrencyPair (exactly one occurance; of the type QuotedCurrencyPair)

primaryRateSource (exactly one occurance; of the type InformationSource)

secondaryRateSource (zero or one occurance; of the type InformationSource)

fixingDate (exactly one occurance; of the type xsd:date)

fixingTime (exactly one occurance; of the type BusinessCenterTime)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXFixing">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that specifies the source for and timing of a fixing of an
      exchange rate. This is used in the agreement of non-deliverable
      forward trades as well as various types of FX OTC options that
      require observations against a particular rate.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="quotedCurrencyPair"/>
    <xsd:element ref="primaryRateSource"/>
    <xsd:element ref="secondaryRateSource" minOccurs="0"/>
    <xsd:element ref="fixingDate"/>
    <xsd:element ref="fixingTime"/>
  </xsd:sequence>
</xsd:complexType>

FXLeg

Description:

A type that represents a single exchange of one currency for another. This is used for representing FX spot, forward, and swap transactions.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type Product)

exchangedCurrency1 (exactly one occurance; of the type Payment)

exchangedCurrency2 (exactly one occurance; of the type Payment)

Either

valueDate (exactly one occurance; of the type xsd:date)

exchangeRate (exactly one occurance; of the type FXRate)

nonDeliverableForward (zero or one occurance; of the type FXCashSettlement)

confirmationSenderPartyReference (zero or one occurance; with locally defined content)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXLeg">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that represents a single exchange of one currency for
      another. This is used for representing FX spot, forward, and swap
      transactions.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Product">
      <xsd:sequence>
        <xsd:element ref="exchangedCurrency1"/>
        <xsd:element ref="exchangedCurrency2"/>
        <xsd:choice>
          <xsd:element ref="valueDate"/>
          <xsd:sequence>
            <xsd:element ref="currency1ValueDate"/>
            <xsd:element ref="currency2ValueDate"/>
          </xsd:sequence>
        </xsd:choice>
        <xsd:element ref="exchangeRate"/>
        <xsd:element ref="nonDeliverableForward" minOccurs="0"/>
        <xsd:element ref="confirmationSenderPartyReference" minOccurs="0"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

FXOptionLeg

Description:

A type that is used for describing a standard FX OTC option (European or American) which may be a complete trade in its own right or part of a trade strategy.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type Product)

buyerPartyReference (exactly one occurance; with locally defined content)

sellerPartyReference (exactly one occurance; with locally defined content)

expiryDateTime (exactly one occurance; of the type ExpiryDateTime)

exerciseStyle (exactly one occurance; with locally defined content)

fxOptionPremium (zero or more occurances; of the type FXOptionPremium)

valueDate (exactly one occurance; of the type xsd:date)

cashSettlementTerms (zero or one occurance; of the type FXCashSettlement)

putCurrencyAmount (exactly one occurance; of the type Money)

callCurrencyAmount (exactly one occurance; of the type Money)

fxStrikePrice (exactly one occurance; of the type FXStrikePrice)

quotedAs (zero or one occurance; of the type QuotedAs)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXOptionLeg">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that is used for describing a standard FX OTC option
      (European or American) which may be a complete trade in its own
      right or part of a trade strategy.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Product">
      <xsd:sequence>
        <xsd:element ref="buyerPartyReference"/>
        <xsd:element ref="sellerPartyReference"/>
        <xsd:element ref="expiryDateTime"/>
        <xsd:element ref="exerciseStyle"/>
        <xsd:element ref="fxOptionPremium" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="valueDate"/>
        <xsd:element ref="cashSettlementTerms" minOccurs="0"/>
        <xsd:element ref="putCurrencyAmount"/>
        <xsd:element ref="callCurrencyAmount"/>
        <xsd:element ref="fxStrikePrice"/>
        <xsd:element ref="quotedAs" minOccurs="0"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

FXOptionPayout

Description:

A type that contains full details of a predefined fixed payout which may occur (or not) in a Barrier Option or Digital Option when a trigger event occurs (or not).

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type Money)

payoutStyle (exactly one occurance; with locally defined content)

settlementInformation (zero or one occurance; of the type SettlementInformation)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXOptionPayout">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that contains full details of a predefined fixed payout
      which may occur (or not) in a Barrier Option or Digital Option
      when a trigger event occurs (or not).
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Money">
      <xsd:sequence>
        <xsd:element ref="payoutStyle"/>
        <xsd:element ref="settlementInformation" minOccurs="0"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

FXOptionPremium

Description:

A type that specifies the premium exchanged for a single option trade or option strategy.

Figure:

No SVG plugin installed

Contents:

payerPartyReference (exactly one occurance; with locally defined content)

receiverPartyReference (exactly one occurance; with locally defined content)

premiumAmount (exactly one occurance; of the type Money)

premiumSettlementDate (exactly one occurance; of the type xsd:date)

settlementInformation (zero or one occurance; of the type SettlementInformation)

premiumQuote (zero or one occurance; of the type PremiumQuote)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXOptionPremium">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that specifies the premium exchanged for a single option
      trade or option strategy.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="payerPartyReference"/>
    <xsd:element ref="receiverPartyReference"/>
    <xsd:element ref="premiumAmount"/>
    <xsd:element ref="premiumSettlementDate"/>
    <xsd:element ref="settlementInformation" minOccurs="0"/>
    <xsd:element ref="premiumQuote" minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

FXRate

Description:

A type that is used for describing the exchange rate for a particular transaction.

Figure:

No SVG plugin installed

Contents:

quotedCurrencyPair (exactly one occurance; of the type QuotedCurrencyPair)

rate (exactly one occurance; of the type xsd:decimal)

spotRate (zero or one occurance; of the type xsd:decimal)

forwardPoints (zero or one occurance; of the type xsd:decimal)

sideRates (zero or one occurance; of the type SideRates)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXRate">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that is used for describing the exchange rate for a
      particular transaction.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="quotedCurrencyPair"/>
    <xsd:element ref="rate"/>
    <xsd:element ref="spotRate" minOccurs="0"/>
    <xsd:element ref="forwardPoints" minOccurs="0"/>
    <xsd:element ref="sideRates" minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

FXStrikePrice

Description:

A type that describes the rate of exchange at which the option has been struck.

Figure:

No SVG plugin installed

Contents:

rate (exactly one occurance; of the type xsd:decimal)

strikeQuoteBasis (exactly one occurance; with locally defined content)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXStrikePrice">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes the rate of exchange at which the option
      has been struck.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="rate"/>
    <xsd:element ref="strikeQuoteBasis"/>
  </xsd:sequence>
</xsd:complexType>

FXSwap

Description:

A type that describes an FX swap. This is similar to FpML_FXLeg, but contains multiple legs for a particular trade.

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type Product)

fxSingleLeg (one or more occurances; of the type FXLeg)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="FXSwap">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes an FX swap. This is similar to FpML_FXLeg,
      but contains multiple legs for a particular trade.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Product">
      <xsd:sequence>
        <xsd:element ref="fxSingleLeg" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

ObservedRates

Description:

A type that describes prior rate observations within average rate options. Periodically, an average rate option agreement will be struck whereby some rates have already been observed in the past but will become part of computation of the average rate of the option. This structure provides for these previously observed rates to be included in the description of the trade.

Figure:

No SVG plugin installed

Contents:

observationDate (exactly one occurance; of the type xsd:date)

observedRate (exactly one occurance; of the type xsd:decimal)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="ObservedRates">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes prior rate observations within average rate
      options. Periodically, an average rate option agreement will be
      struck whereby some rates have already been observed in the past
      but will become part of computation of the average rate of the
      option. This structure provides for these previously observed
      rates to be included in the description of the trade.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="observationDate"/>
    <xsd:element ref="observedRate"/>
  </xsd:sequence>
</xsd:complexType>

PremiumQuote

Description:

A type that describes the option premium as quoted.

Figure:

No SVG plugin installed

Contents:

premiumValue (exactly one occurance; of the type xsd:decimal)

premiumQuoteBasis (exactly one occurance; with locally defined content)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="PremiumQuote">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes the option premium as quoted.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="premiumValue"/>
    <xsd:element ref="premiumQuoteBasis"/>
  </xsd:sequence>
</xsd:complexType>

QuotedAs

Description:

A type that describes how the option was quoted.

Figure:

No SVG plugin installed

Contents:

optionOnCurrency (exactly one occurance; with locally defined content)

faceOnCurrency (exactly one occurance; with locally defined content)

quotedTenor (zero or one occurance; of the type Interval)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="QuotedAs">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes how the option was quoted.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="optionOnCurrency"/>
    <xsd:element ref="faceOnCurrency"/>
    <xsd:element ref="quotedTenor" minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

QuotedCurrencyPair

Description:

A type that describes the composition of a rate that has been quoted or is to be quoted. This includes the two currencies and the quotation relationship between the two currencies and is used as a building block throughout the FX specification.

Figure:

No SVG plugin installed

Contents:

currency1 (exactly one occurance; with locally defined content)

currency2 (exactly one occurance; with locally defined content)

quoteBasis (exactly one occurance; with locally defined content)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="QuotedCurrencyPair">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that describes the composition of a rate that has been
      quoted or is to be quoted. This includes the two currencies and
      the quotation relationship between the two currencies and is used
      as a building block throughout the FX specification.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="currency1"/>
    <xsd:element ref="currency2"/>
    <xsd:element ref="quoteBasis"/>
  </xsd:sequence>
</xsd:complexType>

SideRate

Description:

A type that is used for describing a particular rate against base currency. Exists within SideRates.

Figure:

No SVG plugin installed

Contents:

currency (exactly one occurance; with locally defined content)

sideRateBasis (exactly one occurance; with locally defined content)

rate (exactly one occurance; of the type xsd:decimal)

spotRate (zero or one occurance; of the type xsd:decimal)

forwardPoints (zero or one occurance; of the type xsd:decimal)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="SideRate">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that is used for describing a particular rate against base
      currency. Exists within SideRates.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="currency"/>
    <xsd:element ref="sideRateBasis"/>
    <xsd:element ref="rate"/>
    <xsd:element ref="spotRate" minOccurs="0"/>
    <xsd:element ref="forwardPoints" minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

SideRates

Description:

A type that is used for including rates against base currency for non-base currency FX contracts.

Figure:

No SVG plugin installed

Contents:

baseCurrency (exactly one occurance; with locally defined content)

currency1SideRate (zero or one occurance; of the type SideRate)

currency2SideRate (zero or one occurance; of the type SideRate)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="SideRates">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that is used for including rates against base currency for
      non-base currency FX contracts.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="baseCurrency"/>
    <xsd:element ref="currency1SideRate" minOccurs="0"/>
    <xsd:element ref="currency2SideRate" minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

TermDeposit

Description:

Figure:

No SVG plugin installed

Contents:

Inherited element(s): (This definition inherits the content defined by the type Product)

initialPayerReference (exactly one occurance; with locally defined content)

initialReceiverReference (exactly one occurance; with locally defined content)

startDate (exactly one occurance; of the type xsd:date)

maturityDate (exactly one occurance; of the type xsd:date)

dayCountFraction (exactly one occurance; with locally defined content)

principal (exactly one occurance; of the type Money)

fixedRate (exactly one occurance; of the type xsd:decimal)

interest (zero or one occurance; of the type Money)

payment (zero or more occurances; of the type Payment)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="TermDeposit">
  <xsd:annotation>
    <xsd:documentation>
      A class defining the content model for a term deposit product.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Product">
      <xsd:sequence>
        <xsd:element ref="initialPayerReference"/>
        <xsd:element ref="initialReceiverReference"/>
        <xsd:element ref="startDate"/>
        <xsd:element ref="maturityDate"/>
        <xsd:element ref="dayCountFraction"/>
        <xsd:element ref="principal"/>
        <xsd:element ref="fixedRate"/>
        <xsd:element ref="interest" minOccurs="0"/>
        <xsd:element ref="payment" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

Global Simple Types

CutName

Description:

Contents:

Inherited element(s): (This definition restricts the content defined by the type xsd:string)

Used by:

Derived Types:

Schema Fragment:

<xsd:simpleType name="CutName">
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

ExerciseStyle

Description:

Contents:

Inherited element(s): (This definition restricts the content defined by the type xsd:string)

Used by:

Derived Types:

Schema Fragment:

<xsd:simpleType name="ExerciseStyle">
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

FxBarrierType

Description:

Contents:

Inherited element(s): (This definition restricts the content defined by the type xsd:string)

Used by:

Derived Types:

Schema Fragment:

<xsd:simpleType name="FxBarrierType">
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

Payout

Description:

Contents:

Inherited element(s): (This definition restricts the content defined by the type xsd:string)

Used by:

Derived Types:

Schema Fragment:

<xsd:simpleType name="Payout">
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

PremiumQuoteBasis

Description:

Contents:

Inherited element(s): (This definition restricts the content defined by the type xsd:string)

Used by:

Derived Types:

Schema Fragment:

<xsd:simpleType name="PremiumQuoteBasis">
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

QuoteBasis

Description:

Contents:

Inherited element(s): (This definition restricts the content defined by the type xsd:string)

Used by:

Derived Types:

Schema Fragment:

<xsd:simpleType name="QuoteBasis">
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

SideRateBasis

Description:

Contents:

Inherited element(s): (This definition restricts the content defined by the type xsd:string)

Used by:

Derived Types:

Schema Fragment:

<xsd:simpleType name="SideRateBasis">
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

StrikeQuoteBasis

Description:

Contents:

Inherited element(s): (This definition restricts the content defined by the type xsd:string)

Used by:

Derived Types:

Schema Fragment:

<xsd:simpleType name="StrikeQuoteBasis">
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

TouchCondition

Description:

Contents:

Inherited element(s): (This definition restricts the content defined by the type xsd:string)

Used by:

Derived Types:

Schema Fragment:

<xsd:simpleType name="TouchCondition">
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

TriggerCondition

Description:

Contents:

Inherited element(s): (This definition restricts the content defined by the type xsd:string)

Used by:

Derived Types:

Schema Fragment:

<xsd:simpleType name="TriggerCondition">
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

Full XML Schema

<xsd:schema targetNamespace="http://www.fpml.org/2003/FpML-4-0" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xsd:include schemaLocation="fpml-ird-4-0.xsd"/>
  <xsd:include schemaLocation="fpml-shared-4-0.xsd"/>
  <xsd:complexType name="ExpiryDateTime">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes the date and time in a location of the
        option expiry. In the case of American options this is the
        latest possible expiry date and time.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="expiryDate"/>
      <xsd:element ref="expiryTime"/>
      <xsd:element ref="cutName" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FXAmericanTrigger">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A tyoe that defines a particular type of payout in an FX OTC
        exotic option. An American trigger occurs if the trigger
        criteria are met at any time from the initiation to the
        maturity of the option.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="touchCondition"/>
      <xsd:element ref="quotedCurrencyPair"/>
      <xsd:element ref="triggerRate"/>
      <xsd:element ref="informationSource" maxOccurs="unbounded"/>
      <xsd:element ref="observationStartDate" minOccurs="0"/>
      <xsd:element ref="observationEndDate" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FXAverageRateObservationDate">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that, for average rate options, is used to describe each
        specific observation date, as opposed to a parametric frequency
        of rate observations.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="observationDate"/>
      <xsd:element ref="averageRateWeightingFactor"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FXAverageRateObservationSchedule">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes average rate options rate observations.
        This is used to describe a parametric frequency of rate
        observations against a particular rate. Typical frequencies
        might include daily, every Friday, etc.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="observationStartDate"/>
      <xsd:element ref="observationEndDate"/>
      <xsd:element ref="calculationPeriodFrequency"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FXAverageRateOption">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that is used for an option whose payout is based on the
        average of the price of the underlying over a specific period
        of time. The payout is the difference between the
        predetermined, fixed strike price and the average of spot rates
        observed and is used for hedging against prevailing spot rates
        over a given time period.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:element ref="buyerPartyReference"/>
          <xsd:element ref="sellerPartyReference"/>
          <xsd:element ref="expiryDateTime"/>
          <xsd:element ref="exerciseStyle"/>
          <xsd:element ref="fxOptionPremium" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="valueDate"/>
          <xsd:element ref="putCurrencyAmount"/>
          <xsd:element ref="callCurrencyAmount"/>
          <xsd:element ref="fxStrikePrice"/>
          <xsd:element ref="spotRate" minOccurs="0"/>
          <xsd:element ref="payoutCurrency"/>
          <xsd:element ref="averageRateQuoteBasis"/>
          <xsd:element ref="precision" minOccurs="0"/>
          <xsd:element ref="payoutFormula" minOccurs="0"/>
          <xsd:element ref="primaryRateSource"/>
          <xsd:element ref="secondaryRateSource" minOccurs="0"/>
          <xsd:element ref="fixingTime"/>
          <xsd:choice>
            <xsd:element ref="averageRateObservationSchedule"/>
            <xsd:element ref="averageRateObservationDate" maxOccurs="unbounded"/>
          </xsd:choice>
          <xsd:element ref="observedRates" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FXBarrier">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that is used within the FX barrier option definition to
        define one or more barrier levels that determine whether the
        option will be knocked-in or knocked-out.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="fxBarrierType" minOccurs="0"/>
      <xsd:element ref="quotedCurrencyPair"/>
      <xsd:element ref="triggerRate"/>
      <xsd:element ref="informationSource" maxOccurs="unbounded"/>
      <xsd:element ref="observationStartDate" minOccurs="0"/>
      <xsd:element ref="observationEndDate" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FXBarrierOption">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes an option with a put/call component, but
        also one or more associated barrier rates. If the market rate
        moves to reach a barrier rate a trigger event occurs. The
        trigger event may for example be necessary to enable the
        option, or may annul the option contract. [Since the barriers
        reduce the probability of exercise, the premium for an option
        with barriers is likely to be cheaper than one without].
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="FXOptionLeg">
        <xsd:sequence>
          <xsd:element ref="spotRate" minOccurs="0"/>
          <xsd:element ref="fxBarrier" maxOccurs="unbounded"/>
          <xsd:element ref="triggerPayout" minOccurs="0"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FXCashSettlement">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that is used for describing cash settlement of an option
        / non deliverable forward. It includes the currency to settle
        into together with the fixings required to calculate the
        currency amount.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="settlementCurrency"/>
      <xsd:element ref="fixing" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FXDigitalOption">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes an option without a put/call component
        (and so no associated exercise), but with one or more trigger
        rates) Examples are "one-touch", "no-touch", and
        "double-no-touch" options. For a specified period the market
        rate is observed relative to the trigger rates, and on a
        trigger event a fixed payout may become due to the buyer of the
        option, or alternatively the option contract may be annulled.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:element ref="buyerPartyReference"/>
          <xsd:element ref="sellerPartyReference"/>
          <xsd:element ref="expiryDateTime"/>
          <xsd:element ref="fxOptionPremium" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="valueDate"/>
          <xsd:element ref="quotedCurrencyPair"/>
          <xsd:element ref="spotRate" minOccurs="0"/>
          <xsd:choice>
            <xsd:element ref="fxEuropeanTrigger" maxOccurs="unbounded"/>
            <xsd:element ref="fxAmericanTrigger" maxOccurs="unbounded"/>
          </xsd:choice>
          <xsd:element ref="triggerPayout"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FXEuropeanTrigger">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that defines a particular type of payout in an FX OTC
        exotic option. A European trigger occurs if the trigger
        criteria are met, but these are valid (and an observation is
        made) only at the maturity of the option.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="triggerCondition"/>
      <xsd:element ref="quotedCurrencyPair"/>
      <xsd:element ref="triggerRate"/>
      <xsd:element ref="informationSource" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FXFixing">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that specifies the source for and timing of a fixing of
        an exchange rate. This is used in the agreement of
        non-deliverable forward trades as well as various types of FX
        OTC options that require observations against a particular
        rate.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="quotedCurrencyPair"/>
      <xsd:element ref="primaryRateSource"/>
      <xsd:element ref="secondaryRateSource" minOccurs="0"/>
      <xsd:element ref="fixingDate"/>
      <xsd:element ref="fixingTime"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FXLeg">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that represents a single exchange of one currency for
        another. This is used for representing FX spot, forward, and
        swap transactions.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:element ref="exchangedCurrency1"/>
          <xsd:element ref="exchangedCurrency2"/>
          <xsd:choice>
            <xsd:element ref="valueDate"/>
            <xsd:sequence>
              <xsd:element ref="currency1ValueDate"/>
              <xsd:element ref="currency2ValueDate"/>
            </xsd:sequence>
          </xsd:choice>
          <xsd:element ref="exchangeRate"/>
          <xsd:element ref="nonDeliverableForward" minOccurs="0"/>
          <xsd:element ref="confirmationSenderPartyReference" minOccurs="0"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FXOptionLeg">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that is used for describing a standard FX OTC option
        (European or American) which may be a complete trade in its own
        right or part of a trade strategy.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:element ref="buyerPartyReference"/>
          <xsd:element ref="sellerPartyReference"/>
          <xsd:element ref="expiryDateTime"/>
          <xsd:element ref="exerciseStyle"/>
          <xsd:element ref="fxOptionPremium" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="valueDate"/>
          <xsd:element ref="cashSettlementTerms" minOccurs="0"/>
          <xsd:element ref="putCurrencyAmount"/>
          <xsd:element ref="callCurrencyAmount"/>
          <xsd:element ref="fxStrikePrice"/>
          <xsd:element ref="quotedAs" minOccurs="0"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FXOptionPayout">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that contains full details of a predefined fixed payout
        which may occur (or not) in a Barrier Option or Digital Option
        when a trigger event occurs (or not).
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Money">
        <xsd:sequence>
          <xsd:element ref="payoutStyle"/>
          <xsd:element ref="settlementInformation" minOccurs="0"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FXOptionPremium">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that specifies the premium exchanged for a single option
        trade or option strategy.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="payerPartyReference"/>
      <xsd:element ref="receiverPartyReference"/>
      <xsd:element ref="premiumAmount"/>
      <xsd:element ref="premiumSettlementDate"/>
      <xsd:element ref="settlementInformation" minOccurs="0"/>
      <xsd:element ref="premiumQuote" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FXRate">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that is used for describing the exchange rate for a
        particular transaction.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="quotedCurrencyPair"/>
      <xsd:element ref="rate"/>
      <xsd:element ref="spotRate" minOccurs="0"/>
      <xsd:element ref="forwardPoints" minOccurs="0"/>
      <xsd:element ref="sideRates" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FXStrikePrice">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes the rate of exchange at which the option
        has been struck.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="rate"/>
      <xsd:element ref="strikeQuoteBasis"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FXSwap">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes an FX swap. This is similar to
        FpML_FXLeg, but contains multiple legs for a particular trade.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:element ref="fxSingleLeg" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="ObservedRates">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes prior rate observations within average
        rate options. Periodically, an average rate option agreement
        will be struck whereby some rates have already been observed in
        the past but will become part of computation of the average
        rate of the option. This structure provides for these
        previously observed rates to be included in the description of
        the trade.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="observationDate"/>
      <xsd:element ref="observedRate"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PremiumQuote">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes the option premium as quoted.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="premiumValue"/>
      <xsd:element ref="premiumQuoteBasis"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="QuotedAs">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes how the option was quoted.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="optionOnCurrency"/>
      <xsd:element ref="faceOnCurrency"/>
      <xsd:element ref="quotedTenor" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="QuotedCurrencyPair">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that describes the composition of a rate that has been
        quoted or is to be quoted. This includes the two currencies and
        the quotation relationship between the two currencies and is
        used as a building block throughout the FX specification.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="currency1"/>
      <xsd:element ref="currency2"/>
      <xsd:element ref="quoteBasis"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SideRate">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that is used for describing a particular rate against
        base currency. Exists within SideRates.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="currency"/>
      <xsd:element ref="sideRateBasis"/>
      <xsd:element ref="rate"/>
      <xsd:element ref="spotRate" minOccurs="0"/>
      <xsd:element ref="forwardPoints" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SideRates">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that is used for including rates against base currency
        for non-base currency FX contracts.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="baseCurrency"/>
      <xsd:element ref="currency1SideRate" minOccurs="0"/>
      <xsd:element ref="currency2SideRate" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="averageRateObservationDate" type="FXAverageRateObservationDate">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        One of more specific rate observation dates.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="averageRateObservationSchedule" type="FXAverageRateObservationSchedule">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Parametric schedule of rate observations.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="averageRateQuoteBasis">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The method by which the average rate that is being observed is
        quoted.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="StrikeQuoteBasis">
          <xsd:attribute name="strikeQuoteBasisScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="averageRateWeightingFactor" type="xsd:decimal">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An optional factor that can be used for weighting certain
        observation dates. Typically, firms will weight each date with
        a factor of 1 if there are standard, unweighted adjustments.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="baseCurrency">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The currency that is used as the basis for the side rates when
        calculating a cross rate.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="Currency">
          <xsd:attribute name="currencyScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="callCurrencyAmount" type="Money">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The currency amount that the option gives the right to buy.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="cashSettlementTerms" type="FXCashSettlement">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        This optional element is only used if an option has been
        specified at execution time to be settled into a single cash
        payment. This would be used for a non-deliverable option.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="confirmationSenderPartyReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The party that is sending the current document as a
        confirmation of the trade.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:attribute name="href" use="required" type="xsd:IDREF"/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="currency1">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The first currency specified when a pair of currencies is to be
        evaluated.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="Currency">
          <xsd:attribute name="currencyScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="currency1SideRate" type="SideRate">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The exchange rate for the first currency of the trade against
        base currency.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="currency1ValueDate" type="xsd:date">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The date on which the currency1 amount will be settled. To be
        used in a split value date scenario.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="currency2">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The second currency specified when a pair of currencies is to
        be evaluated.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="Currency">
          <xsd:attribute name="currencyScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="currency2SideRate" type="SideRate">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The exchange rate for the second currency of the trade against
        base currency.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="currency2ValueDate" type="xsd:date">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The date on which the currency2 amount will be settled. To be
        used in a split value date scenario.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="cutName">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Allows for an expiryDateTime cut to be described by name.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="CutName">
          <xsd:attribute name="cutNameScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="exchangeRate" type="FXRate">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The rate of exchange between the two currencies.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="exchangedCurrency1" type="Payment">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        This is the first of the two currency flows that define a
        single leg of a standard foreign exchange transaction.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="exchangedCurrency2" type="Payment">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        This is the second of the two currency flows that define a
        single leg of a standard foreign exchange transaction.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="exerciseStyle">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The manner in which the option can be exercised.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="ExerciseStyle">
          <xsd:attribute name="exerciseStyleScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="expiryDate" type="xsd:date">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Represents a standard expiry date as defined for an FX OTC
        option.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="expiryDateTime" type="ExpiryDateTime">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The date and time in a location of the option expiry. In the
        case of american options this is the latest possible expiry
        date and time.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="expiryTime" type="BusinessCenterTime"/>
  <xsd:element name="faceOnCurrency">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Either the callCurrencyAmount or the putCurrencyAmount defined
        elsewhere in the document.The currency reference denotes the
        face currency as the option was quoted (as opposed to the
        option currency).
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="Currency">
          <xsd:attribute name="currencyScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="fixing" type="FXFixing">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Specifies the source for and timing of a fixing of an exchange
        rate. This is used in the agreement of non-deliverable forward
        trades as well as various types of FX OTC options that require
        observations against a particular rate.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fixingDate" type="xsd:date">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Describes the specific date when a non-deliverable forward or
        non-deliverable option will "fix" against a particular rate,
        which will be used to compute the ultimate cash settlement.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="forwardPoints" type="xsd:decimal">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An optional element used for deals consumated in the FX
        Forwards market. Forward points represent the interest rate
        differential between the two currencies traded and are quoted
        as a preminum or a discount. Forward points are added to, or
        subtracted from, the spot rate to create the rate of the
        forward trade.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxAmericanTrigger" type="FXAmericanTrigger">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An American trigger occurs if the trigger criteria are met at
        any time from the initiation to the maturity of the option.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxAverageRateOption" type="FXAverageRateOption" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A component describing an FX Average Rate Option product.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxBarrier" type="FXBarrier">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Information about a barrier rate in a Barrier Option -
        specifying the exact criteria for a trigger event to occur.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxBarrierOption" type="FXBarrierOption" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A component describing a FX Barrier Option product.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxBarrierType">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        This specifies whether the option becomes effective
        ("knock-in") or is annulled ("knock-out") when the respective
        trigger event occurs.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="FxBarrierType">
          <xsd:attribute name="fxBarrierTypeScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="fxDigitalOption" type="FXDigitalOption" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A component describing a FX Digital Option product.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxEuropeanTrigger" type="FXEuropeanTrigger">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A European trigger occurs if the trigger criteria are met, but
        these are valid (and an observation is made) only at the
        maturity of the option.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxOptionPremium" type="FXOptionPremium">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Premium amount or premium installment amount for an option.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxSimpleOption" type="FXOptionLeg" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A component describing a FX Simple Option product
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxSingleLeg" type="FXLeg" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A single-legged FX transaction definition (e.g., spot or
        forward).
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxStrikePrice" type="FXStrikePrice">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        TBA
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="fxSwap" type="FXSwap" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A component describing a FX Swap product.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="nonDeliverableForward" type="FXCashSettlement">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Used to describe a particular type of FX forward transaction
        that is settled in a single currency.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="observationDate" type="xsd:date">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A specific date for which an observation against a particular
        rate will be made and will be used for subsequent computations.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="observationStartDate" type="xsd:date">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The start of the period over which observations are made to
        determine whether a trigger has occurred.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="observationEndDate" type="xsd:date">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The end of the period over which observations are made to
        determine whether a trigger event has occurred.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="observedRates" type="ObservedRates">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Describes prior rate observations within average rate options.
        Periodically, an average rate option agreement will be struck
        whereby some rates have already been observed in the past but
        will become part of computation of the average rate of the
        option. This structure provides for these previously observed
        rates to be included in the description of the trade.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="optionOnCurrency">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Either the callCurrencyAmount or the putCurrencyAmount defined
        elsewhere in the document. The currency reference denotes the
        option currency as the option was quoted (as opposed to the
        face currency).
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="Currency">
          <xsd:attribute name="currencyScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="payoutCurrency">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The ISO code of the currency in which a payout (if any) is to
        be made when a trigger is hit on a digital or barrier option.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="Currency">
          <xsd:attribute name="currencyScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="payoutFormula" type="xsd:string">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The description of the mathematical computation for how the
        payout is computed.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="payoutStyle">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The trigger event and payout may be asynchonous. A payout may
        become due on the trigger event, or the payout may (by
        agreeement at initiation) be deferred (for example) to the
        maturity date.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="Payout">
          <xsd:attribute name="payoutScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="premiumAmount" type="Money">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The specific currency and amount of the option premium.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="premiumQuote" type="PremiumQuote">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        This is the option premium as quoted. It is expected to be
        consistent with the premiumAmount and is for information only.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="premiumQuoteBasis">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The method by which the option premium was quoted.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="PremiumQuoteBasis">
          <xsd:attribute name="premiumQuoteBasisScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="premiumSettlementDate" type="xsd:date">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The agreed-upon date when the option premium will be settled.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="premiumValue" type="xsd:decimal">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The value of the premium quote. In general this will be either
        a percentage or an explicit amount.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="primaryRateSource" type="InformationSource">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The primary source for where the rate observation will occur.
        Will typically be either a page or a reference bank published
        rate.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="putCurrencyAmount" type="Money">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The currency amount that the option gives the right to sell.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="quoteBasis">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The method by which the exchange rate is quoted.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="QuoteBasis">
          <xsd:attribute name="quoteBasisScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="quotedAs" type="QuotedAs">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Describes how the option was quoted.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="quotedCurrencyPair" type="QuotedCurrencyPair">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Defines the two currencies for an FX trade and the quotation
        relationship between the two currencies.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="quotedTenor" type="Interval">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Code denoting the tenor of the option leg.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="secondaryRateSource" type="InformationSource">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An alternative, or secondary, source for where the rate
        observation will occur. Will typically be either a page or a
        reference bank published rate.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="sideRates" type="SideRates">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An optional element that allow for definition of rates against
        base currency for non-base currency FX contracts.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="sideRateBasis">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The method by which the exchange rate against base currency is
        quoted.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="SideRateBasis">
          <xsd:attribute name="sideRateBasisScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="spotRate" type="xsd:decimal">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An optional element used for FX forwards and certain types of
        FX OTC options. For deals consumated in the FX Forwards Market,
        this represents the current market rate for a particular
        currency pair. For barrier and digital/binary options, it can
        be useful to include the spot rate at the time the option was
        executed to make it easier to know whether the option needs to
        move "up" or "down" to be triggered.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="strikeQuoteBasis">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The method by which the strike rate is quoted.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="StrikeQuoteBasis">
          <xsd:attribute name="strikeQuoteBasisScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="touchCondition">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The binary condition that applies to an American-style trigger.
        There can only be two domain values for this element: "touch"
        or "no touch".
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="TouchCondition">
          <xsd:attribute name="tounchConditionScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="triggerCondition">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The binary condition that applies to a European-style trigger,
        determining where the spot rate must be relative to the
        triggerRate for the option to be exercisable. There can only be
        two domain values for this element: "aboveTrigger" or
        "belowTrigger".
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="TriggerCondition">
          <xsd:attribute name="triggerConditionScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="triggerPayout" type="FXOptionPayout">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The amount of currency which becomes payable if and when a
        trigger event occurs.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="triggerRate" type="xsd:decimal">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The market rate is observed relative to the trigger rate, and
        if it is found to be on the predefined side of (above or below)
        the trigger rate, a trigger event is deemed to have occurred.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="valueDate" type="xsd:date">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The date on which both currencies traded will settle.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:simpleType name="CutName">
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="ExerciseStyle">
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="FxBarrierType">
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="Payout">
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="PremiumQuoteBasis">
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="QuoteBasis">
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="SideRateBasis">
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="StrikeQuoteBasis">
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="TouchCondition">
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="TriggerCondition">
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:element name="initialPayerReference">
    <xsd:annotation>
      <xsd:documentation>
        A pointer style reference to a part identifier defined
        elsewhere in the document. The party referenced is the payer of
        the initial principal of the deposit on the start date.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:attribute name="href" use="required" type="xsd:IDREF"/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="initialReceiverReference">
    <xsd:annotation>
      <xsd:documentation>
        A pointer style reference to a party identifier defined
        elsewhere in the document. The party is the receiver of the
        initial principal of the deposit on the start date.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:attribute name="href" use="required" type="xsd:IDREF"/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="interest" type="Money">
    <xsd:annotation>
      <xsd:documentation>
        The total interest of at maturity of the trade.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="maturityDate" type="xsd:date">
    <xsd:annotation>
      <xsd:documentation>
        The end date of the calculation period. This date should
        already be adjusted for any applicable business day convention.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="principal" type="Money">
    <xsd:annotation>
      <xsd:documentation>
        The principal amount of the trade.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="termDeposit" type="TermDeposit" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation>
        A term deposit product definition.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:complexType name="TermDeposit">
    <xsd:annotation>
      <xsd:documentation>
        A class defining the content model for a term deposit product.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:element ref="initialPayerReference"/>
          <xsd:element ref="initialReceiverReference"/>
          <xsd:element ref="startDate"/>
          <xsd:element ref="maturityDate"/>
          <xsd:element ref="dayCountFraction"/>
          <xsd:element ref="principal"/>
          <xsd:element ref="fixedRate"/>
          <xsd:element ref="interest" minOccurs="0"/>
          <xsd:element ref="payment" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
</xsd:schema>