# FpML 4.2 Trial Recommendation

## 10 September 2021

## Foreign Exchange Component Definitions

### Version: 4.2

### This Version:

> http://www.fpml.org/spec/fpml-4-2-13-tr-6

### Latest Version:

> http://www.fpml.org/spec/fpml-4-2-13-tr-6

### Previous Version:

> https://www.fpml.org/spec/fpml-4-2-12-rec-2/

### Errata for this Version:

> http://www.fpml.org/spec/errata/fpml-4-2-13-tr-6-errata.html

Document built: Thu 09/09/2021 16:55:48.65

Copyright (c) 1999 - 2006 by INTERNATIONAL SWAPS AND DERIVATIVES ASSOCIATION, INC.
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.html

The FpML specifications provided are without warranty of any kind, either expressed or implied, including, without limitation, warranties that FpML, or the FpML specifications are free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the specifications is with you. Should any of the FpML specifications prove defective in any respect, you assume the cost of any necessary servicing or repair. Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall ISDA, any of its members, or any distributor of documents or software containing any of the FpML specifications, or any supplier of any of such parties, be liable to you or any other person for any indirect, special, incidental, or consequential damages of any character including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages.

# Contents

  Global Simple Types
  Global Complex Types
    CutName
    ExchangeRate
    ExpiryDateTime
    FxAmericanTrigger
    FxAverageRateObservationDate
    FxAverageRateObservationSchedule
    FxAverageRateOption
    FxBarrier
    FxBarrierOption
    FxDigitalOption
    FxEuropeanTrigger
    FxLeg
    FxOptionLeg
    FxOptionPayout
    FxOptionPremium
    FxStrikePrice
    FxSwap
    ObservedRates
    PremiumQuote
    QuotedAs
    SideRate
    SideRates
    TermDeposit
  Global Elements
    fxAverageRateOption
    fxBarrierOption
    fxDigitalOption
    fxSimpleOption
    fxSingleLeg
    fxSwap
    termDeposit
  Groups
  Schema Listing

# Global Simple Types

The schema does not contain any global simple types.

# Global Complex Types

## CutName

### Description:

Allows for an expiryDateTime cut to be described by name.

### Figure:

### Contents:

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

Attribute: cutNameScheme (xsd:anyURI)

### Used by:

- ExpiryDateTime/cutName

### Schema Fragment:

    <xsd:complexType name="CutName">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Allows for an expiryDateTime cut to be described by name.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="cutNameScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/cut-name-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## ExchangeRate

### Description:

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

### Figure:

### Contents:

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

- A type describing the rate of a currency conversion: pair of currency, quotation mode and exchange rate.

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

- 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.

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

- 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.

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

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

### Used by:

- FxLeg/exchangeRate

### Extension of:

- FxRate

### Schema Fragment:

    <xsd:complexType name="ExchangeRate">
      <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:complexContent>
        <xsd:extension base="FxRate">
          <xsd:sequence>
            <xsd:element name="spotRate" type="xsd:decimal" minOccurs="0">
              <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="forwardPoints" type="xsd:decimal" minOccurs="0">
              <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="sideRates" type="SideRates" minOccurs="0">
              <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:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## 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:

### Contents:

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

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

expiryTime (exactly one occurrence; of the type BusinessCenterTime)

cutName (zero or one occurrence; of the type CutName)

### Used by:

- FxAverageRateOption/expiryDateTime
- FxDigitalOption/expiryDateTime
- FxOptionLeg/expiryDateTime

### 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 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="expiryTime" type="BusinessCenterTime"/>
        <xsd:element name="cutName" type="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:

### Contents:

touchCondition (exactly one occurrence; of the type TouchConditionEnum)

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

quotedCurrencyPair (exactly one occurrence; of the type QuotedCurrencyPair)

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

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

- 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.

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

- The information source where a published or displayed market rate will be obtained, e.g. Telerate Page 3750.

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

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

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

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

### Used by:

- FxDigitalOption/fxAmericanTrigger

### 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 name="touchCondition" type="TouchConditionEnum">
          <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: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="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="informationSource" type="InformationSource" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The information source where a published or displayed market
              rate will be obtained, e.g. Telerate Page 3750.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="observationStartDate" type="xsd:date" minOccurs="0">
          <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" minOccurs="0">
          <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: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:

### Contents:

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

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

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

- 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.

### Used by:

- FxAverageRateOption/averageRateObservationDate

### 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 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="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: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:

### Contents:

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

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

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

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

calculationPeriodFrequency (exactly one occurrence; of the type CalculationPeriodFrequency)

- The frequency at which calculation period end dates occur with the regular part of the calculation period schedule and their roll date convention.

### Used by:

- FxAverageRateOption/averageRateObservationSchedule

### 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 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="calculationPeriodFrequency" type="CalculationPeriodFrequency">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The frequency at which calculation period end dates occur
              with the regular part of the calculation period schedule and
              their roll date convention.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </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:

### Contents:

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

- The base type which all FpML products extend.

buyerPartyReference (exactly one occurrence; of the type PartyOrTradeSideReference)

- A reference to the party that buys this instrument, ie. pays for this instrument and receives the rights defined by it. See 2000 ISDA definitions Article 11.1 (b). In the case of FRAs this the fixed rate payer.

sellerPartyReference (exactly one occurrence; of the type PartyOrTradeSideReference)

- A reference to the party that sells ("writes") this instrument, i.e. that grants the rights defined by this instrument and in return receives a payment for it. See 2000 ISDA definitions Article 11.1 (a). In the case of FRAs this is the floating rate payer.

expiryDateTime (exactly one occurrence; of the type ExpiryDateTime)

- 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.

exerciseStyle (exactly one occurrence; of the type ExerciseStyleEnum)

- The manner in which the option can be exercised.

fxOptionPremium (zero or more occurrences; of the type FxOptionPremium)

- Premium amount or premium installment amount for an option.

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

- The date on which both currencies traded will settle.

putCurrencyAmount (exactly one occurrence; of the type Money)

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

callCurrencyAmount (exactly one occurrence; of the type Money)

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

fxStrikePrice (exactly one occurrence; of the type FxStrikePrice)

- TBA

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

- 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.

payoutCurrency (exactly one occurrence; of the type Currency)

- 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.

averageRateQuoteBasis (exactly one occurrence; of the type StrikeQuoteBasisEnum)

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

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

- Specifies the rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7 in the FpML document since the percentage is expressed as a decimal, e.g. 9.876543% (or 0.09876543) being rounded to the nearest 5 decimal places is 9.87654% (or 0.0987654).

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

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

primaryRateSource (exactly one occurrence; of the type InformationSource)

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

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

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

fixingTime (exactly one occurrence; of the type BusinessCenterTime)

- The time at which the spot currency exchange rate will be observed. It is specified as a time in a specific business center, e.g. 11:00am London time.

There can be one occurance of the following structure; Choice of either

averageRateObservationSchedule (exactly one occurrence; of the type FxAverageRateObservationSchedule)

- Parametric schedule of rate observations.

Or

averageRateObservationDate (one or more occurrences; of the type FxAverageRateObservationDate)

- One of more specific rate observation dates.

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

- 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.

### Used by:

### Extension of:

- Product

### 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:group ref="BuyerSeller.model"/>
            <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="exerciseStyle" type="ExerciseStyleEnum">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The manner in which the option can be exercised.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="fxOptionPremium" type="FxOptionPremium" minOccurs="0" maxOccurs="unbounded">
              <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="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: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="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="fxStrikePrice" type="FxStrikePrice">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  TBA
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="spotRate" type="xsd:decimal" minOccurs="0">
              <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="payoutCurrency" type="Currency">
              <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:element>
            <xsd:element name="averageRateQuoteBasis" type="StrikeQuoteBasisEnum">
              <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:element>
            <xsd:element name="precision" type="xsd:nonNegativeInteger" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Specifies the rounding precision in terms of a number of
                  decimal places. Note how a percentage rate rounding of 5
                  decimal places is expressed as a rounding precision of 7
                  in the FpML document since the percentage is expressed as
                  a decimal, e.g. 9.876543% (or 0.09876543) being rounded
                  to the nearest 5 decimal places is 9.87654% (or
                  0.0987654).
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="payoutFormula" type="xsd:string" minOccurs="0">
              <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="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="secondaryRateSource" type="InformationSource" minOccurs="0">
              <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="fixingTime" type="BusinessCenterTime">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The time at which the spot currency exchange rate will be
                  observed. It is specified as a time in a specific
                  business center, e.g. 11:00am London time.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:choice>
              <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="averageRateObservationDate" type="FxAverageRateObservationDate" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    One of more specific rate observation dates.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
            <xsd:element name="observedRates" type="ObservedRates" minOccurs="0" maxOccurs="unbounded">
              <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: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:

### Contents:

fxBarrierType (zero or one occurrence; of the type FxBarrierTypeEnum)

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

quotedCurrencyPair (exactly one occurrence; of the type QuotedCurrencyPair)

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

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

- 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.

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

- The information source where a published or displayed market rate will be obtained, e.g. Telerate Page 3750.

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

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

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

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

### Used by:

- FxBarrierOption/fxBarrier

### 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 name="fxBarrierType" type="FxBarrierTypeEnum" minOccurs="0">
          <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: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="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="informationSource" type="InformationSource" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The information source where a published or displayed market
              rate will be obtained, e.g. Telerate Page 3750.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="observationStartDate" type="xsd:date" minOccurs="0">
          <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" minOccurs="0">
          <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: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:

### Contents:

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

- 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.

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

- 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.

fxBarrier (one or more occurrences; of the type FxBarrier)

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

triggerPayout (zero or one occurrence; of the type FxOptionPayout)

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

### Used by:

### Extension of:

- FxOptionLeg

### 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 name="spotRate" type="xsd:decimal" minOccurs="0">
              <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="fxBarrier" type="FxBarrier" maxOccurs="unbounded">
              <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="triggerPayout" type="FxOptionPayout" minOccurs="0">
              <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:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </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:

### Contents:

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

- The base type which all FpML products extend.

buyerPartyReference (exactly one occurrence; of the type PartyOrTradeSideReference)

- A reference to the party that buys this instrument, ie. pays for this instrument and receives the rights defined by it. See 2000 ISDA definitions Article 11.1 (b). In the case of FRAs this the fixed rate payer.

sellerPartyReference (exactly one occurrence; of the type PartyOrTradeSideReference)

- A reference to the party that sells ("writes") this instrument, i.e. that grants the rights defined by this instrument and in return receives a payment for it. See 2000 ISDA definitions Article 11.1 (a). In the case of FRAs this is the floating rate payer.

expiryDateTime (exactly one occurrence; of the type ExpiryDateTime)

- 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.

fxOptionPremium (zero or more occurrences; of the type FxOptionPremium)

- Premium amount or premium installment amount for an option.

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

- The date on which both currencies traded will settle.

quotedCurrencyPair (exactly one occurrence; of the type QuotedCurrencyPair)

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

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

- 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.

There can be one occurance of the following structure; Choice of either

fxEuropeanTrigger (one or more occurrences; of the type FxEuropeanTrigger)

- 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.

Or

fxAmericanTrigger (one or more occurrences; of the type FxAmericanTrigger)

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

triggerPayout (exactly one occurrence; of the type FxOptionPayout)

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

### Used by:

### Extension of:

- Product

### 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:group ref="BuyerSeller.model"/>
            <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="fxOptionPremium" type="FxOptionPremium" minOccurs="0" maxOccurs="unbounded">
              <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="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: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="spotRate" type="xsd:decimal" minOccurs="0">
              <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:choice>
              <xsd:element name="fxEuropeanTrigger" type="FxEuropeanTrigger" maxOccurs="unbounded">
                <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="fxAmericanTrigger" type="FxAmericanTrigger" maxOccurs="unbounded">
                <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:choice>
            <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: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:

### Contents:

triggerCondition (exactly one occurrence; of the type TriggerConditionEnum)

- 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".

quotedCurrencyPair (exactly one occurrence; of the type QuotedCurrencyPair)

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

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

- 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.

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

- The information source where a published or displayed market rate will be obtained, e.g. Telerate Page 3750.

### Used by:

- FxDigitalOption/fxEuropeanTrigger

### 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 name="triggerCondition" type="TriggerConditionEnum">
          <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: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="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="informationSource" type="InformationSource" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The information source where a published or displayed market
              rate will be obtained, e.g. Telerate Page 3750.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </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:

### Contents:

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

- The base type which all FpML products extend.

exchangedCurrency1 (exactly one occurrence; of the type Payment)

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

exchangedCurrency2 (exactly one occurrence; of the type Payment)

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

There can be one occurance of the following structure; Choice of either

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

- The date on which both currencies traded will settle.

exchangeRate (exactly one occurrence; of the type ExchangeRate)

- The rate of exchange between the two currencies.

nonDeliverableForward (zero or one occurrence; of the type FxCashSettlement)

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

confirmationSenderPartyReference (zero or one occurrence; of the type PartyReference)

- A reference to the party that is sending the current document as a confirmation of the trade.

### Used by:

### Extension of:

- Product

### 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 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:choice>
              <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:sequence>
                <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="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:sequence>
            </xsd:choice>
            <xsd:element name="exchangeRate" type="ExchangeRate">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The rate of exchange between the two currencies.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="nonDeliverableForward" type="FxCashSettlement" minOccurs="0">
              <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="confirmationSenderPartyReference" type="PartyReference" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A reference to the party that is sending the current
                  document as a confirmation of the trade.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </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:

### Contents:

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

- The base type which all FpML products extend.

buyerPartyReference (exactly one occurrence; of the type PartyOrTradeSideReference)

- A reference to the party that buys this instrument, ie. pays for this instrument and receives the rights defined by it. See 2000 ISDA definitions Article 11.1 (b). In the case of FRAs this the fixed rate payer.

sellerPartyReference (exactly one occurrence; of the type PartyOrTradeSideReference)

- A reference to the party that sells ("writes") this instrument, i.e. that grants the rights defined by this instrument and in return receives a payment for it. See 2000 ISDA definitions Article 11.1 (a). In the case of FRAs this is the floating rate payer.

expiryDateTime (exactly one occurrence; of the type ExpiryDateTime)

- 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.

exerciseStyle (exactly one occurrence; of the type ExerciseStyleEnum)

- The manner in which the option can be exercised.

fxOptionPremium (zero or more occurrences; of the type FxOptionPremium)

- Premium amount or premium installment amount for an option.

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

- The date on which both currencies traded will settle.

cashSettlementTerms (zero or one occurrence; of the type FxCashSettlement)

- 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.

putCurrencyAmount (exactly one occurrence; of the type Money)

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

callCurrencyAmount (exactly one occurrence; of the type Money)

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

fxStrikePrice (exactly one occurrence; of the type FxStrikePrice)

- TBA

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

- Describes how the option was quoted.

### Used by:

### Extension of:

- Product

### Derived Types:

- FxBarrierOption

### 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:group ref="BuyerSeller.model"/>
            <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="exerciseStyle" type="ExerciseStyleEnum">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The manner in which the option can be exercised.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="fxOptionPremium" type="FxOptionPremium" minOccurs="0" maxOccurs="unbounded">
              <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="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:element name="cashSettlementTerms" type="FxCashSettlement" minOccurs="0">
              <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="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="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="fxStrikePrice" type="FxStrikePrice">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  TBA
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="quotedAs" type="QuotedAs" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Describes how the option was quoted.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </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:

### Contents:

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

- A type defining a currency amount.

payoutStyle (exactly one occurrence; of the type PayoutEnum)

- 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.

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

- The information required to settle a currency payment that results from a trade.

### Used by:

- FxBarrierOption/triggerPayout
- FxDigitalOption/triggerPayout

### Extension of:

- Money

### 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 name="payoutStyle" type="PayoutEnum">
              <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:element>
            <xsd:element name="settlementInformation" type="SettlementInformation" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The information required to settle a currency payment
                  that results from a trade.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </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:

### Contents:

payerPartyReference (exactly one occurrence; of the type PartyOrAccountReference)

- A reference to the party responsible for making the payments defined by this structure.

receiverPartyReference (exactly one occurrence; of the type PartyOrAccountReference)

- A reference to the party that receives the payments corresponding to this structure.

premiumAmount (exactly one occurrence; of the type Money)

- The specific currency and amount of the option premium.

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

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

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

- The information required to settle a currency payment that results from a trade.

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

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

### Used by:

- FxAverageRateOption/fxOptionPremium
- FxDigitalOption/fxOptionPremium
- FxOptionLeg/fxOptionPremium

### 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:group ref="PayerReceiver.model"/>
        <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="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="settlementInformation" type="SettlementInformation" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The information required to settle a currency payment that
              results from a trade.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="premiumQuote" type="PremiumQuote" minOccurs="0">
          <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:sequence>
    </xsd:complexType>

## FxStrikePrice

### Description:

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

### Figure:

### Contents:

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

- The rate of exchange between the two currencies of the leg of a deal. Must be specified with a quote basis.

strikeQuoteBasis (exactly one occurrence; of the type StrikeQuoteBasisEnum)

- The method by which the strike rate is quoted.

### Used by:

- FxAverageRateOption/fxStrikePrice
- FxOptionLeg/fxStrikePrice

### 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 name="rate" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The rate of exchange between the two currencies of the leg of
              a deal. Must be specified with a quote basis.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="strikeQuoteBasis" type="StrikeQuoteBasisEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The method by which the strike rate is quoted.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </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:

### Contents:

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

- The base type which all FpML products extend.

fxSingleLeg (one or more occurrences; of the type FxLeg)

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

### Used by:

### Extension of:

- Product

### 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:

### Contents:

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

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

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

- The actual observed rate before any required rate treatment is applied, e.g. before converting a rate quoted on a discount basis to an equivalent yield. An observed rate of 5% would be represented as 0.05.

### Used by:

- FxAverageRateOption/observedRates

### 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 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="observedRate" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The actual observed rate before any required rate treatment
              is applied, e.g. before converting a rate quoted on a
              discount basis to an equivalent yield. An observed rate of 5%
              would be represented as 0.05.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## PremiumQuote

### Description:

A type that describes the option premium as quoted.

### Figure:

### Contents:

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

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

premiumQuoteBasis (exactly one occurrence; of the type PremiumQuoteBasisEnum)

- The method by which the option premium was quoted.

### Used by:

- FxOptionPremium/premiumQuote

### 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 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="premiumQuoteBasis" type="PremiumQuoteBasisEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The method by which the option premium was quoted.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## QuotedAs

### Description:

A type that describes how the option was quoted.

### Figure:

### Contents:

optionOnCurrency (exactly one occurrence; of the type Currency)

- 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).

faceOnCurrency (exactly one occurrence; of the type Currency)

- 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).

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

- Code denoting the tenor of the option leg.

### Used by:

- FxOptionLeg/quotedAs

### 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 name="optionOnCurrency" type="Currency">
          <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:element>
        <xsd:element name="faceOnCurrency" type="Currency">
          <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:element>
        <xsd:element name="quotedTenor" type="Interval" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Code denoting the tenor of the option leg.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## SideRate

### Description:

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

### Figure:

### Contents:

currency (exactly one occurrence; of the type Currency)

- The currency in which an amount is denominated.

sideRateBasis (exactly one occurrence; of the type SideRateBasisEnum)

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

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

- The rate of exchange between the two currencies of the leg of a deal. Must be specified with a quote basis.

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

- 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.

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

- 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.

### Used by:

- SideRates/currency1SideRate
- SideRates/currency2SideRate

### 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 name="currency" type="Currency">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The currency in which an amount is denominated.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="sideRateBasis" type="SideRateBasisEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The method by which the exchange rate against base currency
              is quoted.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="rate" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The rate of exchange between the two currencies of the leg of
              a deal. Must be specified with a quote basis.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="spotRate" type="xsd:decimal" minOccurs="0">
          <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="forwardPoints" type="xsd:decimal" minOccurs="0">
          <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:sequence>
    </xsd:complexType>

## SideRates

### Description:

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

### Figure:

### Contents:

baseCurrency (exactly one occurrence; of the type Currency)

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

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

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

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

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

### Used by:

- ExchangeRate/sideRates

### 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 name="baseCurrency" type="Currency">
          <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:element>
        <xsd:element name="currency1SideRate" type="SideRate" minOccurs="0">
          <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="currency2SideRate" type="SideRate" minOccurs="0">
          <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:sequence>
    </xsd:complexType>

## TermDeposit

### Description:

A class defining the content model for a term deposit product.

### Figure:

### Contents:

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

- The base type which all FpML products extend.

initialPayerReference (exactly one occurrence; of the type PartyReference)

- A pointer style reference to a party identifier defined elsewhere in the document. The party referenced is the payer of the initial principal of the deposit on the start date.

initialReceiverReference (exactly one occurrence; of the type PartyReference)

- 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.

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

- The averaging period start date.

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

- The end date of the calculation period. This date should already be adjusted for any applicable business day convention.

dayCountFraction (exactly one occurrence; of the type DayCountFraction)

- The day count fraction.

principal (exactly one occurrence; of the type Money)

- The principal amount of the trade.

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

- The calculation period fixed rate. A per annum rate, expressed as a decimal. A fixed rate of 5% would be represented as 0.05.

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

- The total interest of at maturity of the trade.

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

- A known payment between two parties.

### Used by:

### Extension of:

- Product

### Schema Fragment:

    <xsd:complexType name="TermDeposit">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          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 name="initialPayerReference" type="PartyReference">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A pointer style reference to a party 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:element>
            <xsd:element name="initialReceiverReference" type="PartyReference">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  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:element>
            <xsd:element name="startDate" type="xsd:date">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The averaging period start date.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="maturityDate" type="xsd:date">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  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="dayCountFraction" type="DayCountFraction">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The day count fraction.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="principal" type="Money">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The principal amount of the trade.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="fixedRate" type="xsd:decimal">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The calculation period fixed rate. A per annum rate,
                  expressed as a decimal. A fixed rate of 5% would be
                  represented as 0.05.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="interest" type="Money" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The total interest of at maturity of the trade.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="payment" type="Payment" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A known payment between two parties.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

# Global Elements

## fxAverageRateOption

### Description:

A component describing an FX Average Rate Option product.

### Figure:

### Contents:

Element fxAverageRateOption is defined by the complex type FxAverageRateOption

### Used 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>

## fxBarrierOption

### Description:

A component describing a FX Barrier Option product.

### Figure:

### Contents:

Element fxBarrierOption is defined by the complex type FxBarrierOption

### Used 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>

## fxDigitalOption

### Description:

A component describing a FX Digital Option product.

### Figure:

### Contents:

Element fxDigitalOption is defined by the complex type FxDigitalOption

### Used 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>

## fxSimpleOption

### Description:

A component describing a FX Simple Option product

### Figure:

### Contents:

Element fxSimpleOption is defined by the complex type FxOptionLeg

### Used 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:

### Contents:

Element fxSingleLeg is defined by the complex type FxLeg

### Used by:

- FxSwap

### 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>

## fxSwap

### Description:

A component describing a FX Swap product.

### Figure:

### Contents:

Element fxSwap is defined by the complex type FxSwap

### Used 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>

## termDeposit

### Description:

A term deposit product definition.

### Figure:

### Contents:

Element termDeposit is defined by the complex type TermDeposit

### Used by:

### Schema Fragment:

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

# Groups

The schema does not contain any groups.

# Full XML Schema

    <xsd:schema targetNamespace="http://www.fpml.org/2005/FpML-4-2" elementFormDefault="qualified" attributeFormDefault="unqualified" version="$Revision: 884 $">
      <xsd:include schemaLocation="fpml-shared-4-2.xsd"/>
      <xsd:complexType name="CutName">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Allows for an expiryDateTime cut to be described by name.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="cutNameScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/cut-name-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="ExchangeRate">
        <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:complexContent>
          <xsd:extension base="FxRate">
            <xsd:sequence>
              <xsd:element name="spotRate" type="xsd:decimal" minOccurs="0">
                <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="forwardPoints" type="xsd:decimal" minOccurs="0">
                <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="sideRates" type="SideRates" minOccurs="0">
                <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:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <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 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="expiryTime" type="BusinessCenterTime"/>
          <xsd:element name="cutName" type="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 name="touchCondition" type="TouchConditionEnum">
            <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: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="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="informationSource" type="InformationSource" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The information source where a published or displayed
                market rate will be obtained, e.g. Telerate Page 3750.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="observationStartDate" type="xsd:date" minOccurs="0">
            <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" minOccurs="0">
            <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: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 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="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: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 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="calculationPeriodFrequency" type="CalculationPeriodFrequency">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The frequency at which calculation period end dates occur
                with the regular part of the calculation period schedule
                and their roll date convention.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </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:group ref="BuyerSeller.model"/>
              <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="exerciseStyle" type="ExerciseStyleEnum">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The manner in which the option can be exercised.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="fxOptionPremium" type="FxOptionPremium" minOccurs="0" maxOccurs="unbounded">
                <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="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: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="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="fxStrikePrice" type="FxStrikePrice">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    TBA
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="spotRate" type="xsd:decimal" minOccurs="0">
                <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="payoutCurrency" type="Currency">
                <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:element>
              <xsd:element name="averageRateQuoteBasis" type="StrikeQuoteBasisEnum">
                <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:element>
              <xsd:element name="precision" type="xsd:nonNegativeInteger" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Specifies the rounding precision in terms of a number
                    of decimal places. Note how a percentage rate rounding
                    of 5 decimal places is expressed as a rounding
                    precision of 7 in the FpML document since the
                    percentage is expressed as a decimal, e.g. 9.876543%
                    (or 0.09876543) being rounded to the nearest 5 decimal
                    places is 9.87654% (or 0.0987654).
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="payoutFormula" type="xsd:string" minOccurs="0">
                <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="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="secondaryRateSource" type="InformationSource" minOccurs="0">
                <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="fixingTime" type="BusinessCenterTime">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The time at which the spot currency exchange rate will
                    be observed. It is specified as a time in a specific
                    business center, e.g. 11:00am London time.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:choice>
                <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="averageRateObservationDate" type="FxAverageRateObservationDate" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation xml:lang="en">
                      One of more specific rate observation dates.
                    </xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:choice>
              <xsd:element name="observedRates" type="ObservedRates" minOccurs="0" maxOccurs="unbounded">
                <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: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 name="fxBarrierType" type="FxBarrierTypeEnum" minOccurs="0">
            <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: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="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="informationSource" type="InformationSource" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The information source where a published or displayed
                market rate will be obtained, e.g. Telerate Page 3750.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="observationStartDate" type="xsd:date" minOccurs="0">
            <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" minOccurs="0">
            <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: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 name="spotRate" type="xsd:decimal" minOccurs="0">
                <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="fxBarrier" type="FxBarrier" maxOccurs="unbounded">
                <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="triggerPayout" type="FxOptionPayout" minOccurs="0">
                <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:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </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:group ref="BuyerSeller.model"/>
              <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="fxOptionPremium" type="FxOptionPremium" minOccurs="0" maxOccurs="unbounded">
                <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="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: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="spotRate" type="xsd:decimal" minOccurs="0">
                <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:choice>
                <xsd:element name="fxEuropeanTrigger" type="FxEuropeanTrigger" maxOccurs="unbounded">
                  <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="fxAmericanTrigger" type="FxAmericanTrigger" maxOccurs="unbounded">
                  <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:choice>
              <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: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 name="triggerCondition" type="TriggerConditionEnum">
            <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: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="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="informationSource" type="InformationSource" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The information source where a published or displayed
                market rate will be obtained, e.g. Telerate Page 3750.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </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 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:choice>
                <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:sequence>
                  <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="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:sequence>
              </xsd:choice>
              <xsd:element name="exchangeRate" type="ExchangeRate">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The rate of exchange between the two currencies.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="nonDeliverableForward" type="FxCashSettlement" minOccurs="0">
                <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="confirmationSenderPartyReference" type="PartyReference" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A reference to the party that is sending the current
                    document as a confirmation of the trade.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </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:group ref="BuyerSeller.model"/>
              <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="exerciseStyle" type="ExerciseStyleEnum">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The manner in which the option can be exercised.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="fxOptionPremium" type="FxOptionPremium" minOccurs="0" maxOccurs="unbounded">
                <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="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:element name="cashSettlementTerms" type="FxCashSettlement" minOccurs="0">
                <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="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="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="fxStrikePrice" type="FxStrikePrice">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    TBA
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="quotedAs" type="QuotedAs" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Describes how the option was quoted.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </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 name="payoutStyle" type="PayoutEnum">
                <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:element>
              <xsd:element name="settlementInformation" type="SettlementInformation" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The information required to settle a currency payment
                    that results from a trade.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </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:group ref="PayerReceiver.model"/>
          <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="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="settlementInformation" type="SettlementInformation" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The information required to settle a currency payment that
                results from a trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="premiumQuote" type="PremiumQuote" minOccurs="0">
            <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: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 name="rate" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The rate of exchange between the two currencies of the leg
                of a deal. Must be specified with a quote basis.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="strikeQuoteBasis" type="StrikeQuoteBasisEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The method by which the strike rate is quoted.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </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 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="observedRate" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The actual observed rate before any required rate treatment
                is applied, e.g. before converting a rate quoted on a
                discount basis to an equivalent yield. An observed rate of
                5% would be represented as 0.05.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </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 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="premiumQuoteBasis" type="PremiumQuoteBasisEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The method by which the option premium was quoted.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </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 name="optionOnCurrency" type="Currency">
            <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:element>
          <xsd:element name="faceOnCurrency" type="Currency">
            <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:element>
          <xsd:element name="quotedTenor" type="Interval" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Code denoting the tenor of the option leg.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </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 name="currency" type="Currency">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The currency in which an amount is denominated.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="sideRateBasis" type="SideRateBasisEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The method by which the exchange rate against base currency
                is quoted.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="rate" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The rate of exchange between the two currencies of the leg
                of a deal. Must be specified with a quote basis.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="spotRate" type="xsd:decimal" minOccurs="0">
            <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="forwardPoints" type="xsd:decimal" minOccurs="0">
            <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: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 name="baseCurrency" type="Currency">
            <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:element>
          <xsd:element name="currency1SideRate" type="SideRate" minOccurs="0">
            <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="currency2SideRate" type="SideRate" minOccurs="0">
            <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:sequence>
      </xsd:complexType>
      <xsd:complexType name="TermDeposit">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            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 name="initialPayerReference" type="PartyReference">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A pointer style reference to a party 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:element>
              <xsd:element name="initialReceiverReference" type="PartyReference">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    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:element>
              <xsd:element name="startDate" type="xsd:date">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The averaging period start date.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="maturityDate" type="xsd:date">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    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="dayCountFraction" type="DayCountFraction">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The day count fraction.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="principal" type="Money">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The principal amount of the trade.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="fixedRate" type="xsd:decimal">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The calculation period fixed rate. A per annum rate,
                    expressed as a decimal. A fixed rate of 5% would be
                    represented as 0.05.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="interest" type="Money" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The total interest of at maturity of the trade.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="payment" type="Payment" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A known payment between two parties.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <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="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="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="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="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="termDeposit" type="TermDeposit" substitutionGroup="product">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A term deposit product definition.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:schema>