# FpML 4.2 Trial Recommendation

## 10 September 2021

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

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
    HourMinuteTime
    RestrictedPercentage
  Global Complex Types
    AccountReference
    Address
    AdjustableDate
    AdjustableDate2
    AdjustableDates
    AdjustableOrRelativeDate
    AdjustableOrRelativeDates
    AdjustableRelativeOrPeriodicDates
    AdjustedRelativeDateOffset
    AmericanExercise
    AmountReference
    AmountSchedule
    AssetReference
    AutomaticExercise
    BenchmarkRate
    Beneficiary
    BermudaExercise
    BrokerConfirmation
    BrokerConfirmationType
    BusinessCenter
    BusinessCenters
    BusinessCentersOrReference
    BusinessCentersReference
    BusinessCenterTime
    BusinessDateRange
    BusinessDayAdjustments
    BusinessDayAdjustmentsReference
    CalculationAgent
    CalculationParameters
    CalculationPeriodFrequency
    CashflowType
    CashSettlementReferenceBanks
    ClearanceSystem
    ContractualDefinitions
    ContractualMatrix
    ContractualSupplement
    ContractualTermsSupplement
    CorrespondentInformation
    Country
    CreditSeniority
    Currency
    DateList
    DateOffset
    DateRange
    DateReference
    DateTimeList
    DayCountFraction
    DeterminationMethod
    DividendConditions
    DividendPaymentDate
    Documentation
    Empty
    EntityId
    EntityName
    EuropeanExercise
    ExchangeId
    Exercise
    ExerciseFee
    ExerciseFeeSchedule
    ExerciseNotice
    ExerciseProcedure
    FallbackRate
    FallbackRateObservation
    FloatingRate
    FloatingRateCalculation
    FloatingRateIndex
    ForecastRateIndex
    Formula
    FormulaComponent
    FxCashSettlement
    FxFixing
    FxRate
    FxSpotRateSource
    GoverningLaw
    IdentifiedCurrency
    IdentifiedDate
    IdentifiedPayerReceiver
    InflationRateCalculationBase
    InformationProvider
    InformationSource
    InstrumentId
    InterestAccrualsCompoundingMethod
    InterestAccrualsMethod
    IntermediaryInformation
    Interval
    LegalEntity
    LegalEntityReference
    MainPublication
    ManualExercise
    MasterAgreement
    MasterAgreementType
    MasterConfirmation
    MasterConfirmationType
    Math
    MatrixTerm
    MatrixType
    Money
    MultipleExercise
    MutuallyAgreedClearinghouse
    NotionalAmountReference
    ObservationOffset
    ObservationShiftParameters
    Offset
    OrganizationIdentifier
    PartialExercise
    PartyOrAccountReference
    PartyOrTradeSideReference
    PartyReference
    Payment
    PaymentCurrency
    PaymentType
    PeriodicDates
    PrincipalExchanges
    Product
    ProductId
    ProductReference
    ProductType
    QuotedCurrencyPair
    Rate
    RateObservation
    RateReference
    RateSourcePage
    Reference
    ReferenceAmount
    ReferenceBank
    ReferenceBankId
    RelativeDateOffset
    RelativeDates
    RelativeDateSequence
    RequiredIdentifierDate
    ResetFrequency
    Rounding
    Routing
    RoutingExplicitDetails
    RoutingId
    RoutingIds
    RoutingIdsAndExplicitDetails
    Schedule
    ScheduleReference
    SettlementInformation
    SettlementInstruction
    SettlementMethod
    SettlementPriceSource
    SettlementRateSource
    SharedAmericanExercise
    SplitSettlement
    SpreadSchedule
    SpreadScheduleReference
    SpreadScheduleType
    Step
    StreetAddress
    Strike
    StrikeSchedule
    Stub
    StubFloatingRate
    SwaptionPhysicalSettlement
    ValuationScenarioReference
  Global Elements
    americanExercise
    bermudaExercise
    europeanExercise
    exercise
    product
  Groups
    BusinessCentersOrReference.model
    BuyerSeller.model
    FloatingRate.model
    FloatingRateCalculation.model
    FloatingRateIndex.model
    ObservationParameters.model
    PayerReceiver.model
    Product.model
    RoutingExplicitDetails.model
  Schema Listing

# Global Simple Types

## HourMinuteTime

### Description:

A type defining a time specified in hh:mm:ss format where the second component must be '00', e.g. 11am would be represented as 11:00:00.

### Contents:

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

### Used by:

- BusinessCenterTime/hourMinuteTime

### Schema Fragment:

    <xsd:simpleType name="HourMinuteTime">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a time specified in hh:mm:ss format where the
          second component must be '00', e.g. 11am would be represented as
          11:00:00.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:restriction base="xsd:time">
        <xsd:pattern value="[0-2][0-9]:[0-5][0-9]:00"/>
      </xsd:restriction>
    </xsd:simpleType>

## RestrictedPercentage

### Description:

A type defining a percentage specified as decimal from 0 to 1. A percentage of 5% would be represented as 0.05.

### Contents:

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

### Used by:

- ConstituentWeight/basketPercentage

### Schema Fragment:

    <xsd:simpleType name="RestrictedPercentage">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a percentage specified as decimal from 0 to 1. A
          percentage of 5% would be represented as 0.05.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:restriction base="xsd:decimal">
        <xsd:minInclusive value="0"/>
        <xsd:maxInclusive value="1"/>
      </xsd:restriction>
    </xsd:simpleType>

# Global Complex Types

## AccountReference

### Description:

Reference to an account.

### Figure:

### Contents:

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

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

- PartyRole/account

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="AccountReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reference to an account.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </xsd:complexType>

## Address

### Description:

A type that represents a physical postal address.

### Figure:

### Contents:

streetAddress (zero or one occurrence; of the type StreetAddress)

- The set of street and building number information that identifies a postal address within a city.

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

- The city component of a postal address.

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

- A country subdivision used in postal addresses in some countries. For example, US states, Canadian provinces, Swiss cantons.

country (zero or one occurrence; of the type Country)

- The ISO 3166 standard code for the country within which the postal address is located.

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

- The code, required for computerised mail sorting systems, that is allocated to a physical address by a national postal authority.

### Used by:

### Schema Fragment:

    <xsd:complexType name="Address">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that represents a physical postal address.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="streetAddress" type="StreetAddress" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The set of street and building number information that
              identifies a postal address within a city.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="city" type="xsd:string" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The city component of a postal address.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="state" type="xsd:string" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A country subdivision used in postal addresses in some
              countries. For example, US states, Canadian provinces, Swiss
              cantons.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="country" type="Country" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The ISO 3166 standard code for the country within which the
              postal address is located.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="postalCode" type="xsd:string" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The code, required for computerised mail sorting systems,
              that is allocated to a physical address by a national postal
              authority.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## AdjustableDate

### Description:

A type for defining a date that shall be subject to adjustment if it would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the date.

### Figure:

### Contents:

unadjustedDate (exactly one occurrence; of the type IdentifiedDate)

- A date subject to adjustment.

dateAdjustments (exactly one occurrence; of the type BusinessDayAdjustments)

- The business day convention and financial business centers used for adjusting the date if it would otherwise fall on a day that is not a business date in the specified business centers.

Attribute: id (xsd:ID)

### Used by:

- AdjustableDateOrRelativeDateSequence/adjustableDate
- AdjustableOrRelativeDate/adjustableDate
- CalculationPeriodDates/effectiveDate
- CalculationPeriodDates/firstPeriodStartDate
- CalculationPeriodDates/terminationDate
- DividendPaymentDate/adjustableDate
- EquityOptionTermination/settlementAmountPaymentDate
- EquityPremium/paymentDate
- Fra/paymentDate
- MandatoryEarlyTermination/mandatoryEarlyTerminationDate
- Payment/paymentDate
- PrePayment/prePaymentDate
- QuotablePayment/paymentDate
- StartingDate/adjustableDate

### Schema Fragment:

    <xsd:complexType name="AdjustableDate">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type for defining a date that shall be subject to adjustment if
          it would otherwise fall on a day that is not a business day in
          the specified business centers, together with the convention for
          adjusting the date.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="unadjustedDate" type="IdentifiedDate">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A date subject to adjustment.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="dateAdjustments" type="BusinessDayAdjustments">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The business day convention and financial business centers
              used for adjusting the date if it would otherwise fall on a
              day that is not a business date in the specified business
              centers.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## AdjustableDate2

### Description:

A type that is different from AdjustableDate in two regards. First, date adjustments can be specified with either a dateAdjustments element or a reference to an existing dateAdjustments element. Second, it does not require the specification of date adjustments.

### Figure:

### Contents:

unadjustedDate (exactly one occurrence; of the type IdentifiedDate)

- A date subject to adjustment.

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

dateAdjustments (exactly one occurrence; of the type BusinessDayAdjustments)

- The business day convention and financial business centers used for adjusting the date if it would otherwise fall on a day that is not a business dat in the specified business centers.

Or

dateAdjustmentsReference (exactly one occurrence; of the type BusinessDayAdjustmentsReference)

- A pointer style reference to date adjustments defined elsewhere in the document.

Attribute: id (xsd:ID)

### Used by:

- GeneralTerms/effectiveDate
- PaymentDetail/adjustablePaymentDate
- ScheduledTerminationDate/adjustableDate
- TradeDetails/effectiveDate
- TradeDetails/terminationDate

### Schema Fragment:

    <xsd:complexType name="AdjustableDate2">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that is different from AdjustableDate in two regards.
          First, date adjustments can be specified with either a
          dateAdjustments element or a reference to an existing
          dateAdjustments element. Second, it does not require the
          specification of date adjustments.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="unadjustedDate" type="IdentifiedDate">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A date subject to adjustment.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice minOccurs="0">
          <xsd:element name="dateAdjustments" type="BusinessDayAdjustments">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The business day convention and financial business centers
                used for adjusting the date if it would otherwise fall on a
                day that is not a business dat in the specified business
                centers.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="dateAdjustmentsReference" type="BusinessDayAdjustmentsReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A pointer style reference to date adjustments defined
                elsewhere in the document.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## AdjustableDates

### Description:

A type for defining a series of dates that shall be subject to adjustment if they would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the dates.

### Figure:

### Contents:

unadjustedDate (one or more occurrences; of the type IdentifiedDate)

- A date subject to adjustment.

dateAdjustments (exactly one occurrence; of the type BusinessDayAdjustments)

- The business day convention and financial business centers used for adjusting the date if it would otherwise fall on a day that is not a business dat in the specified business centers.

### Used by:

- AdjustableOrRelativeDates/adjustableDates
- AdjustableRelativeOrPeriodicDates/adjustableDates
- CashSettlementPaymentDate/adjustableDates

### Schema Fragment:

    <xsd:complexType name="AdjustableDates">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type for defining a series of dates that shall be subject to
          adjustment if they would otherwise fall on a day that is not a
          business day in the specified business centers, together with the
          convention for adjusting the dates.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="unadjustedDate" type="IdentifiedDate" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A date subject to adjustment.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="dateAdjustments" type="BusinessDayAdjustments">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The business day convention and financial business centers
              used for adjusting the date if it would otherwise fall on a
              day that is not a business dat in the specified business
              centers.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## AdjustableOrRelativeDate

### Description:

A type giving the choice between defining a date as an explicit date together with applicable adjustments or as relative to some other (anchor) date.

### Figure:

### Contents:

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

adjustableDate (exactly one occurrence; of the type AdjustableDate)

- A date that shall be subject to adjustment if it would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the date.

Or

relativeDate (exactly one occurrence; of the type RelativeDateOffset)

- A date specified as some offset to another date (the anchor date).

Attribute: id (xsd:ID)

### Used by:

- AmericanExercise/commencementDate
- AmericanExercise/expirationDate
- CalendarSpread/expirationDateTwo
- DeprecatedEquityLeg/effectiveDate
- DeprecatedEquityLeg/terminationDate
- DeprecatedEquityPaymentDates/equityPaymentDateFinal
- EquityEuropeanExercise/expirationDate
- EquityExerciseValuationSettlement/settlementDate
- EquityExerciseValuationSettlement/settlementMethodElectionDate
- EuropeanExercise/expirationDate
- ExchangeTradedContract/expirationDate
- FeaturePayment/featurePaymentDate
- InterestLegCalculationPeriodDates/effectiveDate
- InterestLegCalculationPeriodDates/terminationDate
- PeriodicDates/calculationEndDate
- PeriodicDates/calculationStartDate
- PrincipalExchangeDescriptions/principalExchangeDate
- ReturnLeg/effectiveDate
- ReturnLeg/terminationDate
- ReturnSwapAdditionalPayment/additionalPaymentDate
- ReturnSwapPaymentDates/paymentDateFinal
- SharedAmericanExercise/commencementDate
- SharedAmericanExercise/expirationDate
- Stub/stubEndDate
- Stub/stubStartDate
- VarianceAmount/cashSettlementPaymentDate

### Schema Fragment:

    <xsd:complexType name="AdjustableOrRelativeDate">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type giving the choice between defining a date as an explicit
          date together with applicable adjustments or as relative to some
          other (anchor) date.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:choice>
        <xsd:element name="adjustableDate" type="AdjustableDate">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A date that shall be subject to adjustment if it would
              otherwise fall on a day that is not a business day in the
              specified business centers, together with the convention for
              adjusting the date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="relativeDate" type="RelativeDateOffset">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A date specified as some offset to another date (the anchor
              date).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## AdjustableOrRelativeDates

### Description:

A type giving the choice between defining a series of dates as an explicit list of dates together with applicable adjustments or as relative to some other series of (anchor) dates.

### Figure:

### Contents:

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

adjustableDates (exactly one occurrence; of the type AdjustableDates)

- A series of dates that shall be subject to adjustment if they would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the date.

Or

relativeDates (exactly one occurrence; of the type RelativeDates)

- A series of dates specified as some offset to another series of dates (the anchor dates).

Attribute: id (xsd:ID)

### Used by:

- AmericanExercise/relevantUnderlyingDate
- BermudaExercise/bermudaExerciseDates
- BermudaExercise/relevantUnderlyingDate
- DeprecatedEquityPaymentDates/equityPaymentDatesInterim
- EuropeanExercise/relevantUnderlyingDate
- InterestLegCalculationPeriodDates/interestLegPaymentDates
- ReturnSwapPaymentDates/paymentDatesInterim

### Schema Fragment:

    <xsd:complexType name="AdjustableOrRelativeDates">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type giving the choice between defining a series of dates as an
          explicit list of dates together with applicable adjustments or as
          relative to some other series of (anchor) dates.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:choice>
        <xsd:element name="adjustableDates" type="AdjustableDates">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A series of dates that shall be subject to adjustment if they
              would otherwise fall on a day that is not a business day in
              the specified business centers, together with the convention
              for adjusting the date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="relativeDates" type="RelativeDates">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A series of dates specified as some offset to another series
              of dates (the anchor dates).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## AdjustableRelativeOrPeriodicDates

### Description:

### Figure:

### Contents:

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

adjustableDates (exactly one occurrence; of the type AdjustableDates)

- A series of dates that shall be subject to adjustment if they would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the date.

Or

relativeDateSequence (exactly one occurrence; of the type RelativeDateSequence)

- A series of dates specified as some offset to other dates (the anchor dates) which can

Or

periodicDates (exactly one occurrence; of the type PeriodicDates)

Attribute: id (xsd:ID)

### Used by:

- EquityValuation/valuationDates
- LegAmount/calculationDates

### Schema Fragment:

    <xsd:complexType name="AdjustableRelativeOrPeriodicDates">
      <xsd:choice>
        <xsd:element name="adjustableDates" type="AdjustableDates">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A series of dates that shall be subject to adjustment if they
              would otherwise fall on a day that is not a business day in
              the specified business centers, together with the convention
              for adjusting the date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="relativeDateSequence" type="RelativeDateSequence">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A series of dates specified as some offset to other dates
              (the anchor dates) which can
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="periodicDates" type="PeriodicDates"/>
      </xsd:choice>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## AdjustedRelativeDateOffset

### Description:

A type defining a date (referred to as the derived date) as a relative offset from another date (referred to as the anchor date) plus optional date adjustments.

### Figure:

### Contents:

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

- A type defining a date (referred to as the derived date) as a relative offset from another date (referred to as the anchor date). If the anchor date is itself an adjustable date then the offset is assumed to be calculated from the adjusted anchor date. A number of different scenarios can be supported, namely; 1) the derived date my simply be a number of calendar periods (days, weeks, months or years) preceding or following the anchor date; 2) the unadjusted derived date may be a number of calendar periods(days, weeks, months or years) preceding or following the anchor date with the resulting unadjusted derived date subject to adjustment in accordance with a specified business day convention, i.e. the derived date must fall on a good business day; 3) the derived date may be a number of business days preceding or following the anchor date. Note that the businessDayConvention specifies any required adjustment to the unadjusted derived date. A negative or positive value in the periodMultiplier indicates whether the unadjusted derived precedes or follows the anchor date. The businessDayConvention should contain a value NONE if the day type element contains a value of Business (since specifying a negative or positive business days offset would already guarantee that the derived date would fall on a good business day in the specified business centers).

relativeDateAdjustments (zero or one occurrence; of the type BusinessDayAdjustments)

- The business day convention and financial business centers used for adjusting the relative date if it would otherwise fall on a day that is not a business date in the specified business centers.

### Used by:

- CalculationPeriodDates/relativeEffectiveDate

### Extension of:

- RelativeDateOffset

### Schema Fragment:

    <xsd:complexType name="AdjustedRelativeDateOffset">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a date (referred to as the derived date) as a
          relative offset from another date (referred to as the anchor
          date) plus optional date adjustments.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="RelativeDateOffset">
          <xsd:sequence>
            <xsd:element name="relativeDateAdjustments" type="BusinessDayAdjustments" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The business day convention and financial business
                  centers used for adjusting the relative date if it would
                  otherwise fall on a day that is not a business date in
                  the specified business centers.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## AmericanExercise

### Description:

A type defining the exercise period for an American style option together with any rules governing the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fees.

### Figure:

### Contents:

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

- The abstract base class for all types which define way in which options may be exercised.

commencementDate (exactly one occurrence; of the type AdjustableOrRelativeDate)

- The first day of the exercise period for an American style option.

expirationDate (exactly one occurrence; of the type AdjustableOrRelativeDate)

- The last day within an exercise period for an American style option. For a European style option it is the only day within the exercise period.

relevantUnderlyingDate (zero or one occurrence; of the type AdjustableOrRelativeDates)

- The daye on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the effective date, in an extendible/cancelable provision it is the termination date).

earliestExerciseTime (exactly one occurrence; of the type BusinessCenterTime)

- The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) i) on the expriation date, in the case of a European style option, (ii) on each bermuda option exercise date and the expiration date, in the case of a Bermuda style option the commencement date to, and including, the expiration date , in the case of an American option.

latestExerciseTime (zero or one occurrence; of the type BusinessCenterTime)

- For a Bermuda or American style option, the latest time on an exercise business day (excluding the expiration date) within the exercise period that notice can be given by the buyer to the seller or seller's agent. Notice of exercise given after this time will be deemed to have been given on the next exercise business day.

expirationTime (exactly one occurrence; of the type BusinessCenterTime)

- The latest time for exercise on expirationDate.

multipleExercise (zero or one occurrence; of the type MultipleExercise)

- As defined in the 2000 ISDA Definitions, Section 12.4. Multiple Exercise, the buyer of the option has the right to exercise all or less than all the unexercised notional amount of the underlying swap on one or more days in the exercise period, but on any such day may not exercise less than the minimum notional amount or more that the maximum notional amount, and if an integral multiple amount is specified, the notional amount exercised must be equal to, or be an intergral multiple of, the integral multiple amount.

exerciseFeeSchedule (zero or one occurrence; of the type ExerciseFeeSchedule)

- The fees associated with an exercise date. The fees are conditional on the exercise occuring. The fees can be specified as actual currency amounts or as percentages of the notional amount being exercised.

### Used by:

### Extension of:

- Exercise

### Schema Fragment:

    <xsd:complexType name="AmericanExercise">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the exercise period for an American style option
          together with any rules governing the notional amount of the
          underlying which can be exercised on any given exercise date and
          any associated exercise fees.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Exercise">
          <xsd:sequence>
            <xsd:element name="commencementDate" type="AdjustableOrRelativeDate">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The first day of the exercise period for an American
                  style option.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="expirationDate" type="AdjustableOrRelativeDate">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The last day within an exercise period for an American
                  style option. For a European style option it is the only
                  day within the exercise period.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="relevantUnderlyingDate" type="AdjustableOrRelativeDates" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The daye on the underlying set by the exercise of an
                  option. What this date is depends on the option (e.g. in
                  a swaption it is the effective date, in an
                  extendible/cancelable provision it is the termination
                  date).
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="earliestExerciseTime" type="BusinessCenterTime">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The earliest time at which notice of exercise can be
                  given by the buyer to the seller (or seller's agent) i)
                  on the expriation date, in the case of a European style
                  option, (ii) on each bermuda option exercise date and the
                  expiration date, in the case of a Bermuda style option
                  the commencement date to, and including, the expiration
                  date , in the case of an American option.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="latestExerciseTime" type="BusinessCenterTime" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  For a Bermuda or American style option, the latest time
                  on an exercise business day (excluding the expiration
                  date) within the exercise period that notice can be given
                  by the buyer to the seller or seller's agent. Notice of
                  exercise given after this time will be deemed to have
                  been given on the next exercise business day.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="expirationTime" type="BusinessCenterTime">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The latest time for exercise on expirationDate.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="multipleExercise" type="MultipleExercise" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  As defined in the 2000 ISDA Definitions, Section 12.4.
                  Multiple Exercise, the buyer of the option has the right
                  to exercise all or less than all the unexercised notional
                  amount of the underlying swap on one or more days in the
                  exercise period, but on any such day may not exercise
                  less than the minimum notional amount or more that the
                  maximum notional amount, and if an integral multiple
                  amount is specified, the notional amount exercised must
                  be equal to, or be an intergral multiple of, the integral
                  multiple amount.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="exerciseFeeSchedule" type="ExerciseFeeSchedule" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The fees associated with an exercise date. The fees are
                  conditional on the exercise occuring. The fees can be
                  specified as actual currency amounts or as percentages of
                  the notional amount being exercised.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## AmountReference

### Description:

Specifies a reference to a monetary amount.

### Figure:

### Contents:

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

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

- FxConversion/amountRelativeTo
- Price/amountRelativeTo
- PrincipalExchangeAmount/amountRelativeTo
- ReturnSwapNotional/amountRelativeTo

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="AmountReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Specifies a reference to a monetary amount.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </xsd:complexType>

## AmountSchedule

### Description:

A type defining a currency amount or a currency amount schedule.

### Figure:

### Contents:

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

- A type defining a schedule of rates or amounts in terms of an initial value and then a series of step date and value pairs. On each step date the rate or amount changes to the new step value. The series of step date and value pairs are optional. If not specified, this implies that the initial value remains unchanged over time.

currency (exactly one occurrence; of the type Currency)

- The currency in which an amount is denominated.

### Used by:

- CalculationPeriodAmount/knownAmountSchedule
- ExerciseFeeSchedule/feeAmountSchedule
- Notional/notionalStepSchedule

### Extension of:

- Schedule

### Schema Fragment:

    <xsd:complexType name="AmountSchedule">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a currency amount or a currency amount schedule.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Schedule">
          <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:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## AssetReference

### Description:

Reference to an underlying asset.

### Figure:

### Contents:

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

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

- ForwardRateCurve/assetReference
- PassThroughItem/underlyerReference
- TermPoint/definition

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="AssetReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reference to an underlying asset.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </xsd:complexType>

## AutomaticExercise

### Description:

A type to define automatic exercise of a swaption. With automatic exercise the option is deemed to have exercised if it is in the money by more than the threshold amount on the exercise date.

### Figure:

### Contents:

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

- A threshold rate. The threshold of 0.10% would be represented as 0.001

### Used by:

- ExerciseProcedure/automaticExercise

### Schema Fragment:

    <xsd:complexType name="AutomaticExercise">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type to define automatic exercise of a swaption. With automatic
          exercise the option is deemed to have exercised if it is in the
          money by more than the threshold amount on the exercise date.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="thresholdRate" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A threshold rate. The threshold of 0.10% would be represented
              as 0.001
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## BenchmarkRate

### Description:

The data type used for a benchmark rate (e.g. agreed discount rate or collateral interest rate).

### Figure:

### Contents:

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

Attribute: benchmarkRateScheme (xsd:anyURI)

### Used by:

- CollateralizedCashPriceMethod/agreedDiscountRate
- MidMarketValuationMethod/agreedDiscountRate
- MidMarketValuationMethod/cashCollateralInterestRate
- SwaptionPhysicalSettlement/agreedDiscountRate

### Schema Fragment:

    <xsd:complexType name="BenchmarkRate">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The data type used for a benchmark rate (e.g. agreed discount
          rate or collateral interest rate).
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="benchmarkRateScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/benchmark-rate">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The identifier scheme used for this benchmark. This will be
                defaulted to an ISDA benchmark scheme.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## Beneficiary

### Description:

A type defining the beneficiary of the funds.

### Figure:

### Contents:

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

- A type that provides three alternative ways of identifying a party involved in the routing of a payment. The identification may use payment system identifiers only; actual name, address and other reference information; or a combination of both.

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

- Link to the party acting as beneficiary. This element can only appear within the beneficiary container element.

### Used by:

- SettlementInstruction/beneficiary
- SettlementInstruction/beneficiaryBank

### Extension of:

- Routing

### Schema Fragment:

    <xsd:complexType name="Beneficiary">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the beneficiary of the funds.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Routing">
          <xsd:sequence>
            <xsd:element name="beneficiaryPartyReference" type="PartyReference" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Link to the party acting as beneficiary. This element can
                  only appear within the beneficiary container element.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## BermudaExercise

### Description:

A type defining the Bermuda option exercise dates and the expiration date together with any rules govenerning the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fee.

### Figure:

### Contents:

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

- The abstract base class for all types which define way in which options may be exercised.

bermudaExerciseDates (exactly one occurrence; of the type AdjustableOrRelativeDates)

- The dates the define the Bermuda option exercise dates and the expiration date. The last specified date is assumed to be the expiration date. The dates can either be specified as a series of explicit dates and associated adjustments or as a series of dates defined relative to another schedule of dates, for example, the calculation period start dates. Where a relative series of dates are defined the first and last possible exercise dates can be separately specified.

relevantUnderlyingDate (zero or one occurrence; of the type AdjustableOrRelativeDates)

- The daye on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the effective date, in an extendible/cancelable provision it is the termination date).

earliestExerciseTime (exactly one occurrence; of the type BusinessCenterTime)

- The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) i) on the expriation date, in the case of a European style option, (ii) on each bermuda option exercise date and the expiration date, in the case of a Bermuda style option the commencement date to, and including, the expiration date , in the case of an American option.

latestExerciseTime (zero or one occurrence; of the type BusinessCenterTime)

- For a Bermuda or American style option, the latest time on an exercise business day (excluding the expiration date) within the exercise period that notice can be given by the buyer to the seller or seller's agent. Notice of exercise given after this time will be deemed to have been given on the next exercise business day.

expirationTime (exactly one occurrence; of the type BusinessCenterTime)

- The latest time for exercise on expirationDate.

multipleExercise (zero or one occurrence; of the type MultipleExercise)

- As defined in the 2000 ISDA Definitions, Section 12.4. Multiple Exercise, the buyer of the option has the right to exercise all or less than all the unexercised notional amount of the underlying swap on one or more days in the exercise period, but on any such day may not exercise less than the minimum notional amount or more that the maximum notional amount, and if an integral multiple amount is specified, the notional amount exercised must be equal to, or be an intergral multiple of, the integral multiple amount.

exerciseFeeSchedule (zero or one occurrence; of the type ExerciseFeeSchedule)

- The fees associated with an exercise date. The fees are conditional on the exercise occuring. The fees can be specified as actual currency amounts or as percentages of the notional amount being exercised.

### Used by:

### Extension of:

- Exercise

### Schema Fragment:

    <xsd:complexType name="BermudaExercise">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the Bermuda option exercise dates and the
          expiration date together with any rules govenerning the notional
          amount of the underlying which can be exercised on any given
          exercise date and any associated exercise fee.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Exercise">
          <xsd:sequence>
            <xsd:element name="bermudaExerciseDates" type="AdjustableOrRelativeDates">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The dates the define the Bermuda option exercise dates
                  and the expiration date. The last specified date is
                  assumed to be the expiration date. The dates can either
                  be specified as a series of explicit dates and associated
                  adjustments or as a series of dates defined relative to
                  another schedule of dates, for example, the calculation
                  period start dates. Where a relative series of dates are
                  defined the first and last possible exercise dates can be
                  separately specified.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="relevantUnderlyingDate" type="AdjustableOrRelativeDates" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The daye on the underlying set by the exercise of an
                  option. What this date is depends on the option (e.g. in
                  a swaption it is the effective date, in an
                  extendible/cancelable provision it is the termination
                  date).
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="earliestExerciseTime" type="BusinessCenterTime">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The earliest time at which notice of exercise can be
                  given by the buyer to the seller (or seller's agent) i)
                  on the expriation date, in the case of a European style
                  option, (ii) on each bermuda option exercise date and the
                  expiration date, in the case of a Bermuda style option
                  the commencement date to, and including, the expiration
                  date , in the case of an American option.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="latestExerciseTime" type="BusinessCenterTime" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  For a Bermuda or American style option, the latest time
                  on an exercise business day (excluding the expiration
                  date) within the exercise period that notice can be given
                  by the buyer to the seller or seller's agent. Notice of
                  exercise given after this time will be deemed to have
                  been given on the next exercise business day.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="expirationTime" type="BusinessCenterTime">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The latest time for exercise on expirationDate.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="multipleExercise" type="MultipleExercise" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  As defined in the 2000 ISDA Definitions, Section 12.4.
                  Multiple Exercise, the buyer of the option has the right
                  to exercise all or less than all the unexercised notional
                  amount of the underlying swap on one or more days in the
                  exercise period, but on any such day may not exercise
                  less than the minimum notional amount or more that the
                  maximum notional amount, and if an integral multiple
                  amount is specified, the notional amount exercised must
                  be equal to, or be an intergral multiple of, the integral
                  multiple amount.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="exerciseFeeSchedule" type="ExerciseFeeSchedule" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The fees associated with an exercise date. The fees are
                  conditional on the exercise occuring. The fees can be
                  specified as actual currency amounts or as percentages of
                  the notional amount being exercised.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## BrokerConfirmation

### Description:

An entity for details on the broker confirm.

### Figure:

### Contents:

brokerConfirmationType (exactly one occurrence; of the type BrokerConfirmationType)

- The type of broker confirmation executed between the parties.

### Used by:

- Documentation/brokerConfirmation

### Schema Fragment:

    <xsd:complexType name="BrokerConfirmation">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An entity for details on the broker confirm.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="brokerConfirmationType" type="BrokerConfirmationType">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The type of broker confirmation executed between the parties.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## BrokerConfirmationType

### Description:

### Figure:

### Contents:

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

Attribute: brokerConfirmationTypeScheme (xsd:anyURI)

### Used by:

- BrokerConfirmation/brokerConfirmationType

### Schema Fragment:

    <xsd:complexType name="BrokerConfirmationType">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="brokerConfirmationTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/broker-confirmation-type-3-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## BusinessCenter

### Description:

A code identifying a financial business center location. A business center is drawn from the list identified by the business center scheme.

### Figure:

### Contents:

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

Attribute: businessCenterScheme (xsd:anyURI)

Attribute: id (xsd:ID)

### Used by:

- BusinessCenters/businessCenter
- BusinessCenterTime/businessCenter
- CreditEventNotice/businessCenter
- ExerciseNotice/businessCenter

### Schema Fragment:

    <xsd:complexType name="BusinessCenter">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A code identifying a financial business center location. A
          business center is drawn from the list identified by the business
          center scheme.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="businessCenterScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/business-center-6-0"/>
          <xsd:attribute name="id" type="xsd:ID"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## BusinessCenters

### Description:

A type for defining financial business centers used in determining whether a day is a business day or not. A list of business centers may be ordered in the document alphabetically based on business center code. An FpML document containing an unordered business center list is still regarded as a conformant document.

### Figure:

### Contents:

businessCenter (one or more occurrences; of the type BusinessCenter)

Attribute: id (xsd:ID)

### Used by:

### Schema Fragment:

    <xsd:complexType name="BusinessCenters">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type for defining financial business centers used in
          determining whether a day is a business day or not. A list of
          business centers may be ordered in the document alphabetically
          based on business center code. An FpML document containing an
          unordered business center list is still regarded as a conformant
          document.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="businessCenter" type="BusinessCenter" maxOccurs="unbounded"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## BusinessCentersOrReference

### Description:

A pointer style reference to a set of business day calendar defined elsewhere in the document.

### Figure:

### Contents:

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

businessCentersReference (exactly one occurrence; of the type BusinessCentersReference)

- A pointer style reference to a set of financial business centers defined elsewhere in the document. This set of business centers is used to determine whether a particular day is a business day or not.

Or

businessCenters (exactly one occurrence; of the type BusinessCenters)

### Used by:

- CalculationParameters/applicableBusinessDays
- ObservationShiftParameters/additionalBusinessDays

### Schema Fragment:

    <xsd:complexType name="BusinessCentersOrReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A pointer style reference to a set of business day calendar
          defined elsewhere in the document.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:group ref="BusinessCentersOrReference.model"/>
      </xsd:sequence>
    </xsd:complexType>

## BusinessCentersReference

### Description:

A pointer style reference to a set of financial business centers defined elsewhere in the document.

### Figure:

### Contents:

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

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="BusinessCentersReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A pointer style reference to a set of financial business centers
          defined elsewhere in the document.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </xsd:complexType>

## BusinessCenterTime

### Description:

A type for defining a time with respect to a business center location. For example, 11:00am London time.

### Figure:

### Contents:

hourMinuteTime (exactly one occurrence; of the type HourMinuteTime)

- A time specified in hh:mm:ss format where the second component must be '00', e.g. 11am would be represented as 11:00:00.

businessCenter (exactly one occurrence; of the type BusinessCenter)

### Used by:

- AmericanExercise/earliestExerciseTime
- AmericanExercise/expirationTime
- AmericanExercise/latestExerciseTime
- BermudaExercise/earliestExerciseTime
- BermudaExercise/expirationTime
- BermudaExercise/latestExerciseTime
- CashSettlement/cashSettlementValuationTime
- CashSettlementTerms/valuationTime
- EquityAmericanExercise/equityExpirationTime
- EquityBermudaExercise/equityExpirationTime
- EquityEuropeanExercise/equityExpirationTime
- EquityValuation/valuationTime
- EuropeanExercise/earliestExerciseTime
- EuropeanExercise/expirationTime
- ExpiryDateTime/expiryTime
- FxAverageRateOption/fixingTime
- FxSpotRateSource/fixingTime
- SharedAmericanExercise/latestExerciseTime

### Schema Fragment:

    <xsd:complexType name="BusinessCenterTime">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type for defining a time with respect to a business center
          location. For example, 11:00am London time.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="hourMinuteTime" type="HourMinuteTime">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A time specified in hh:mm:ss format where the second
              component must be '00', e.g. 11am would be represented as
              11:00:00.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="businessCenter" type="BusinessCenter"/>
      </xsd:sequence>
    </xsd:complexType>

## BusinessDateRange

### Description:

A type defining a range of contiguous business days by defining an unadjusted first date, an unadjusted last date and a business day convention and business centers for adjusting the first and last dates if they would otherwise fall on a non business day in the specified business centers. The days between the first and last date must also be good business days in the specified centers to be counted in the range.

### Figure:

### Contents:

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

- A type defining a contiguous series of calendar dates. The date range is defined as all the dates between and including the first and the last date. The first date must fall before the last date.

businessDayConvention (exactly one occurrence; of the type BusinessDayConventionEnum)

- The convention for adjusting a date if it would otherwise fall on a day that is not a business day.

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

businessCentersReference (exactly one occurrence; of the type BusinessCentersReference)

- A pointer style reference to a set of financial business centers defined elsewhere in the document. This set of business centers is used to determine whether a particular day is a business day or not.

Or

businessCenters (exactly one occurrence; of the type BusinessCenters)

### Used by:

- CashSettlementPaymentDate/businessDateRange

### Extension of:

- DateRange

### Schema Fragment:

    <xsd:complexType name="BusinessDateRange">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a range of contiguous business days by defining
          an unadjusted first date, an unadjusted last date and a business
          day convention and business centers for adjusting the first and
          last dates if they would otherwise fall on a non business day in
          the specified business centers. The days between the first and
          last date must also be good business days in the specified
          centers to be counted in the range.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="DateRange">
          <xsd:sequence>
            <xsd:element name="businessDayConvention" type="BusinessDayConventionEnum">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The convention for adjusting a date if it would otherwise
                  fall on a day that is not a business day.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:group ref="BusinessCentersOrReference.model" minOccurs="0"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## BusinessDayAdjustments

### Description:

A type defining the business day convention and financial business centers used for adjusting any relevant date if it would otherwise fall on a day that is not a business day in the specified business centers.

### Figure:

### Contents:

businessDayConvention (exactly one occurrence; of the type BusinessDayConventionEnum)

- The convention for adjusting a date if it would otherwise fall on a day that is not a business day.

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

businessCentersReference (exactly one occurrence; of the type BusinessCentersReference)

- A pointer style reference to a set of financial business centers defined elsewhere in the document. This set of business centers is used to determine whether a particular day is a business day or not.

Or

businessCenters (exactly one occurrence; of the type BusinessCenters)

Attribute: id (xsd:ID)

### Used by:

- AdjustableDate/dateAdjustments
- AdjustableDate2/dateAdjustments
- AdjustableDates/dateAdjustments
- AdjustedRelativeDateOffset/relativeDateAdjustments
- CalculationPeriodDates/calculationPeriodDatesAdjustments
- GeneralTerms/dateAdjustments
- PaymentDates/paymentDatesAdjustments
- PeriodicDates/calculationPeriodDatesAdjustments
- ResetDates/resetDatesAdjustments

### Schema Fragment:

    <xsd:complexType name="BusinessDayAdjustments">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the business day convention and financial
          business centers used for adjusting any relevant date if it would
          otherwise fall on a day that is not a business day in the
          specified business centers.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="businessDayConvention" type="BusinessDayConventionEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The convention for adjusting a date if it would otherwise
              fall on a day that is not a business day.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:group ref="BusinessCentersOrReference.model" minOccurs="0"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## BusinessDayAdjustmentsReference

### Description:

Reference to a business day adjustments structure.

### Figure:

### Contents:

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

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

- AdjustableDate2/dateAdjustmentsReference

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="BusinessDayAdjustmentsReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reference to a business day adjustments structure.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </xsd:complexType>

## CalculationAgent

### Description:

A type defining the ISDA calcuation agent responsible for performing duties as defined in the applicable product definitions.

### Figure:

### Contents:

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

calculationAgentPartyReference (one or more occurrences; of the type PartyReference)

- A pointer style reference to a party identifier defined elsewhere in the document. The party referenced is the ISDA Calculation Agent for the trade. If more than one party is referenced then the parties are assumed to be co-calculation agents, i.e. they have joint reponsibility.

Or

calculationAgentParty (exactly one occurrence; of the type CalculationAgentPartyEnum)

- The ISDA Calculation Agent where the actual party responsible for performing the duties associated with an optional early termination provision will be determined at exercise. For example, the Calculation Agent may be defined as being the Non-exercising Party.

### Used by:

- MandatoryEarlyTermination/calculationAgent
- OptionalEarlyTermination/calculationAgent
- Swaption/calculationAgent

### Schema Fragment:

    <xsd:complexType name="CalculationAgent">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the ISDA calcuation agent responsible for
          performing duties as defined in the applicable product
          definitions.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:choice>
        <xsd:element name="calculationAgentPartyReference" type="PartyReference" maxOccurs="unbounded">
          <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 ISDA
              Calculation Agent for the trade. If more than one party is
              referenced then the parties are assumed to be co-calculation
              agents, i.e. they have joint reponsibility.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="calculationAgentParty" type="CalculationAgentPartyEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The ISDA Calculation Agent where the actual party responsible
              for performing the duties associated with an optional early
              termination provision will be determined at exercise. For
              example, the Calculation Agent may be defined as being the
              Non-exercising Party.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:complexType>

## CalculationParameters

### Description:

A type defining a rate that is calculated based on a number of observations of an underlying rate that are averaged or compounded using a specified method. These are sometimes called modular calculated rates. These are described in the 2021 ISDA Definitions in Section 7.

### Figure:

### Contents:

calculationMethod (exactly one occurrence; of the type CalculationMethodEnum)

- Specifies the type of calculation, e.g. whether the calculation is a compounding or an averaging calculation. This element distinguishes between the applicable subsections of Section 7 (7.3, 7.4, and 7.7). If the calculationMethod is Componding or Averaging, this implies that a daily compounded calculation will be done, i.e. that the underlying rate will be observed eacy applicalbe business day during the observation period and then compounded or averaged. If it is CompoundedIndex, this means that the rate administrator is doing the compounding each day and publishing the resulting index value. In this case the calculation agent is responsible for observing the index and the start and at the end of the observation period, and then backing out the implied rate by following the formula in section 7.7. (This formula divides the index value at the end by the index value at the beginning, subtracts 1, and then scales the resulting value based on the year fraction to annualize the rate.) In other words, for CompoundedIndex the observation frequency is effectively 1T, where for Compounding and Averaging, it is 1D.

applicableBusinessDays (zero or one occurrence; of the type BusinessCentersOrReference)

- Specifies the applicable business days to be used for this calculation. If omitted, the business days should be defaulted from the FRO Matrix, as represented in the FRO metadata. Failing that, it should be defaulted from the default business center for the relevant currency. See the ISDA 2021 Definitions Section 7.2.1.

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

lookback (exactly one occurrence; of the type ObservationOffset)

- Specifies that lookback calculation is in effect, and supplies parameters needed to support that. See the ISDA 2021 Definitions Section 7.3.2 and 7.4.2. This should not be used when the calculationMethod is CompoundedIndex.

Or

observationShift (exactly one occurrence; of the type ObservationShiftParameters)

- Specifies that observation shift calculation is in effect, and supplies parameters needed to support that. See the ISDA 2021 Definitions Section 7.3.3 and 7.4.3 and 7.7.3.

Or

lockout (exactly one occurrence; of the type ObservationOffset)

- Specifies that lockout calculation is in effect, and supplies parameters needed to support that. See the ISDA 2021 Definitions Section 7.3.4 and 7.4.4. This should not be used when the calculationMethod is CompoundedIndex.

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

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

### Used by:

- FallbackRate/calculationParameters
- FloatingRate/calculationParameters

### Schema Fragment:

    <xsd:complexType name="CalculationParameters">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a rate that is calculated based on a number of
          observations of an underlying rate that are averaged or
          compounded using a specified method. These are sometimes called
          modular calculated rates. These are described in the 2021 ISDA
          Definitions in Section 7.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="calculationMethod" type="CalculationMethodEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the type of calculation, e.g. whether the
              calculation is a compounding or an averaging calculation.
              This element distinguishes between the applicable subsections
              of Section 7 (7.3, 7.4, and 7.7). If the calculationMethod is
              Componding or Averaging, this implies that a daily compounded
              calculation will be done, i.e. that the underlying rate will
              be observed eacy applicalbe business day during the
              observation period and then compounded or averaged. If it is
              CompoundedIndex, this means that the rate administrator is
              doing the compounding each day and publishing the resulting
              index value. In this case the calculation agent is
              responsible for observing the index and the start and at the
              end of the observation period, and then backing out the
              implied rate by following the formula in section 7.7. (This
              formula divides the index value at the end by the index value
              at the beginning, subtracts 1, and then scales the resulting
              value based on the year fraction to annualize the rate.) In
              other words, for CompoundedIndex the observation frequency is
              effectively 1T, where for Compounding and Averaging, it is
              1D.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="applicableBusinessDays" minOccurs="0" type="BusinessCentersOrReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the applicable business days to be used for this
              calculation. If omitted, the business days should be
              defaulted from the FRO Matrix, as represented in the FRO
              metadata. Failing that, it should be defaulted from the
              default business center for the relevant currency. See the
              ISDA 2021 Definitions Section 7.2.1.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice minOccurs="0">
          <xsd:element name="lookback" type="ObservationOffset">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies that lookback calculation is in effect, and
                supplies parameters needed to support that. See the ISDA
                2021 Definitions Section 7.3.2 and 7.4.2. This should not
                be used when the calculationMethod is CompoundedIndex.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="observationShift" type="ObservationShiftParameters">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies that observation shift calculation is in effect,
                and supplies parameters needed to support that. See the
                ISDA 2021 Definitions Section 7.3.3 and 7.4.3 and 7.7.3.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="lockout" type="ObservationOffset">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies that lockout calculation is in effect, and
                supplies parameters needed to support that. See the ISDA
                2021 Definitions Section 7.3.4 and 7.4.4. This should not
                be used when the calculationMethod is CompoundedIndex.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:group ref="ObservationParameters.model" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies any parameters to be applied to each individual
              observation, such as caps or floors. This should not be used
              when the calculationMethod is CompoundedIndex.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:group>
      </xsd:sequence>
    </xsd:complexType>

## CalculationPeriodFrequency

### Description:

A type defining the frequency at which calculation period end dates occur within the regular part of the calculation period schedule and thier roll date convention.

### Figure:

### Contents:

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

- A type defining a time interval or offset, e.g. one day, three months. Used for specifying frequencies at which events occur, the tenor of a floating rate or an offset relative to another date.

rollConvention (exactly one occurrence; of the type RollConventionEnum)

- Used in conjunction with a frequency and the regular period start date of a calculation period, determines each calculation period end date within the regular part of a calculation period schedule.

### Used by:

- CalculationPeriodDates/calculationPeriodFrequency
- FxAverageRateObservationSchedule/calculationPeriodFrequency
- PeriodicDates/calculationPeriodFrequency

### Extension of:

- Interval

### Schema Fragment:

    <xsd:complexType name="CalculationPeriodFrequency">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the frequency at which calculation period end
          dates occur within the regular part of the calculation period
          schedule and thier roll date convention.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Interval">
          <xsd:sequence>
            <xsd:element name="rollConvention" type="RollConventionEnum">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Used in conjunction with a frequency and the regular
                  period start date of a calculation period, determines
                  each calculation period end date within the regular part
                  of a calculation period schedule.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## CashflowType

### Description:

A coding scheme used to describe the type or purpose of a cash flow or cash flow component.

### Figure:

### Contents:

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

Attribute: cashflowTypeScheme (xsd:anyURI)

### Used by:

- GrossCashflow/cashflowType

### Schema Fragment:

    <xsd:complexType name="CashflowType">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A coding scheme used to describe the type or purpose of a cash
          flow or cash flow component.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="cashflowTypeScheme" default="http://www.fpml.org/coding-scheme/cashflow-type-2-0" type="xsd:anyURI"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## CashSettlementReferenceBanks

### Description:

A type defining the list of reference institutions polled for relevant rates or prices when determining the cash settlement amount for a product where cash settlement is applicable.

### Figure:

### Contents:

referenceBank (one or more occurrences; of the type ReferenceBank)

- An institution (party) identified by means of a coding scheme and an optional name.

Attribute: id (xsd:ID)

### Used by:

- CashPriceMethod/cashSettlementReferenceBanks
- CrossCurrencyMethod/cashSettlementReferenceBanks
- MidMarketValuationMethod/cashSettlementReferenceBanks
- ReplacementValueMethodBase/cashSettlementReferenceBanks
- SettlementRateSource/cashSettlementReferenceBanks

### Schema Fragment:

    <xsd:complexType name="CashSettlementReferenceBanks">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the list of reference institutions polled for
          relevant rates or prices when determining the cash settlement
          amount for a product where cash settlement is applicable.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="referenceBank" type="ReferenceBank" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An institution (party) identified by means of a coding scheme
              and an optional name.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## ClearanceSystem

### Description:

Unless otherwise specified, the principal clearance system customarily used for settling trades in the relevant underlying.

### Figure:

### Contents:

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

Attribute: clearanceSystemScheme (xsd:anyURI)

### Used by:

- UnderlyingAsset/clearanceSystem

### Schema Fragment:

    <xsd:complexType name="ClearanceSystem">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Unless otherwise specified, the principal clearance system
          customarily used for settling trades in the relevant underlying.
        </xsd:documentation>
        <xsd:documentation xml:lang="de">
          Sofern nicht anderweitig festgelegt, das Haupt-Clearingsystem,
          das Ã¼blicherweise fÃ¼r die Regulierung von GeschÃ¤ften im
          entsprechenden Basiswert verwendet wird.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="clearanceSystemScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/clearance-system-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## ContractualDefinitions

### Description:

### Figure:

### Contents:

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

Attribute: contractualDefinitionsScheme (xsd:anyURI)

### Used by:

- Documentation/contractualDefinitions

### Schema Fragment:

    <xsd:complexType name="ContractualDefinitions">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="contractualDefinitionsScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/contractual-definitions-3-1"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## ContractualMatrix

### Description:

### Figure:

### Contents:

matrixType (exactly one occurrence; of the type MatrixType)

- Identifies the form of applicable matrix.

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

- Specifies the publication date of the applicable version of the matrix. When this element is omitted, the ISDA supplemental language for incorporation of the relevant matrix will generally define rules for which version of the matrix is applicable.

matrixTerm (zero or one occurrence; of the type MatrixTerm)

- Defines any applicable key into the relevant matrix. For example, the Transaction Type would be the single term required for the Credit Derivatives Physical Settlement Matrix. This element should be omitted in the case of the 2000 ISDA Definitions Settlement Matrix for Early Termination and Swaptions.

### Used by:

- Documentation/contractualMatrix

### Schema Fragment:

    <xsd:complexType name="ContractualMatrix">
      <xsd:sequence>
        <xsd:element name="matrixType" type="MatrixType">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Identifies the form of applicable matrix.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="publicationDate" type="xsd:date" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the publication date of the applicable version of
              the matrix. When this element is omitted, the ISDA
              supplemental language for incorporation of the relevant
              matrix will generally define rules for which version of the
              matrix is applicable.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="matrixTerm" type="MatrixTerm" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Defines any applicable key into the relevant matrix. For
              example, the Transaction Type would be the single term
              required for the Credit Derivatives Physical Settlement
              Matrix. This element should be omitted in the case of the
              2000 ISDA Definitions Settlement Matrix for Early Termination
              and Swaptions.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## ContractualSupplement

### Description:

### Figure:

### Contents:

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

Attribute: contractualSupplementScheme (xsd:anyURI)

### Used by:

- ContractualTermsSupplement/type
- Documentation/contractualSupplement

### Schema Fragment:

    <xsd:complexType name="ContractualSupplement">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="contractualSupplementScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/contractual-supplement-6-2"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## ContractualTermsSupplement

### Description:

### Figure:

### Contents:

type (exactly one occurrence; of the type ContractualSupplement)

- Identifies the form of applicable contractual supplement.

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

- Specifies the publication date of the applicable version of the contractual supplement.

### Used by:

- Documentation/contractualTermsSupplement

### Schema Fragment:

    <xsd:complexType name="ContractualTermsSupplement">
      <xsd:sequence>
        <xsd:element name="type" type="ContractualSupplement">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Identifies the form of applicable contractual supplement.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="publicationDate" type="xsd:date" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the publication date of the applicable version of
              the contractual supplement.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## CorrespondentInformation

### Description:

A type that describes the information to identify a correpondent correspondent bank that will make delivery of the funds on the paying bank's behalf in the country where the payment is to be made.

### Figure:

### Contents:

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

- A type that provides three alternative ways of identifying a party involved in the routing of a payment. The identification may use payment system identifiers only; actual name, address and other reference information; or a combination of both.

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

- Link to the party acting as correspondent. This element can only appear within the correspondentInformation container element.

### Used by:

- SettlementInstruction/correspondentInformation

### Extension of:

- Routing

### Schema Fragment:

    <xsd:complexType name="CorrespondentInformation">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that describes the information to identify a correpondent
          correspondent bank that will make delivery of the funds on the
          paying bank's behalf in the country where the payment is to be
          made.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Routing">
          <xsd:sequence>
            <xsd:element name="correspondentPartyReference" type="PartyReference" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Link to the party acting as correspondent. This element
                  can only appear within the correspondentInformation
                  container element.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## Country

### Description:

### Figure:

### Contents:

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

Attribute: countryScheme (xsd:anyURI)

### Used by:

- Address/country
- EquityOptionTransactionSupplement/localJurisdiction
- EquitySwapTransactionSupplement/localJurisdiction

### Schema Fragment:

    <xsd:complexType name="Country">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="countryScheme" type="xsd:anyURI" default="http://www.fpml.org/ext/iso3166"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## CreditSeniority

### Description:

The repayment precedence of a debt instrument.

### Figure:

### Contents:

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

Attribute: creditSeniorityScheme (xsd:anyURI)

### Used by:

- Bond/seniority

### Schema Fragment:

    <xsd:complexType name="CreditSeniority">
      <xsd:annotation>
        <xsd:documentation source="http://www.FpML.org" xml:lang="en">
          The repayment precedence of a debt instrument.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="creditSeniorityScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/credit-seniority-1-0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                creditSeniorityTradingScheme overrides
                creditSeniorityScheme when the underlyer defines the
                reference obligation used in a single name credit default
                swap trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## Currency

### Description:

### Figure:

### Contents:

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

Attribute: currencyScheme (xsd:anyURI)

### Used by:

- ActualPrice/currency
- AmountSchedule/currency
- Basket/basketCurrency
- Cash/currency
- CashflowNotional/currency
- CashPriceMethod/cashSettlementCurrency
- CollateralizedCashPriceMethod/cashSettlementCurrency
- Commission/currency
- CrossCurrencyMethod/cashSettlementCurrency
- EquityExerciseValuationSettlement/settlementCurrency
- EquityStrike/currency
- FeaturePayment/currency
- FxAverageRateOption/payoutCurrency
- FxCashSettlement/settlementCurrency
- MidMarketValuationMethod/cashCollateralCurrency
- MidMarketValuationMethod/cashSettlementCurrency
- Money/currency
- NonDeliverableSettlement/referenceCurrency
- NotDomesticCurrency/currency
- PaymentCurrency/currency
- PricingStructure/currency
- QuotedAs/faceOnCurrency
- QuotedAs/optionOnCurrency
- QuotedCurrencyPair/currency1
- QuotedCurrencyPair/currency2
- ReplacementValueMethodBase/cashCollateralCurrency
- ReplacementValueMethodBase/cashSettlementCurrency
- SettlementProvision/settlementCurrency
- SettlementTerms/settlementCurrency
- SideRate/currency
- SideRates/baseCurrency
- SpecifiedCurrency/currency
- UnderlyingAsset/currency

### Derived Types:

- IdentifiedCurrency

### Schema Fragment:

    <xsd:complexType name="Currency">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="currencyScheme" type="xsd:anyURI" default="http://www.fpml.org/ext/iso4217-2001-08-15"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## DateList

### Description:

List of Dates

### Figure:

### Contents:

date (one or more occurrences; of the type xsd:date)

### Used by:

- EquityBermudaExercise/bermudaExerciseDates
- TriggerEvent/triggerDates

### Schema Fragment:

    <xsd:complexType name="DateList">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          List of Dates
        </xsd:documentation>
        <xsd:documentation xml:lang="de">
          Liste von Daten.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="date" type="xsd:date" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>

## DateOffset

### Description:

A type defining an offset used in calculating a date when this date is defined in reference to another date through a date offset. The type includes the convention for adjusting the date and an optional sequence element to indicate the order in a sequence of multiple date offsets.

### Figure:

### Contents:

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

- A type defining an offset used in calculating a new date relative to a reference date. Currently, the only offsets defined are expected to be expressed as either calendar or business day offsets.

businessDayConvention (exactly one occurrence; of the type BusinessDayConventionEnum)

- The convention for adjusting a date if it would otherwise fall on a day that is not a business day.

sequence (zero or one occurrence; of the type xsd:integer)

- Sequence in which the reference to the time period multiplier should be applied.

### Used by:

- RelativeDateSequence/dateOffset

### Extension of:

- Offset

### Schema Fragment:

    <xsd:complexType name="DateOffset">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining an offset used in calculating a date when this
          date is defined in reference to another date through a date
          offset. The type includes the convention for adjusting the date
          and an optional sequence element to indicate the order in a
          sequence of multiple date offsets.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Offset">
          <xsd:sequence>
            <xsd:element name="businessDayConvention" type="BusinessDayConventionEnum">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The convention for adjusting a date if it would otherwise
                  fall on a day that is not a business day.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="sequence" type="xsd:integer" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Sequence in which the reference to the time period
                  multiplier should be applied.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## DateRange

### Description:

A type defining a contiguous series of calendar dates. The date range is defined as all the dates between and including the first and the last date. The first date must fall before the last date.

### Figure:

### Contents:

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

- The first date of a date range.

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

- The last date of a date range.

### Used by:

- RelativeDates/scheduleBounds

### Derived Types:

- BusinessDateRange

### Schema Fragment:

    <xsd:complexType name="DateRange">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a contiguous series of calendar dates. The date
          range is defined as all the dates between and including the first
          and the last date. The first date must fall before the last date.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="unadjustedFirstDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The first date of a date range.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="unadjustedLastDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The last date of a date range.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## DateReference

### Description:

Reference to an identified date or complex date structure.

### Figure:

### Contents:

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

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

- DividendConditions/dividendPeriodEffectiveDate
- DividendConditions/dividendPeriodEndDate
- RelativeDateOffset/dateRelativeTo
- RelativeDateSequence/dateRelativeTo
- StartingDate/dateRelativeTo

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="DateReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reference to an identified date or complex date structure.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </xsd:complexType>

## DateTimeList

### Description:

List of DateTimes

### Figure:

### Contents:

dateTime (one or more occurrences; of the type xsd:dateTime)

### Used by:

- AveragingPeriod/averagingDateTimes

### Schema Fragment:

    <xsd:complexType name="DateTimeList">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          List of DateTimes
        </xsd:documentation>
        <xsd:documentation xml:lang="de">
          Liste von Daten und Zeitpunkten.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="dateTime" type="xsd:dateTime" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>

## DayCountFraction

### Description:

The specification for how the number of days between two dates is calculated for purposes of calculation of a fixed or floating payment amount and the basis for how many days are assumed to be in a year. Day Count Fraction is an ISDA term. The equivalent AFB (Association Francaise de Banques) term is Calculation Basis.

### Figure:

### Contents:

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

Attribute: dayCountFractionScheme (xsd:anyURI)

### Used by:

- Bond/dayCountFraction
- Calculation/dayCountFraction
- CashflowCalculationPeriod/dayCountFraction
- Deposit/dayCountFraction
- Discounting/discountRateDayCountFraction
- FixedAmountCalculation/dayCountFraction
- Fra/dayCountFraction
- InterestCalculation/dayCountFraction
- RateIndex/dayCountFraction
- SimpleFra/dayCountFraction
- SimpleIRSwap/dayCountFraction
- TermDeposit/dayCountFraction

### Schema Fragment:

    <xsd:complexType name="DayCountFraction">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The specification for how the number of days between two dates is
          calculated for purposes of calculation of a fixed or floating
          payment amount and the basis for how many days are assumed to be
          in a year. Day Count Fraction is an ISDA term. The equivalent AFB
          (Association Francaise de Banques) term is Calculation Basis.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="dayCountFractionScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/day-count-fraction-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## DeterminationMethod

### Description:

Coding scheme that specifies the method according to which an amount or a date is determined.

### Figure:

### Contents:

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

Attribute: determinationMethodScheme (xsd:anyURI)

### Used by:

- Composite/determinationMethod
- PaymentCurrency/determinationMethod
- Price/determinationMethod
- PrincipalExchangeAmount/determinationMethod
- ReturnSwapNotional/determinationMethod

### Schema Fragment:

    <xsd:complexType name="DeterminationMethod">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Coding scheme that specifies the method according to which an
          amount or a date is determined.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="determinationMethodScheme" type="xsd:anyURI"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## DividendConditions

### Description:

A type describing the conditions governing the payment of dividends to the receiver of the equity return. With the exception of the dividend payout ratio, which is defined for each of the underlying components.

### Figure:

### Contents:

dividendReinvestment (zero or one occurrence; of the type xsd:boolean)

- Boolean element that defines whether the dividend will be reinvested or not.

dividendEntitlement (zero or one occurrence; of the type DividendEntitlementEnum)

- Defines the date on which the receiver on the equity return is entitled to the dividend.

dividendAmount (zero or one occurrence; of the type DividendAmountTypeEnum)

dividendPaymentDate (zero or one occurrence; of the type DividendPaymentDate)

- Specifies when the dividend will be paid to the receiver of the equity return. Has the meaning as defined in the ISDA 2002 Equity Derivatives Definitions. Is not applicable in the case of a dividend reinvestment election.

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

dividendPeriod (exactly one occurrence; of the type DividendPeriodEnum)

- Defines the First Period or the Second Period, as defined in the 2002 ISDA Equity Derivatives Definitions.

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

- Reference to the party which determines if dividends are extraordinary in relation to normal levels.

excessDividendAmount (zero or one occurrence; of the type DividendAmountTypeEnum)

- Determination of Gross Cash Dividend per Share

paymentCurrency (zero or one occurrence; of the type PaymentCurrency)

- Currency in which the payment relating to the leg amount (equity amount or interest amount) or the dividend will be denominated.

dividendFxTriggerDate (zero or one occurrence; of the type DividendPaymentDate)

- Specifies the date on which the FX rate will be considered in the case of a Composite FX swap.

interestAccrualsMethod (zero or one occurrence; of the type InterestAccrualsCompoundingMethod)

- Defines the way in which interests are accrued: the applicable rate (fixed or floating reference) and the compounding method.

### Used by:

- EquityDerivativeLongFormBase/dividendConditions
- Return/dividendConditions

### Schema Fragment:

    <xsd:complexType name="DividendConditions">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type describing the conditions governing the payment of
          dividends to the receiver of the equity return. With the
          exception of the dividend payout ratio, which is defined for each
          of the underlying components.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="dividendReinvestment" type="xsd:boolean" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Boolean element that defines whether the dividend will be
              reinvested or not.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="dividendEntitlement" type="DividendEntitlementEnum" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Defines the date on which the receiver on the equity return
              is entitled to the dividend.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="dividendAmount" type="DividendAmountTypeEnum" minOccurs="0"/>
        <xsd:element name="dividendPaymentDate" type="DividendPaymentDate" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies when the dividend will be paid to the receiver of
              the equity return. Has the meaning as defined in the ISDA
              2002 Equity Derivatives Definitions. Is not applicable in the
              case of a dividend reinvestment election.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice>
          <xsd:sequence>
            <xsd:element name="dividendPeriodEffectiveDate" type="DateReference" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Dividend period has the meaning as defined in the ISDA
                  2002 Equity Derivatives Definitions. This element
                  specifies the date on which the dividend period will
                  commence.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="dividendPeriodEndDate" type="DateReference" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Dividend period has the meaning as defined in the ISDA
                  2002 Equity Derivatives Definitions. This element
                  specifies the date on which the dividend period will end.
                  It includes a boolean attribute for defining whether this
                  end date is included or excluded from the dividend
                  period.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
          <xsd:element name="dividendPeriod" type="DividendPeriodEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Defines the First Period or the Second Period, as defined
                in the 2002 ISDA Equity Derivatives Definitions.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:element name="extraOrdinaryDividends" type="PartyReference" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Reference to the party which determines if dividends are
              extraordinary in relation to normal levels.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="excessDividendAmount" type="DividendAmountTypeEnum" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Determination of Gross Cash Dividend per Share
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="paymentCurrency" type="PaymentCurrency" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Currency in which the payment relating to the leg amount
              (equity amount or interest amount) or the dividend will be
              denominated.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="dividendFxTriggerDate" type="DividendPaymentDate" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the date on which the FX rate will be considered in
              the case of a Composite FX swap.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="interestAccrualsMethod" type="InterestAccrualsCompoundingMethod" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Defines the way in which interests are accrued: the
              applicable rate (fixed or floating reference) and the
              compounding method.
            </xsd:documentation>
            <xsd:documentation xml:lang="en">
              FpML entity
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## DividendPaymentDate

### Description:

A type describing the date on which the dividend will be paid/received. This type is also used to specify the date on which the FX rate will be determined, when applicable.

### Figure:

### Contents:

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

dividendDateReference (exactly one occurrence; of the type DividendDateReferenceEnum)

- Reference to a dividend date, either the pay date, the ex date or the record date.

Or

adjustableDate (exactly one occurrence; of the type AdjustableDate)

- A date that shall be subject to adjustment if it would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the date.

### Used by:

- DividendConditions/dividendFxTriggerDate
- DividendConditions/dividendPaymentDate

### Schema Fragment:

    <xsd:complexType name="DividendPaymentDate">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type describing the date on which the dividend will be
          paid/received. This type is also used to specify the date on
          which the FX rate will be determined, when applicable.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:choice>
        <xsd:element name="dividendDateReference" type="DividendDateReferenceEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Reference to a dividend date, either the pay date, the ex
              date or the record date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="adjustableDate" type="AdjustableDate">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A date that shall be subject to adjustment if it would
              otherwise fall on a day that is not a business day in the
              specified business centers, together with the convention for
              adjusting the date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:complexType>

## Documentation

### Description:

An entity for defining the definitions that govern the document and should include the year and type of definitions referenced, along with any relevant documentation (such as master agreement) and the date it was signed.

### Figure:

### Contents:

masterAgreement (zero or one occurrence; of the type MasterAgreement)

- The agreement executed between the parties and intended to govern all OTC derivatives transactions between those parties.

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

masterConfirmation (exactly one occurrence; of the type MasterConfirmation)

- The agreement executed between the parties and intended to govern all OTC derivatives transactions between those parties.

Or

brokerConfirmation (exactly one occurrence; of the type BrokerConfirmation)

- Specifies the deails for a broker confirm.

contractualDefinitions (zero or more occurrences; of the type ContractualDefinitions)

- The definitions (such as those published by ISDA) published by ISDA that will define the terms of the trade.

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

contractualSupplement (zero or more occurrences; of the type ContractualSupplement)

- DEPRECATED - This element will be removed in the next major version of FpML. The element contractualTermsSupplement should be used instead. Definition: A contractual supplement (such as those published by ISDA) that will apply to the trade.

Or

contractualTermsSupplement (zero or more occurrences; of the type ContractualTermsSupplement)

- A contractual supplement (such as those published by ISDA) that will apply to the trade.

contractualMatrix (zero or more occurrences; of the type ContractualMatrix)

- A reference to a contractual matrix of elected terms/values (such as those published by ISDA) that shall be deemed to apply to the trade. The applicable matrix is identified by reference to a name and optionally a publication date. Depending on the structure of the matrix, an additional term (specified in the matrixTerm element) may be required to further identify a subset of applicable terms/values within the matrix.

creditSupportDocument (zero or one occurrence; of the type xsd:normalizedString)

- The agreement executed between the parties and intended to govern collateral arrangement for all OTC derivatives transactions between those parties.

### Used by:

- Contract/documentation
- Trade/documentation

### Schema Fragment:

    <xsd:complexType name="Documentation">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An entity for defining the definitions that govern the document
          and should include the year and type of definitions referenced,
          along with any relevant documentation (such as master agreement)
          and the date it was signed.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="masterAgreement" type="MasterAgreement" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The agreement executed between the parties and intended to
              govern all OTC derivatives transactions between those
              parties.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice minOccurs="0">
          <xsd:element name="masterConfirmation" type="MasterConfirmation">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The agreement executed between the parties and intended to
                govern all OTC derivatives transactions between those
                parties.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="brokerConfirmation" type="BrokerConfirmation">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the deails for a broker confirm.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:element name="contractualDefinitions" type="ContractualDefinitions" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The definitions (such as those published by ISDA) published
              by ISDA that will define the terms of the trade.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice>
          <xsd:element name="contractualSupplement" type="ContractualSupplement" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                DEPRECATED - This element will be removed in the next major
                version of FpML. The element contractualTermsSupplement
                should be used instead. Definition: A contractual
                supplement (such as those published by ISDA) that will
                apply to the trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="contractualTermsSupplement" type="ContractualTermsSupplement" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A contractual supplement (such as those published by ISDA)
                that will apply to the trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:element name="contractualMatrix" type="ContractualMatrix" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A reference to a contractual matrix of elected terms/values
              (such as those published by ISDA) that shall be deemed to
              apply to the trade. The applicable matrix is identified by
              reference to a name and optionally a publication date.
              Depending on the structure of the matrix, an additional term
              (specified in the matrixTerm element) may be required to
              further identify a subset of applicable terms/values within
              the matrix.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="creditSupportDocument" type="xsd:normalizedString" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The agreement executed between the parties and intended to
              govern collateral arrangement for all OTC derivatives
              transactions between those parties.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## Empty

### Description:

A special type meant to be used for elements with no content and not attributes.

### Figure:

### Contents:

### Used by:

- CreditEvents/bankruptcy
- CreditEvents/obligationAcceleration
- CreditEvents/obligationDefault
- CreditEvents/repudiationMoratorium
- DeliverableObligations/acceleratedOrMatured
- DeliverableObligations/fullFaithAndCreditObLiability
- DeliverableObligations/generalFundObligationLiability
- DeliverableObligations/listed
- DeliverableObligations/notBearer
- DeliverableObligations/notContingent
- DeliverableObligations/notDomesticIssuance
- DeliverableObligations/notDomesticLaw
- DeliverableObligations/notSovereignLender
- DeliverableObligations/notSubordinated
- DeliverableObligations/revenueObligationLiability
- DeliverableObligations/transferable
- GeneralTerms/modifiedEquityDelivery
- GeneralTerms/substitution
- Obligations/fullFaithAndCreditObLiability
- Obligations/generalFundObligationLiability
- Obligations/listed
- Obligations/notContingent
- Obligations/notDomesticIssuance
- Obligations/notDomesticLaw
- Obligations/notSovereignLender
- Obligations/notSubordinated
- Obligations/revenueObligationLiability
- PCDeliverableObligationCharac/partialCashSettlement
- PhysicalSettlementPeriod/businessDaysNotSpecified
- PubliclyAvailableInformation/standardPublicSources
- ReferenceInformation/noReferenceObligation
- ReferenceInformation/unknownReferenceObligation
- ReferencePair/noReferenceObligation
- Restructuring/multipleCreditEventNotices
- Restructuring/multipleHolderObligation

### Schema Fragment:

    <xsd:complexType name="Empty">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A special type meant to be used for elements with no content and
          not attributes.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:complexType>

## EntityId

### Description:

### Figure:

### Contents:

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

Attribute: entityIdScheme (xsd:anyURI)

### Used by:

- LegalEntity/entityId
- LegalEntity/entityId

### Schema Fragment:

    <xsd:complexType name="EntityId">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="entityIdScheme" type="xsd:anyURI" default="http://www.fpml.org/spec/2003/entity-id-RED-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## EntityName

### Description:

### Figure:

### Contents:

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

Attribute: entityNameScheme (xsd:anyURI)

### Used by:

- LegalEntity/entityName

### Schema Fragment:

    <xsd:complexType name="EntityName">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="entityNameScheme" type="xsd:anyURI" default="http://www.fpml.org/spec/2003/entity-name-RED-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## EuropeanExercise

### Description:

A type defining the exercise period for a European style option together with any rules governing the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fees.

### Figure:

### Contents:

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

- The abstract base class for all types which define way in which options may be exercised.

expirationDate (exactly one occurrence; of the type AdjustableOrRelativeDate)

- The last day within an exercise period for an American style option. For a European style option it is the only day within the exercise period.

relevantUnderlyingDate (zero or one occurrence; of the type AdjustableOrRelativeDates)

- The daye on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the effective date, in an extendible/cancelable provision it is the termination date).

earliestExerciseTime (exactly one occurrence; of the type BusinessCenterTime)

- The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) i) on the expriation date, in the case of a European style option, (ii) on each bermuda option exercise date and the expiration date, in the case of a Bermuda style option the commencement date to, and including, the expiration date , in the case of an American option.

expirationTime (exactly one occurrence; of the type BusinessCenterTime)

- The latest time for exercise on expirationDate.

partialExercise (zero or one occurrence; of the type PartialExercise)

- As defined in the 2000 ISDA Definitions, Section 12.3. Partial Exercise, the buyer of the option has the right to exercise all or less than all the notional amount of the underlying swap on the expiration date, but may not exercise less than the minimum notional amount, and if an integral multiple amount is specified, the notional amount exercised must be equal to, or be an integral multiple of, the integral multiple amount.

exerciseFee (zero or one occurrence; of the type ExerciseFee)

- A fee to be paid on exercise. This could be represented as an amount or a rate and notional reference on which to apply the rate.

### Used by:

### Extension of:

- Exercise

### Schema Fragment:

    <xsd:complexType name="EuropeanExercise">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the exercise period for a European style option
          together with any rules governing the notional amount of the
          underlying which can be exercised on any given exercise date and
          any associated exercise fees.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Exercise">
          <xsd:sequence>
            <xsd:element name="expirationDate" type="AdjustableOrRelativeDate">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The last day within an exercise period for an American
                  style option. For a European style option it is the only
                  day within the exercise period.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="relevantUnderlyingDate" type="AdjustableOrRelativeDates" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The daye on the underlying set by the exercise of an
                  option. What this date is depends on the option (e.g. in
                  a swaption it is the effective date, in an
                  extendible/cancelable provision it is the termination
                  date).
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="earliestExerciseTime" type="BusinessCenterTime">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The earliest time at which notice of exercise can be
                  given by the buyer to the seller (or seller's agent) i)
                  on the expriation date, in the case of a European style
                  option, (ii) on each bermuda option exercise date and the
                  expiration date, in the case of a Bermuda style option
                  the commencement date to, and including, the expiration
                  date , in the case of an American option.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="expirationTime" type="BusinessCenterTime">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The latest time for exercise on expirationDate.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="partialExercise" type="PartialExercise" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  As defined in the 2000 ISDA Definitions, Section 12.3.
                  Partial Exercise, the buyer of the option has the right
                  to exercise all or less than all the notional amount of
                  the underlying swap on the expiration date, but may not
                  exercise less than the minimum notional amount, and if an
                  integral multiple amount is specified, the notional
                  amount exercised must be equal to, or be an integral
                  multiple of, the integral multiple amount.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="exerciseFee" type="ExerciseFee" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A fee to be paid on exercise. This could be represented
                  as an amount or a rate and notional reference on which to
                  apply the rate.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## ExchangeId

### Description:

A short form unique identifier for an exchange. If the element is not present then the exchange shall be the primary exchange on which the underlying is listed. The term "Exchange" is assumed to have the meaning as defined in the ISDA 2002 Equity Derivatives Definitions.

### Figure:

### Contents:

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

Attribute: exchangeIdScheme (xsd:anyURI)

### Used by:

- UnderlyingAsset/exchangeId

### Schema Fragment:

    <xsd:complexType name="ExchangeId">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A short form unique identifier for an exchange. If the element is
          not present then the exchange shall be the primary exchange on
          which the underlying is listed. The term "Exchange" is assumed to
          have the meaning as defined in the ISDA 2002 Equity Derivatives
          Definitions.
        </xsd:documentation>
        <xsd:documentation xml:lang="de">
          Eindeutiges BÃ¶rsenkÃ¼rzel. Fehlt dieses Element, gilt die
          HauptbÃ¶rse, an der der Basiswert notiert ist, als "BÃ¶rse" im
          Sinne der ISDA-Definitionen zu Aktienderivaten von 2002.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="exchangeIdScheme" type="xsd:anyURI" default="http://www.fpml.org/spec/2002/exchange-id-MIC-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## Exercise

### Description:

The abstract base class for all types which define way in which options may be exercised.

### Figure:

### Contents:

Attribute: id (xsd:ID)

### Used by:

### Derived Types:

- AmericanExercise
- BermudaExercise
- EquityEuropeanExercise
- EuropeanExercise
- SharedAmericanExercise

### Schema Fragment:

    <xsd:complexType name="Exercise">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The abstract base class for all types which define way in which
          options may be exercised.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## ExerciseFee

### Description:

A type defining the fee payable on exercise of an option. This fee may be defined as an amount or a percentage of the notional exercised.

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

notionalReference (exactly one occurrence; of the type ScheduleReference)

- A pointer style reference to the associated notional schedule defined elsewhere in the document.

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

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

- The amount of fee to be paid on exercise. The fee currency is that of the referenced notional.

Or

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

- A fee represented as a percentage of some referenced notional. A percentage of 5% would be represented as 0.05.

feePaymentDate (exactly one occurrence; of the type RelativeDateOffset)

- The date on which exercise fee(s) will be paid. It is specified as a relative date.

### Used by:

- EuropeanExercise/exerciseFee

### Schema Fragment:

    <xsd:complexType name="ExerciseFee">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the fee payable on exercise of an option. This
          fee may be defined as an amount or a percentage of the notional
          exercised.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:group ref="PayerReceiver.model"/>
        <xsd:element name="notionalReference" type="ScheduleReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A pointer style reference to the associated notional schedule
              defined elsewhere in the document.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice>
          <xsd:element name="feeAmount" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The amount of fee to be paid on exercise. The fee currency
                is that of the referenced notional.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="feeRate" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A fee represented as a percentage of some referenced
                notional. A percentage of 5% would be represented as 0.05.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:element name="feePaymentDate" type="RelativeDateOffset">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date on which exercise fee(s) will be paid. It is
              specified as a relative date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## ExerciseFeeSchedule

### Description:

A type to define a fee or schedule of fees to be payable on the exercise of an option. This fee may be defined as an amount or a percentage of the notional exercised.

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

notionalReference (exactly one occurrence; of the type ScheduleReference)

- A pointer style reference to the associated notional schedule defined elsewhere in the document.

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

feeAmountSchedule (exactly one occurrence; of the type AmountSchedule)

- The exercise fee amount schedule. The fees are expressed as currency amounts. The currency of the fee is assumed to be that of the notional schedule referenced.

Or

feeRateSchedule (exactly one occurrence; of the type Schedule)

- The exercise free rate schedule. The fees are expressed as percentage rates of the notional being exercised. The currency of the fee is assumed to be that of the notional schedule referenced.

feePaymentDate (exactly one occurrence; of the type RelativeDateOffset)

- The date on which exercise fee(s) will be paid. It is specified as a relative date.

### Used by:

- AmericanExercise/exerciseFeeSchedule
- BermudaExercise/exerciseFeeSchedule

### Schema Fragment:

    <xsd:complexType name="ExerciseFeeSchedule">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type to define a fee or schedule of fees to be payable on the
          exercise of an option. This fee may be defined as an amount or a
          percentage of the notional exercised.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:group ref="PayerReceiver.model"/>
        <xsd:element name="notionalReference" type="ScheduleReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A pointer style reference to the associated notional schedule
              defined elsewhere in the document.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice>
          <xsd:element name="feeAmountSchedule" type="AmountSchedule">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The exercise fee amount schedule. The fees are expressed as
                currency amounts. The currency of the fee is assumed to be
                that of the notional schedule referenced.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="feeRateSchedule" type="Schedule">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The exercise free rate schedule. The fees are expressed as
                percentage rates of the notional being exercised. The
                currency of the fee is assumed to be that of the notional
                schedule referenced.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:element name="feePaymentDate" type="RelativeDateOffset">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date on which exercise fee(s) will be paid. It is
              specified as a relative date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## ExerciseNotice

### Description:

A type defining to whom and where notice of execution should be given. The partyReference refers to one of the principal parties of the trade. If present the exerciseNoticePartyReference refers to a party, other than the principal party, to whome notice should be given.

### Figure:

### Contents:

partyReference (exactly one occurrence; of the type PartyReference)

- The party referenced has allocated the trade identifier.

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

- The party referenced is the party to which notice of exercise should be given by the buyer.

businessCenter (exactly one occurrence; of the type BusinessCenter)

### Used by:

- CancelableProvision/exerciseNotice
- ExtendibleProvision/exerciseNotice
- ManualExercise/exerciseNotice
- OptionalEarlyTermination/exerciseNotice

### Schema Fragment:

    <xsd:complexType name="ExerciseNotice">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining to whom and where notice of execution should be
          given. The partyReference refers to one of the principal parties
          of the trade. If present the exerciseNoticePartyReference refers
          to a party, other than the principal party, to whome notice
          should be given.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="partyReference" type="PartyReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The party referenced has allocated the trade identifier.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="exerciseNoticePartyReference" type="PartyReference" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The party referenced is the party to which notice of exercise
              should be given by the buyer.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="businessCenter" type="BusinessCenter"/>
      </xsd:sequence>
    </xsd:complexType>

## ExerciseProcedure

### Description:

A type describing how notice of exercise should be given. This can be either manual or automatic.

### Figure:

### Contents:

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

manualExercise (exactly one occurrence; of the type ManualExercise)

- Specifies that the notice of exercise must be given by the buyer to the seller or seller's agent.

Or

automaticExercise (exactly one occurrence; of the type AutomaticExercise)

- If automatic is specified then the notional amount of the underlying swap, not previously exercised under the swaption will be automatically exercised at the expriration time on the expiration date if at such time the buyer is in-the-money, provided that the difference between the settlement rate and the fixed rate under the relevant underlying swap is not less than the specified threshold rate. The term in-the-money is assumed to have the meaning defining in the 2000 ISDA Definitions, Section 17.4 In-the-money.

followUpConfirmation (exactly one occurrence; of the type xsd:boolean)

- A flag to indicate whether follow-up confirmation of exercise (written or electronic) is required following telephonic notice by the buyer to the seller or seller's agent.

### Used by:

- Swaption/exerciseProcedure

### Schema Fragment:

    <xsd:complexType name="ExerciseProcedure">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type describing how notice of exercise should be given. This
          can be either manual or automatic.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:choice>
          <xsd:element name="manualExercise" type="ManualExercise">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies that the notice of exercise must be given by the
                buyer to the seller or seller's agent.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="automaticExercise" type="AutomaticExercise">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                If automatic is specified then the notional amount of the
                underlying swap, not previously exercised under the
                swaption will be automatically exercised at the expriration
                time on the expiration date if at such time the buyer is
                in-the-money, provided that the difference between the
                settlement rate and the fixed rate under the relevant
                underlying swap is not less than the specified threshold
                rate. The term in-the-money is assumed to have the meaning
                defining in the 2000 ISDA Definitions, Section 17.4
                In-the-money.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:element name="followUpConfirmation" type="xsd:boolean">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A flag to indicate whether follow-up confirmation of exercise
              (written or electronic) is required following telephonic
              notice by the buyer to the seller or seller's agent.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## FallbackRate

### Description:

Defines a fallback rate, which is a rate to be used in place of a publish term rate (such as an ibor rate) when that term rate ceases to be usable, whether because it ceases to be published or is deemed non-representative by regulator.

### Figure:

### Contents:

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

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

- The date upon which the fallback rate becomes effective. This means that any rate observation for that date or for any subsequent date would use the fallback rate rather than the originally defined rate. This date will typically immediately follow the cessation of publication of the original term rate but could occur before that (e.g. if the original rate is deemed non-representative prior to cessation of publication). If the effective date occurs within a calculation period with multiple rate observations (because of averaging), observations prior to the effective date will use the original floating rate index, and observations on or after the effective date will use the fallback rate.

Attribute: id (xsd:ID) - optional

### Used by:

- FloatingRate/fallbackRate
- StubFloatingRate/fallbackRate

### Schema Fragment:

    <xsd:complexType name="FallbackRate">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Defines a fallback rate, which is a rate to be used in place of a
          publish term rate (such as an ibor rate) when that term rate
          ceases to be usable, whether because it ceases to be published or
          is deemed non-representative by regulator.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:choice>
        <xsd:element name="effectiveDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date upon which the fallback rate becomes effective. This
              means that any rate observation for that date or for any
              subsequent date would use the fallback rate rather than the
              originally defined rate. This date will typically immediately
              follow the cessation of publication of the original term rate
              but could occur before that (e.g. if the original rate is
              deemed non-representative prior to cessation of publication).
              If the effective date occurs within a calculation period with
              multiple rate observations (because of averaging),
              observations prior to the effective date will use the
              original floating rate index, and observations on or after
              the effective date will use the fallback rate.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:sequence>
          <xsd:element name="floatingRateIndex" type="FloatingRateIndex">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The benchmark rate used for computing the fallback rate.
                Typically this will be a risk-free overnight rate.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="effectiveDate" type="xsd:date" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date upon which the fallback rate becomes effective.
                This means that any rate observation for that date or for
                any subsequent date would use the fallback rate rather than
                the originally defined rate. This date will typically
                immediately follow the cessation of publication of the
                original term rate but could occur before that (e.g. if the
                original rate is deemed non-representative prior to
                cessation of publication). If the effective date occurs
                within a calculation period with multiple rate observations
                (because of averaging), observations prior to the effective
                date will use the original floating rate index, and
                observations on or after the effective date will use the
                fallback rate.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="calculationParameters" type="CalculationParameters" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                This provides a representation of the approximate value of
                the fallback rate, i.e. a calculated rate that quite
                closely mimics the value anticipated to be published by the
                fallback rate administrator (once the spread adjustment is
                added).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="spreadAdjustment" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An amount to be added to the calculated value before
                subsequent use, in order to more closely replicate the
                original term rate, by adjusting for the economic or credit
                spread between risk-free rates and risky term rates.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:choice>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
    </xsd:complexType>

## FallbackRateObservation

### Description:

A type defining parameters associated with a fallback observation, i.e. a rate observation where the original published rate is not available and instead a fallback rate must be used.

### Figure:

### Contents:

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

- The date which is the Fallback Observation Date, as defined in the ISDA 2006/2021 Definitions (typically 2 days prior to the relevant Payment/calculation date.

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

- The original record date from the fallback publication source that was available at the time that fallback rate was observed. This may be before the original fixing date depending on publication schedules

### Used by:

- RateObservation/fallback

### Schema Fragment:

    <xsd:complexType name="FallbackRateObservation">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining parameters associated with a fallback
          observation, i.e. a rate observation where the original published
          rate is not available and instead a fallback rate must be used.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="observationDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date which is the Fallback Observation Date, as defined
              in the ISDA 2006/2021 Definitions (typically 2 days prior to
              the relevant Payment/calculation date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="availableRecordDate" type="xsd:date" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The original record date from the fallback publication source
              that was available at the time that fallback rate was
              observed. This may be before the original fixing date
              depending on publication schedules
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## FloatingRate

### Description:

A type defining a floating rate.

### Figure:

### Contents:

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

- The abstract base class for all types which define interest rate streams.

floatingRateIndex (exactly one occurrence; of the type FloatingRateIndex)

- The ISDA Floating Rate Option, i.e. the name of the floating rate.

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

- The ISDA Designated Maturity, i.e. the tenor of the floating rate.

calculationParameters (zero or one occurrence; of the type CalculationParameters)

- Parameters to specify a rate calculated using an averaging or compounding formula, as described in the 2021 ISDA Defintions, section 7. Please note that when this structure is used, the "resetDates" structure will not be used. Instead, the observation rules for the calculated rate are defined within the structure.

fallbackRate (zero or one occurrence; of the type FallbackRate)

- A fallback rate calculated using an averaging or compounding formula to be used in case of the cessation of the original term rate. This structure is provided to 1) allow a message sender to report that a fallback is effect, and/or 2) allow an approximate representation to be created for published fallback rates to allow operations such as valuation, accrual calculation, and risk calculation.

floatingRateMultiplierSchedule (zero or one occurrence; of the type Schedule)

- A rate multiplier or multiplier schedule to apply to the floating rate. A multiplier schedule is expressed as explicit multipliers and dates. In the case of a schedule, the step dates may be subject to adjustment in accordance with any adjustments specified in the calculationPeriodDatesAdjustments. The multiplier can be a positive or negative decimal. This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.

spreadSchedule (zero or more occurrences; of the type SpreadSchedule)

- The ISDA Spread or a Spread schedule expressed as explicit spreads and dates. In the case of a schedule, the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The spread is a per annum rate, expressed as a decimal. For purposes of determining a calculation period amount, if positive the spread will be added to the floating rate and if negative the spread will be subtracted from the floating rate. A positive 10 basis point (0.1%) spread would be represented as 0.001.

rateTreatment (zero or one occurrence; of the type RateTreatmentEnum)

- The specification of any rate conversion which needs to be applied to the observed rate before being used in any calculations. The two common conversions are for securities quoted on a bank discount basis which will need to be converted to either a Money Market Yield or Bond Equivalent Yield. See the Annex to the 2000 ISDA Definitions, Section 7.3. Certain General Definitions Relating to Floating Rate Options, paragraphs (g) and (h) for definitions of these terms.

capRateSchedule (zero or more occurrences; of the type StrikeSchedule)

- The cap rate or cap rate schedule, if any, which applies to the floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. A cap rate schedule is expressed as explicit cap rates and dates and the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05.

floorRateSchedule (zero or more occurrences; of the type StrikeSchedule)

- The floor rate or floor rate schedule, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. A floor rate schedule is expressed as explicit floor rates and dates and the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05.

### Used by:

- TradeUnderlyer/floatingRate

### Extension of:

- Rate

### Derived Types:

- FloatingRateCalculation

### Schema Fragment:

    <xsd:complexType name="FloatingRate">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a floating rate.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Rate">
          <xsd:sequence>
            <xsd:group ref="FloatingRateIndex.model"/>
            <xsd:element name="calculationParameters" type="CalculationParameters" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Parameters to specify a rate calculated using an
                  averaging or compounding formula, as described in the
                  2021 ISDA Defintions, section 7. Please note that when
                  this structure is used, the "resetDates" structure will
                  not be used. Instead, the observation rules for the
                  calculated rate are defined within the structure.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="fallbackRate" type="FallbackRate" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A fallback rate calculated using an averaging or
                  compounding formula to be used in case of the cessation
                  of the original term rate. This structure is provided to
                  1) allow a message sender to report that a fallback is
                  effect, and/or 2) allow an approximate representation to
                  be created for published fallback rates to allow
                  operations such as valuation, accrual calculation, and
                  risk calculation.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:group ref="FloatingRate.model"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## FloatingRateCalculation

### Description:

A type defining the floating rate and definitions relating to the calculation of floating rate amounts.

### Figure:

### Contents:

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

- A type defining a floating rate.

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

- The initial floating rate reset agreed between the principal parties involved in the trade. This is assumed to be the first required reset rate for the first regular calculation period. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. An initial rate of 5% would be represented as 0.05.

finalRateRounding (zero or one occurrence; of the type Rounding)

- The rounding convention to apply to the final rate used in determination of a calculation period amount.

averagingMethod (zero or one occurrence; of the type AveragingMethodEnum)

- If averaging is applicable, this component specifies whether a weighted or unweighted average method of calculation is to be used. The component must only be included when averaging applies.

negativeInterestRateTreatment (zero or one occurrence; of the type NegativeInterestRateTreatmentEnum)

- The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate).

### Used by:

- InterestAccrualsMethod/floatingRateCalculation

### Extension of:

- FloatingRate

### Schema Fragment:

    <xsd:complexType name="FloatingRateCalculation">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the floating rate and definitions relating to the
          calculation of floating rate amounts.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="FloatingRate">
          <xsd:sequence>
            <xsd:group ref="FloatingRateCalculation.model"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## FloatingRateIndex

### Description:

The ISDA Floating Rate Option, i.e. the floating rate index.

### Figure:

### Contents:

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

Attribute: floatingRateIndexScheme (xsd:anyURI)

### Used by:

- FallbackRate/floatingRateIndex
- ForecastRateIndex/floatingRateIndex
- Fra/floatingRateIndex
- RateIndex/floatingRateIndex

### Schema Fragment:

    <xsd:complexType name="FloatingRateIndex">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The ISDA Floating Rate Option, i.e. the floating rate index.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="floatingRateIndexScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/floating-rate-index-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## ForecastRateIndex

### Description:

A type defining a rate index.

### Figure:

### Contents:

floatingRateIndex (exactly one occurrence; of the type FloatingRateIndex)

- The ISDA Floating Rate Option, i.e. the floating rate index.

indexTenor (exactly one occurrence; of the type Interval)

- The ISDA Designated Maturity, i.e. the tenor of the floating rate.

### Used by:

### Schema Fragment:

    <xsd:complexType name="ForecastRateIndex">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a rate index.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="floatingRateIndex" type="FloatingRateIndex">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The ISDA Floating Rate Option, i.e. the floating rate index.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="indexTenor" type="Interval">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The ISDA Designated Maturity, i.e. the tenor of the floating
              rate.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## Formula

### Description:

A type describing a financial formula, with its description and components.

### Figure:

### Contents:

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

- Text description of the formula

math (zero or one occurrence; of the type Math)

- An element for containing an XML representation of the formula. Defined using xsd:any currently for flexibility in choice of language (MathML, OpenMath)

formulaComponent (zero or more occurrences; of the type FormulaComponent)

- Elements describing the components of the formula. The name attribute points to a value used in the math element. The href attribute points to a value elsewhere in the document

### Used by:

- AdditionalPaymentAmount/formula
- FormulaComponent/formula
- InterestRateStream/formula
- LegAmount/formula

### Schema Fragment:

    <xsd:complexType name="Formula">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type describing a financial formula, with its description and
          components.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="formulaDescription" type="xsd:string" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Text description of the formula
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="math" type="Math" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An element for containing an XML representation of the
              formula. Defined using xsd:any currently for flexibility in
              choice of language (MathML, OpenMath)
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="formulaComponent" type="FormulaComponent" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Elements describing the components of the formula. The name
              attribute points to a value used in the math element. The
              href attribute points to a value elsewhere in the document
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## FormulaComponent

### Description:

Elements describing the components of the formula. The name attribute points to a value used in the math element. The href attribute points to a numeric value defined elsewhere in the document that is used by the formula component.

### Figure:

### Contents:

componentDescription (exactly one occurrence; of the type xsd:string)

- Text description of the component

formula (zero or one occurrence; of the type Formula)

- Additional formulas required to describe this component

Attribute: name (xsd:normalizedString)

Attribute: href (xsd:IDREF)

### Used by:

- Formula/formulaComponent

### Schema Fragment:

    <xsd:complexType name="FormulaComponent">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Elements describing the components of the formula. The name
          attribute points to a value used in the math element. The href
          attribute points to a numeric value defined elsewhere in the
          document that is used by the formula component.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="componentDescription" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Text description of the component
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="formula" type="Formula" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Additional formulas required to describe this component
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="name" type="xsd:normalizedString"/>
      <xsd:attribute name="href" type="xsd:IDREF">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Pointer to a numeric value defined elsewhere in the document
            that is used by the formula component.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:attribute>
    </xsd:complexType>

## FxCashSettlement

### Description:

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

### Figure:

### Contents:

settlementCurrency (exactly one occurrence; of the type Currency)

- The currency in which a cash settlement for non-deliverable forward and non-deliverable options.

fixing (one or more occurrences; of the type FxFixing)

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

### Used by:

- FxLeg/nonDeliverableForward
- FxOptionLeg/cashSettlementTerms
- QuotableFxLeg/nonDeliverableForward

### Schema Fragment:

    <xsd:complexType name="FxCashSettlement">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that is used for describing cash settlement of an option /
          non deliverable forward. It includes the currency to settle into
          together with the fixings required to calculate the currency
          amount.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="settlementCurrency" type="Currency">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The currency in which a cash settlement for non-deliverable
              forward and non-deliverable options.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="fixing" type="FxFixing" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the source for and timing of a fixing of an
              exchange rate. This is used in the agreement of
              non-deliverable forward trades as well as various types of FX
              OTC options that require observations against a particular
              rate.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## FxFixing

### Description:

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

### Figure:

### Contents:

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

- A type defining the source and time for an fx rate.

quotedCurrencyPair (exactly one occurrence; of the type QuotedCurrencyPair)

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

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

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

### Used by:

- FxCashSettlement/fixing

### Extension of:

- FxSpotRateSource

### Schema Fragment:

    <xsd:complexType name="FxFixing">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that specifies the source for and timing of a fixing of an
          exchange rate. This is used in the agreement of non-deliverable
          forward trades as well as various types of FX OTC options that
          require observations against a particular rate.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="FxSpotRateSource">
          <xsd:sequence>
            <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="fixingDate" type="xsd:date">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Describes the specific date when a non-deliverable
                  forward or non-deliverable option will "fix" against a
                  particular rate, which will be used to compute the
                  ultimate cash settlement.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## FxRate

### Description:

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

### Figure:

### Contents:

quotedCurrencyPair (exactly one occurrence; of the type QuotedCurrencyPair)

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

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.

### Used by:

- AssetValuation/fxRate
- Commission/fxRate
- FxConversion/fxRate
- Quanto/fxRate

### Derived Types:

- ExchangeRate

### Schema Fragment:

    <xsd:complexType name="FxRate">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type describing the rate of a currency conversion: pair of
          currency, quotation mode and exchange rate.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <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="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:sequence>
    </xsd:complexType>

## FxSpotRateSource

### Description:

A type defining the source and time for an fx rate.

### Figure:

### Contents:

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.

### Used by:

- Composite/fxSpotRateSource
- FxLinkedNotionalSchedule/fxSpotRateSource
- FxRateAsset/rateSource
- Quanto/fxSpotRateSource

### Derived Types:

- FxFixing

### Schema Fragment:

    <xsd:complexType name="FxSpotRateSource">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the source and time for an fx rate.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <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:sequence>
    </xsd:complexType>

## GoverningLaw

### Description:

Identification of the law governing the transaction.

### Figure:

### Contents:

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

Attribute: governingLawScheme (xsd:anyURI)

### Used by:

- Contract/governingLaw
- Trade/governingLaw

### Schema Fragment:

    <xsd:complexType name="GoverningLaw">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Identification of the law governing the transaction.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="governingLawScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/governing-law-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## IdentifiedCurrency

### Description:

Specifies Currency with ID attribute.

### Figure:

### Contents:

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

Attribute: id (xsd:ID)

### Used by:

- FxFeature/referenceCurrency

### Extension of:

- Currency

### Schema Fragment:

    <xsd:complexType name="IdentifiedCurrency">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Specifies Currency with ID attribute.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="Currency">
          <xsd:attribute name="id" type="xsd:ID"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## IdentifiedDate

### Description:

A date which can be referenced elsewhere.

### Figure:

### Contents:

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

Attribute: id (xsd:ID)

### Used by:

- AdjustableDate/unadjustedDate
- AdjustableDate2/unadjustedDate
- AdjustableDates/unadjustedDate
- DerivedValuationScenario/valuationDate
- Payment/adjustedPaymentDate
- PositionReport/asOfDate
- TradeDetails/tradeDate
- TradeHeader/tradeDate
- ValuationScenario/valuationDate

### Schema Fragment:

    <xsd:complexType name="IdentifiedDate">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A date which can be referenced elsewhere.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:date">
          <xsd:attribute name="id" type="xsd:ID"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## IdentifiedPayerReceiver

### Description:

A type extending the PayerReceiverEnum type wih an id attribute.

### Figure:

### Contents:

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

- The specification of an interest rate stream payer or receiver party.

Attribute: id (xsd:ID)

### Used by:

- Strike/buyer
- Strike/seller
- StrikeSchedule/buyer
- StrikeSchedule/seller

### Extension of:

- PayerReceiverEnum

### Schema Fragment:

    <xsd:complexType name="IdentifiedPayerReceiver">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type extending the PayerReceiverEnum type wih an id attribute.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="PayerReceiverEnum">
          <xsd:attribute name="id" type="xsd:ID"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## InflationRateCalculationBase

### Description:

A type defining the floating rate and definitions relating to the calculation of floating rate amounts. This type mimics the "FloatingRateCalculation" type but excludes the option of defining modular calculated rates and fallback rates. It provides an extension point for the InflationRateCalculation which does not require those features.

### Figure:

### Contents:

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

- The abstract base class for all types which define interest rate streams.

floatingRateIndex (exactly one occurrence; of the type FloatingRateIndex)

- The ISDA Floating Rate Option, i.e. the name of the floating rate.

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

- The ISDA Designated Maturity, i.e. the tenor of the floating rate.

floatingRateMultiplierSchedule (zero or one occurrence; of the type Schedule)

- A rate multiplier or multiplier schedule to apply to the floating rate. A multiplier schedule is expressed as explicit multipliers and dates. In the case of a schedule, the step dates may be subject to adjustment in accordance with any adjustments specified in the calculationPeriodDatesAdjustments. The multiplier can be a positive or negative decimal. This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.

spreadSchedule (zero or more occurrences; of the type SpreadSchedule)

- The ISDA Spread or a Spread schedule expressed as explicit spreads and dates. In the case of a schedule, the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The spread is a per annum rate, expressed as a decimal. For purposes of determining a calculation period amount, if positive the spread will be added to the floating rate and if negative the spread will be subtracted from the floating rate. A positive 10 basis point (0.1%) spread would be represented as 0.001.

rateTreatment (zero or one occurrence; of the type RateTreatmentEnum)

- The specification of any rate conversion which needs to be applied to the observed rate before being used in any calculations. The two common conversions are for securities quoted on a bank discount basis which will need to be converted to either a Money Market Yield or Bond Equivalent Yield. See the Annex to the 2000 ISDA Definitions, Section 7.3. Certain General Definitions Relating to Floating Rate Options, paragraphs (g) and (h) for definitions of these terms.

capRateSchedule (zero or more occurrences; of the type StrikeSchedule)

- The cap rate or cap rate schedule, if any, which applies to the floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. A cap rate schedule is expressed as explicit cap rates and dates and the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05.

floorRateSchedule (zero or more occurrences; of the type StrikeSchedule)

- The floor rate or floor rate schedule, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. A floor rate schedule is expressed as explicit floor rates and dates and the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05.

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

- The initial floating rate reset agreed between the principal parties involved in the trade. This is assumed to be the first required reset rate for the first regular calculation period. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. An initial rate of 5% would be represented as 0.05.

finalRateRounding (zero or one occurrence; of the type Rounding)

- The rounding convention to apply to the final rate used in determination of a calculation period amount.

averagingMethod (zero or one occurrence; of the type AveragingMethodEnum)

- If averaging is applicable, this component specifies whether a weighted or unweighted average method of calculation is to be used. The component must only be included when averaging applies.

negativeInterestRateTreatment (zero or one occurrence; of the type NegativeInterestRateTreatmentEnum)

- The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate).

### Used by:

### Extension of:

- Rate

### Derived Types:

- InflationRateCalculation

### Schema Fragment:

    <xsd:complexType name="InflationRateCalculationBase">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the floating rate and definitions relating to the
          calculation of floating rate amounts. This type mimics the
          "FloatingRateCalculation" type but excludes the option of
          defining modular calculated rates and fallback rates. It provides
          an extension point for the InflationRateCalculation which does
          not require those features.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Rate">
          <xsd:sequence>
            <xsd:group ref="FloatingRateIndex.model"/>
            <xsd:group ref="FloatingRate.model"/>
            <xsd:group ref="FloatingRateCalculation.model"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## InformationProvider

### Description:

### Figure:

### Contents:

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

Attribute: informationProviderScheme (xsd:anyURI)

### Used by:

- InformationSource/rateSource

### Schema Fragment:

    <xsd:complexType name="InformationProvider">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="informationProviderScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/information-provider-2-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## InformationSource

### Description:

A type defining the source for a piece of information (e.g. a rate refix or an fx fixing).

### Figure:

### Contents:

rateSource (exactly one occurrence; of the type InformationProvider)

- An information source for obtaining a market rate. For example Bloomberg, Reuters, Telerate etc.

rateSourcePage (zero or one occurrence; of the type RateSourcePage)

- A specific page for the rate source for obtaining a market rate.

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

- The heading for the rate source on a given rate source page.

### Used by:

- FxAmericanTrigger/informationSource
- FxAverageRateOption/primaryRateSource
- FxAverageRateOption/secondaryRateSource
- FxBarrier/informationSource
- FxEuropeanTrigger/informationSource
- FxSpotRateSource/primaryRateSource
- FxSpotRateSource/secondaryRateSource
- SettlementRateSource/informationSource

### Schema Fragment:

    <xsd:complexType name="InformationSource">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the source for a piece of information (e.g. a
          rate refix or an fx fixing).
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="rateSource" type="InformationProvider">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An information source for obtaining a market rate. For
              example Bloomberg, Reuters, Telerate etc.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="rateSourcePage" type="RateSourcePage" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A specific page for the rate source for obtaining a market
              rate.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="rateSourcePageHeading" type="xsd:string" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The heading for the rate source on a given rate source page.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## InstrumentId

### Description:

A short form unique identifier for a security.

### Figure:

### Contents:

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

Attribute: instrumentIdScheme (xsd:anyURI) - required

### Used by:

- Asset/instrumentId

### Schema Fragment:

    <xsd:complexType name="InstrumentId">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A short form unique identifier for a security.
        </xsd:documentation>
        <xsd:documentation xml:lang="de">
          Eindeutiges WertpapierkÃ¼rzel.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="instrumentIdScheme" type="xsd:anyURI" use="required"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## InterestAccrualsCompoundingMethod

### Description:

A type defining the way in which interests are accrued: the applicable rate (fixed or floating reference) and the compounding method.

### Figure:

### Contents:

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

- A type describing the method for accruing interests on dividends. Can be either a fixed rate reference or a floating rate reference.

compoundingMethod (exactly one occurrence; of the type CompoundingMethodEnum)

- If more that one calculation period contributes to a single payment amount this element specifies whether compounding is applicable, and if so, what compounding method is to be used. This element must only be included when more that one calculation period contributes to a single payment amount.

### Used by:

- DividendConditions/interestAccrualsMethod

### Extension of:

- InterestAccrualsMethod

### Schema Fragment:

    <xsd:complexType name="InterestAccrualsCompoundingMethod">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the way in which interests are accrued: the
          applicable rate (fixed or floating reference) and the compounding
          method.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="InterestAccrualsMethod">
          <xsd:sequence minOccurs="0">
            <xsd:element name="compoundingMethod" type="CompoundingMethodEnum">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  If more that one calculation period contributes to a
                  single payment amount this element specifies whether
                  compounding is applicable, and if so, what compounding
                  method is to be used. This element must only be included
                  when more that one calculation period contributes to a
                  single payment amount.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## InterestAccrualsMethod

### Description:

A type describing the method for accruing interests on dividends. Can be either a fixed rate reference or a floating rate reference.

### Figure:

### Contents:

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

floatingRateCalculation (exactly one occurrence; of the type FloatingRateCalculation)

- The floating rate calculation definitions

Or

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.

### Used by:

- CompoundingRate/specificRate

### Derived Types:

- InterestAccrualsCompoundingMethod
- InterestCalculation

### Schema Fragment:

    <xsd:complexType name="InterestAccrualsMethod">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type describing the method for accruing interests on dividends.
          Can be either a fixed rate reference or a floating rate
          reference.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:choice>
        <xsd:element name="floatingRateCalculation" type="FloatingRateCalculation">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The floating rate calculation definitions
            </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:choice>
    </xsd:complexType>

## IntermediaryInformation

### Description:

A type that describes the information to identify an intermediary through which payment will be made by the correspondent bank to the ultimate beneficiary of the funds.

### Figure:

### Contents:

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

- A type that provides three alternative ways of identifying a party involved in the routing of a payment. The identification may use payment system identifiers only; actual name, address and other reference information; or a combination of both.

intermediarySequenceNumber (exactly one occurrence; of the type xsd:integer)

- A sequence number that gives the position of the current intermediary in the chain of payment intermediaries. The assumed domain value set is an ascending sequence of integers starting from 1.

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

- Reference to the party acting as intermediary.

### Used by:

- SettlementInstruction/intermediaryInformation

### Extension of:

- Routing

### Schema Fragment:

    <xsd:complexType name="IntermediaryInformation">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that describes the information to identify an intermediary
          through which payment will be made by the correspondent bank to
          the ultimate beneficiary of the funds.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Routing">
          <xsd:sequence>
            <xsd:element name="intermediarySequenceNumber" type="xsd:integer">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A sequence number that gives the position of the current
                  intermediary in the chain of payment intermediaries. The
                  assumed domain value set is an ascending sequence of
                  integers starting from 1.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="intermediaryPartyReference" type="PartyReference" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Reference to the party acting as intermediary.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## Interval

### Description:

A type defining a time interval or offset, e.g. one day, three months. Used for specifying frequencies at which events occur, the tenor of a floating rate or an offset relative to another date.

### Figure:

### Contents:

periodMultiplier (exactly one occurrence; of the type xsd:integer)

- A time period multiplier, e.g. 1, 2 or 3 etc. A negative value can be used when specifying an offset relative to another date, e.g. -2 days. If the period value is T (Term) then periodMultiplier must contain the value 1.

period (exactly one occurrence; of the type PeriodEnum)

- A time period, e.g. a day, week, month, year or term of the stream. If the periodMultiplier value is 0 (zero) then period must contain the value D (day).

Attribute: id (xsd:ID)

### Used by:

- Bond/paymentFrequency
- DeliverableObligations/maximumMaturity
- Deposit/paymentFrequency
- Deposit/term
- ExercisePeriod/earliestExerciseDateTenor
- ExercisePeriod/exerciseFrequency
- ForecastRateIndex/indexTenor
- Fra/indexTenor
- NotionalStepRule/stepFrequency
- PaymentDates/paymentFrequency
- PeriodicPayment/paymentFrequency
- QuotedAs/quotedTenor
- RateIndex/paymentFrequency
- RateIndex/term
- ReturnSwapLeg/paymentFrequency
- ScheduledTerminationDate/relativeDate
- SimpleCreditDefaultSwap/paymentFrequency
- SimpleCreditDefaultSwap/term
- SimpleFra/endTerm
- SimpleFra/startTerm
- SimpleIRSwap/paymentFrequency
- SimpleIRSwap/term
- TimeDimension/tenor
- TimeDimension/tenor

### Derived Types:

- CalculationPeriodFrequency
- Offset
- ResetFrequency

### Schema Fragment:

    <xsd:complexType name="Interval">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a time interval or offset, e.g. one day, three
          months. Used for specifying frequencies at which events occur,
          the tenor of a floating rate or an offset relative to another
          date.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="periodMultiplier" type="xsd:integer">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A time period multiplier, e.g. 1, 2 or 3 etc. A negative
              value can be used when specifying an offset relative to
              another date, e.g. -2 days. If the period value is T (Term)
              then periodMultiplier must contain the value 1.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="period" type="PeriodEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A time period, e.g. a day, week, month, year or term of the
              stream. If the periodMultiplier value is 0 (zero) then period
              must contain the value D (day).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## LegalEntity

### Description:

A type defining a legal entity.

### Figure:

### Contents:

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

entityId (one or more occurrences; of the type EntityId)

- A legal entity identifier (e.g. RED entity code)..

Attribute: id (xsd:ID)

### Used by:

- CreditEventNoticeDocument/referenceEntity
- IndexReferenceInformation/excludedReferenceEntity
- ReferenceInformation/referenceEntity
- ReferenceObligation/guarantor
- ReferenceObligation/primaryObligor
- ReferencePair/referenceEntity
- TradeUnderlyer/referenceEntity

### Schema Fragment:

    <xsd:complexType name="LegalEntity">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a legal entity.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:choice>
        <xsd:sequence>
          <xsd:element name="entityName" type="EntityName">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The name of the party. A free format string. FpML does not
                define usage rules for this element.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="entityId" type="EntityId" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A legal entity identifier (e.g. RED entity code)..
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:element name="entityId" type="EntityId" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A legal entity identifier (e.g. RED entity code)..
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## LegalEntityReference

### Description:

References a credit entity defined elsewhere in the document.

### Figure:

### Contents:

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

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

- ReferenceObligation/guarantorReference
- ReferenceObligation/primaryObligorReference

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="LegalEntityReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          References a credit entity defined elsewhere in the document.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </xsd:complexType>

## MainPublication

### Description:

A type to define the main publication source.

### Figure:

### Contents:

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

Attribute: mainPublicationScheme (xsd:anyURI)

### Used by:

- InflationRateCalculation/mainPublication

### Schema Fragment:

    <xsd:complexType name="MainPublication">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type to define the main publication source.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="mainPublicationScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/inflation-main-publication-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## ManualExercise

### Description:

A type defining manual exercise, i.e. that the option buyer counterparty must give notice to the option seller of exercise.

### Figure:

### Contents:

exerciseNotice (zero or one occurrence; of the type ExerciseNotice)

- Definition of the party to whom notice of exercise should be given.

fallbackExercise (zero or one occurrence; of the type xsd:boolean)

- If fallback exercise is specified then the notional amount of the underlying swap, not previously exercised under the swaption, will be automatically exercised at the expiration time on the expiration date if at such time the buyer is in-the-money, provided that the difference between the settlement rate and the fixed rate under the relevant underlying swap is not less than one tenth of a percentage point (0.10% or 0.001). The term in-the-money is assumed to have the meaning defined in the 2000 ISDA Definitions, Section 17.4. In-the-money.

### Used by:

- ExerciseProcedure/manualExercise

### Schema Fragment:

    <xsd:complexType name="ManualExercise">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining manual exercise, i.e. that the option buyer
          counterparty must give notice to the option seller of exercise.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="exerciseNotice" type="ExerciseNotice" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Definition of the party to whom notice of exercise should be
              given.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="fallbackExercise" type="xsd:boolean" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              If fallback exercise is specified then the notional amount of
              the underlying swap, not previously exercised under the
              swaption, will be automatically exercised at the expiration
              time on the expiration date if at such time the buyer is
              in-the-money, provided that the difference between the
              settlement rate and the fixed rate under the relevant
              underlying swap is not less than one tenth of a percentage
              point (0.10% or 0.001). The term in-the-money is assumed to
              have the meaning defined in the 2000 ISDA Definitions,
              Section 17.4. In-the-money.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## MasterAgreement

### Description:

An entity for defining the agreement executed between the parties and intended to govern all OTC derivatives transactions between those parties.

### Figure:

### Contents:

masterAgreementType (exactly one occurrence; of the type MasterAgreementType)

- The agreement executed between the parties and intended to govern product-specific derivatives transactions between those parties.

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

- The date on which the master agreement was signed.

### Used by:

- Documentation/masterAgreement

### Schema Fragment:

    <xsd:complexType name="MasterAgreement">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An entity for defining the agreement executed between the parties
          and intended to govern all OTC derivatives transactions between
          those parties.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="masterAgreementType" type="MasterAgreementType">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The agreement executed between the parties and intended to
              govern product-specific derivatives transactions between
              those parties.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="masterAgreementDate" type="xsd:date" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date on which the master agreement was signed.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## MasterAgreementType

### Description:

### Figure:

### Contents:

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

Attribute: masterAgreementTypeScheme (xsd:anyURI)

### Used by:

- MasterAgreement/masterAgreementType

### Schema Fragment:

    <xsd:complexType name="MasterAgreementType">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="masterAgreementTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/master-agreement-type-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## MasterConfirmation

### Description:

An entity for defining the master confirmation agreement executed between the parties.

### Figure:

### Contents:

masterConfirmationType (exactly one occurrence; of the type MasterConfirmationType)

- The type of master confirmation executed between the parties.

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

- The date of the confirmation executed between the parties and intended to govern all relevant transactions between those parties.

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

- The date that an annex to the master confirmation was executed between the parties.

### Used by:

- Documentation/masterConfirmation

### Schema Fragment:

    <xsd:complexType name="MasterConfirmation">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An entity for defining the master confirmation agreement executed
          between the parties.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="masterConfirmationType" type="MasterConfirmationType">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The type of master confirmation executed between the parties.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="masterConfirmationDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date of the confirmation executed between the parties and
              intended to govern all relevant transactions between those
              parties.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="masterConfirmationAnnexDate" type="xsd:date" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date that an annex to the master confirmation was
              executed between the parties.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## MasterConfirmationType

### Description:

### Figure:

### Contents:

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

Attribute: masterConfirmationTypeScheme (xsd:anyURI)

### Used by:

- MasterConfirmation/masterConfirmationType

### Schema Fragment:

    <xsd:complexType name="MasterConfirmationType">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="masterConfirmationTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/master-confirmation-type-5-1"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## Math

### Description:

A type defining a mathematical expression.

### Figure:

### Contents:

### Used by:

- Formula/math

### Schema Fragment:

    <xsd:complexType name="Math" mixed="true">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a mathematical expression.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:any namespace="##any" processContents="skip" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>

## MatrixTerm

### Description:

### Figure:

### Contents:

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

Attribute: matrixTermScheme (xsd:anyURI)

### Used by:

- ContractualMatrix/matrixTerm

### Schema Fragment:

    <xsd:complexType name="MatrixTerm">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="matrixTermScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/credit-matrix-transaction-type-2-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## MatrixType

### Description:

### Figure:

### Contents:

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

Attribute: matrixTypeScheme (xsd:anyURI)

### Used by:

- ContractualMatrix/matrixType

### Schema Fragment:

    <xsd:complexType name="MatrixType">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="matrixTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/matrix-type-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## Money

### Description:

A type defining a currency amount.

### Figure:

### Contents:

currency (exactly one occurrence; of the type Currency)

- The currency in which an amount is denominated.

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

- The monetary quantity in currency units.

Attribute: id (xsd:ID)

### Used by:

- AdditionalPaymentAmount/paymentAmount
- AdjustedPaymentDates/paymentAmount
- Allocation/allocatedNotional
- BasketConstituent/underlyerNotional
- BrokerEquityOption/brokerageFee
- CalculationPeriod/forecastAmount
- CashSettlementTerms/cashSettlementAmount
- CashSettlementTerms/minimumQuotationAmount
- CashSettlementTerms/quotationAmount
- ChangeContractSize/changeInNotionalAmount
- ChangeContractSize/outstandingNotionalAmount
- ConstituentWeight/basketAmount
- CreditEvents/defaultRequirement
- EquityDerivativeBase/notional
- EquityForward/forwardPrice
- EquityOptionTermination/settlementAmount
- EquityPremium/paymentAmount
- EquityPremium/pricePerOption
- FailureToPay/paymentRequirement
- FixedAmountCalculation/calculationAmount
- Fra/notional
- FxAverageRateOption/callCurrencyAmount
- FxAverageRateOption/putCurrencyAmount
- FxOptionLeg/callCurrencyAmount
- FxOptionLeg/putCurrencyAmount
- FxOptionPremium/premiumAmount
- GrossCashflow/cashflowAmount
- InitialPayment/paymentAmount
- PartialTerminationAmount/decreaseInNotionalAmount
- PartialTerminationAmount/outstandingNotionalAmount
- Payment/paymentAmount
- Payment/presentValueAmount
- PaymentCalculationPeriod/forecastPaymentAmount
- PaymentCalculationPeriod/presentValueAmount
- PaymentDetail/paymentAmount
- PaymentDetail/paymentAmount
- PaymentMatching/paymentAmount
- PendingPayment/accruedInterest
- PendingPayment/amount
- PeriodicPayment/fixedAmount
- PrePayment/prePaymentAmount
- PrincipalExchange/presentValuePrincipalExchangeAmount
- PrincipalExchangeAmount/principalAmount
- ProtectionTerms/calculationAmount
- QuotablePayment/paymentAmount
- RestructuringEvent/partialExerciseAmount
- ReturnSwapNotional/notionalAmount
- SinglePayment/fixedAmount
- SplitSettlement/splitSettlementAmount
- Stub/stubAmount
- TermDeposit/interest
- TermDeposit/principal
- Variance/varianceAmount

### Derived Types:

- FxOptionPayout

### Schema Fragment:

    <xsd:complexType name="Money">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a currency amount.
        </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="amount" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The monetary quantity in currency units.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## MultipleExercise

### Description:

A type defining multiple exercises. As defining in the 2000 ISDA Definitions, Section 12.4. Multiple Exercise, the buyer of the option has the right to exercise all or less than all the unexercised notional amount of the underlying swap on one or more days in the exercise period, but on any such day may not exercise less than the minimum notional amount or more than the maximum notional amount, and if an integral multiple amount is specified, the notional exercised must be equal to or, be an integral multiple of, the integral multiple amount.

### Figure:

### Contents:

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

- A type defining partial exercise. As defined in the 2000 ISDA Definitions, Section 12.3 Partial Exercise, the buyer of the option may exercise all or less than all the notional amount of the underlying swap but may not be less than the minimum notional amount (if specified) and must be an integral multiple of the integral multiple amount if specified.

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

- The maximum notional amount that can be exercised on a given exercise date.

### Used by:

- AmericanExercise/multipleExercise
- BermudaExercise/multipleExercise

### Extension of:

- PartialExercise

### Schema Fragment:

    <xsd:complexType name="MultipleExercise">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining multiple exercises. As defining in the 2000 ISDA
          Definitions, Section 12.4. Multiple Exercise, the buyer of the
          option has the right to exercise all or less than all the
          unexercised notional amount of the underlying swap on one or more
          days in the exercise period, but on any such day may not exercise
          less than the minimum notional amount or more than the maximum
          notional amount, and if an integral multiple amount is specified,
          the notional exercised must be equal to or, be an integral
          multiple of, the integral multiple amount.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="PartialExercise">
          <xsd:sequence>
            <xsd:element name="maximumNotionalAmount" type="xsd:decimal" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The maximum notional amount that can be exercised on a
                  given exercise date.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## MutuallyAgreedClearinghouse

### Description:

### Figure:

### Contents:

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

partyReference (exactly one occurrence; of the type PartyReference)

- A reference to the party structure for the clearinghouse

Or

identifier (exactly one occurrence; of the type OrganizationIdentifier)

- A string that identifies the clearinghouse

### Used by:

- CollateralizedCashPriceMethod/mutuallyAgreedClearinghouse
- SwaptionPhysicalSettlement/mutuallyAgreedClearinghouse

### Schema Fragment:

    <xsd:complexType name="MutuallyAgreedClearinghouse">
      <xsd:choice>
        <xsd:element name="partyReference" type="PartyReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A reference to the party structure for the clearinghouse
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="identifier" type="OrganizationIdentifier">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A string that identifies the clearinghouse
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:complexType>

## NotionalAmountReference

### Description:

A reference to the notional amount.

### Figure:

### Contents:

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

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

- PercentageRule/notionalAmountReference

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="NotionalAmountReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A reference to the notional amount.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </xsd:complexType>

## ObservationOffset

### Description:

A type that allows an offset specified in business days to be applied for an observation shift, lookback, or lockout provision.

### Figure:

### Contents:

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

- The number of business days before the base date that the observations are to be shifted. If this element is omitted, the number of offset days will be as specified in the 2021 ISDA Definitions, which is typically 5.

### Used by:

- CalculationParameters/lockout
- CalculationParameters/lookback

### Derived Types:

- ObservationShiftParameters

### Schema Fragment:

    <xsd:complexType name="ObservationOffset">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that allows an offset specified in business days to be
          applied for an observation shift, lookback, or lockout provision.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="offsetDays" type="xsd:nonNegativeInteger" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The number of business days before the base date that the
              observations are to be shifted. If this element is omitted,
              the number of offset days will be as specified in the 2021
              ISDA Definitions, which is typically 5.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## ObservationShiftParameters

### Description:

Specifies parameters specific to the observation shift method of compounding/averaging.

### Figure:

### Contents:

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

- A type that allows an offset specified in business days to be applied for an observation shift, lookback, or lockout provision.

observationPeriodDates (exactly one occurrence; of the type ObservationPeriodDatesEnum)

- Specifies how the observation period is to be determined relative to the basic calculation period. Options include "standard" (observation period aligns with the calculation period except for any shifts/lookbacks/lockouts, i.e. it is set in arrears), "InAdvance" (observation period is based on the prior or deemed prior calculation period plus any shifts), or "FixingDate" (observation period is based on a fixing date defined the the FpML resetDates structure; this is used only for fallback rate definitions that reference existing resetDates structures.).

additionalBusinessDays (zero or one occurrence; of the type BusinessCentersOrReference)

- Any additional business centers that are applicable to the observation shift calculation, in addition to the regular "applicableBusinessDays".

### Used by:

- CalculationParameters/observationShift

### Extension of:

- ObservationOffset

### Schema Fragment:

    <xsd:complexType name="ObservationShiftParameters">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Specifies parameters specific to the observation shift method of
          compounding/averaging.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="ObservationOffset">
          <xsd:sequence>
            <xsd:element name="observationPeriodDates" type="ObservationPeriodDatesEnum">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Specifies how the observation period is to be determined
                  relative to the basic calculation period. Options include
                  "standard" (observation period aligns with the
                  calculation period except for any
                  shifts/lookbacks/lockouts, i.e. it is set in arrears),
                  "InAdvance" (observation period is based on the prior or
                  deemed prior calculation period plus any shifts), or
                  "FixingDate" (observation period is based on a fixing
                  date defined the the FpML resetDates structure; this is
                  used only for fallback rate definitions that reference
                  existing resetDates structures.).
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="additionalBusinessDays" minOccurs="0" type="BusinessCentersOrReference">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Any additional business centers that are applicable to
                  the observation shift calculation, in addition to the
                  regular "applicableBusinessDays".
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## Offset

### Description:

A type defining an offset used in calculating a new date relative to a reference date. Currently, the only offsets defined are expected to be expressed as either calendar or business day offsets.

### Figure:

### Contents:

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

- A type defining a time interval or offset, e.g. one day, three months. Used for specifying frequencies at which events occur, the tenor of a floating rate or an offset relative to another date.

dayType (zero or one occurrence; of the type DayTypeEnum)

- In the case of an offset specified as a number of days, this element defines whether consideration is given as to whether a day is a good business day or not. If a day type of business days is specified then non-business days are ignored when calculating the offset. The financial business centers to use for determination of business days are implied by the context in which this element is used. This element must only be included when the offset is specified as a number of days. If the offset is zero days then the dayType element should not be included.

### Used by:

- GracePeriodExtension/gracePeriod
- InflationRateCalculation/inflationLag
- PaymentDates/paymentDaysOffset
- ResetDates/rateCutOffDaysOffset

### Extension of:

- Interval

### Derived Types:

- DateOffset
- FxFixingDate
- RelativeDateOffset

### Schema Fragment:

    <xsd:complexType name="Offset">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining an offset used in calculating a new date relative
          to a reference date. Currently, the only offsets defined are
          expected to be expressed as either calendar or business day
          offsets.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Interval">
          <xsd:sequence>
            <xsd:element name="dayType" type="DayTypeEnum" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  In the case of an offset specified as a number of days,
                  this element defines whether consideration is given as to
                  whether a day is a good business day or not. If a day
                  type of business days is specified then non-business days
                  are ignored when calculating the offset. The financial
                  business centers to use for determination of business
                  days are implied by the context in which this element is
                  used. This element must only be included when the offset
                  is specified as a number of days. If the offset is zero
                  days then the dayType element should not be included.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## OrganizationIdentifier

### Description:

The data type used for a generic, user-defined identifier for an organization, where a full party structure is not desired or required.

### Figure:

### Contents:

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

Attribute: idScheme (xsd:anyURI) - optional

### Used by:

- MutuallyAgreedClearinghouse/identifier

### Schema Fragment:

    <xsd:complexType name="OrganizationIdentifier">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The data type used for a generic, user-defined identifier for an
          organization, where a full party structure is not desired or
          required.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="idScheme" type="xsd:anyURI" use="optional">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The identifier scheme used with this generic identifier.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## PartialExercise

### Description:

A type defining partial exercise. As defined in the 2000 ISDA Definitions, Section 12.3 Partial Exercise, the buyer of the option may exercise all or less than all the notional amount of the underlying swap but may not be less than the minimum notional amount (if specified) and must be an integral multiple of the integral multiple amount if specified.

### Figure:

### Contents:

notionalReference (one or more occurrences; of the type ScheduleReference)

- A pointer style reference to the associated notional schedule defined elsewhere in the document.

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

- A notional amount which restricts the amount of notional that can be exercised when partial exercise or multiple exercise is applicable. The integral multiple amount defines a lower limit of notional that can be exercised and also defines a unit multiple of notional that can be exercised, i.e. only integer multiples of this amount can be exercised.

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

- The minimum notional amount that can be exercised on a given exercise date. See multipleExercise.

### Used by:

- EuropeanExercise/partialExercise

### Derived Types:

- MultipleExercise

### Schema Fragment:

    <xsd:complexType name="PartialExercise">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining partial exercise. As defined in the 2000 ISDA
          Definitions, Section 12.3 Partial Exercise, the buyer of the
          option may exercise all or less than all the notional amount of
          the underlying swap but may not be less than the minimum notional
          amount (if specified) and must be an integral multiple of the
          integral multiple amount if specified.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="notionalReference" type="ScheduleReference" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A pointer style reference to the associated notional schedule
              defined elsewhere in the document.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="integralMultipleAmount" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A notional amount which restricts the amount of notional that
              can be exercised when partial exercise or multiple exercise
              is applicable. The integral multiple amount defines a lower
              limit of notional that can be exercised and also defines a
              unit multiple of notional that can be exercised, i.e. only
              integer multiples of this amount can be exercised.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="minimumNotionalAmount" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The minimum notional amount that can be exercised on a given
              exercise date. See multipleExercise.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## PartyOrAccountReference

### Description:

A reference to a party or an account.

### Figure:

### Contents:

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

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="PartyOrAccountReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A reference to a party or an account.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </xsd:complexType>

## PartyOrTradeSideReference

### Description:

A reference to a party or tradeSide.

### Figure:

### Contents:

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

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

- GeneralTerms/buyerPartyReference
- GeneralTerms/sellerPartyReference

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="PartyOrTradeSideReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A reference to a party or tradeSide.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </xsd:complexType>

## PartyReference

### Description:

Reference to a party.

### Figure:

### Contents:

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

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

- Account/accountBeneficiary
- AdditionalDisruptionEvents/determiningPartyReference
- Beneficiary/beneficiaryPartyReference
- CalculationAgent/calculationAgentPartyReference
- ContractIdentifier/partyReference
- CorrespondentInformation/correspondentPartyReference
- CreditEventNoticeDocument/notifiedPartyReference
- CreditEventNoticeDocument/notifyingPartyReference
- DividendConditions/extraOrdinaryDividends
- EquityExerciseValuationSettlement/settlementMethodElectingPartyReference
- ExerciseNotice/exerciseNoticePartyReference
- ExerciseNotice/partyReference
- FxLeg/confirmationSenderPartyReference
- IntermediaryInformation/intermediaryPartyReference
- MutuallyAgreedClearinghouse/partyReference
- NotifyingParty/buyerPartyReference
- NotifyingParty/sellerPartyReference
- PartyMessageInformation/partyReference
- PartyPortfolioName/partyReference
- PartyRole/party
- PartySelector/partyReference
- PartyTradeInformation/partyReference
- ReportingRoles/activityProvider
- ReportingRoles/baseParty
- ReportingRoles/positionProvider
- ReportingRoles/valuationProvider
- ReturnSwapEarlyTermination/partyReference
- SettlementInstruction/depositoryPartyReference
- TermDeposit/initialPayerReference
- TermDeposit/initialReceiverReference
- Trade/brokerPartyReference
- TradeIdentifier/partyReference
- ValuationSet/baseParty

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="PartyReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reference to a party.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </xsd:complexType>

## Payment

### Description:

A type for defining payments

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

paymentAmount (exactly one occurrence; of the type Money)

- The currency amount of the payment.

paymentDate (zero or one occurrence; of the type AdjustableDate)

- The payment date. This date is subject to adjustment in accordance with any applicable business day convention.

adjustedPaymentDate (zero or one occurrence; of the type IdentifiedDate)

- The adjusted payment date. This date should already be adjusted for any applicable business day convention. This component is not intended for use in trade confirmation but my be specified to allow the fee structure to also serve as a cashflow type component (all dates the the Cashflows type are adjusted payment dates).

paymentType (zero or one occurrence; of the type PaymentType)

- A classification of the type of fee or additional payment, e.g. brokerage, upfront fee etc. FpML does not define domain values for this element.

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

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

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

- The value representing the discount factor used to calculate the present value of the cash flow.

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

- The amount representing the present value of the forecast payment.

Attribute: href (xsd:IDREF)

### Used by:

- Amendment/payment
- BulletPayment/payment
- CapFloor/additionalPayment
- CapFloor/premium
- ChangeContract/payment
- Contract/otherPartyPayment
- ContractNovation/payment
- FxLeg/exchangedCurrency1
- FxLeg/exchangedCurrency2
- Increase/payment
- Novation/payment
- Swap/additionalPayment
- Swaption/premium
- TermDeposit/payment
- Termination/payment
- Trade/otherPartyPayment

### Schema Fragment:

    <xsd:complexType name="Payment">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type for defining payments
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:group ref="PayerReceiver.model"/>
        <xsd:element name="paymentAmount" type="Money">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The currency amount of the payment.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="paymentDate" type="AdjustableDate" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The payment date. This date is subject to adjustment in
              accordance with any applicable business day convention.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="adjustedPaymentDate" type="IdentifiedDate" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The adjusted payment date. This date should already be
              adjusted for any applicable business day convention. This
              component is not intended for use in trade confirmation but
              my be specified to allow the fee structure to also serve as a
              cashflow type component (all dates the the Cashflows type are
              adjusted payment dates).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="paymentType" type="PaymentType" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A classification of the type of fee or additional payment,
              e.g. brokerage, upfront fee etc. FpML does not define domain
              values for this element.
            </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="discountFactor" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The value representing the discount factor used to calculate
              the present value of the cash flow.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="presentValueAmount" type="Money" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The amount representing the present value of the forecast
              payment.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="href" type="xsd:IDREF">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Can be used to reference the yield curve used to estimate the
            discount factor
          </xsd:documentation>
        </xsd:annotation>
      </xsd:attribute>
    </xsd:complexType>

## PaymentCurrency

### Description:

A type describing the currency in which the payment relating to the leg amount (equity amount or interest amount) or the dividend will be denominated.

### Figure:

### Contents:

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

currency (exactly one occurrence; of the type Currency)

- The currency in which an amount is denominated.

Or

determinationMethod (exactly one occurrence; of the type DeterminationMethod)

- Specifies the method according to which an amount or a date is determined.

Attribute: id (xsd:ID)

Attribute: href (xsd:IDREF)

### Used by:

- DividendConditions/paymentCurrency
- LegAmount/paymentCurrency

### Schema Fragment:

    <xsd:complexType name="PaymentCurrency">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type describing the currency in which the payment relating to
          the leg amount (equity amount or interest amount) or the dividend
          will be denominated.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:choice minOccurs="0">
        <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="determinationMethod" type="DeterminationMethod">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the method according to which an amount or a date
              is determined.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:attribute name="id" type="xsd:ID"/>
      <xsd:attribute name="href" type="xsd:IDREF"/>
    </xsd:complexType>

## PaymentType

### Description:

### Figure:

### Contents:

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

Attribute: paymentTypeScheme (xsd:anyURI)

### Used by:

- Payment/paymentType
- ReturnSwapAdditionalPayment/paymentType

### Schema Fragment:

    <xsd:complexType name="PaymentType">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="paymentTypeScheme" type="xsd:anyURI"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## PeriodicDates

### Description:

### Figure:

### Contents:

calculationStartDate (exactly one occurrence; of the type AdjustableOrRelativeDate)

calculationEndDate (zero or one occurrence; of the type AdjustableOrRelativeDate)

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.

calculationPeriodDatesAdjustments (exactly one occurrence; of the type BusinessDayAdjustments)

- The business day convention to apply to each calculation period end date if it would otherwise fall on a day that is not a business day in the specified financial business centers.

### Used by:

- AdjustableRelativeOrPeriodicDates/periodicDates

### Schema Fragment:

    <xsd:complexType name="PeriodicDates">
      <xsd:sequence>
        <xsd:element name="calculationStartDate" type="AdjustableOrRelativeDate"/>
        <xsd:element name="calculationEndDate" type="AdjustableOrRelativeDate" minOccurs="0"/>
        <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:element name="calculationPeriodDatesAdjustments" type="BusinessDayAdjustments">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The business day convention to apply to each calculation
              period end date if it would otherwise fall on a day that is
              not a business day in the specified financial business
              centers.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## PrincipalExchanges

### Description:

A type defining which principal exchanges occur for the stream.

### Figure:

### Contents:

initialExchange (exactly one occurrence; of the type xsd:boolean)

- A true/false flag to indicate whether there is an initial exchange of principal on the effective date.

finalExchange (exactly one occurrence; of the type xsd:boolean)

- A true/false flag to indicate whether there is a final exchange of principal on the termination date.

intermediateExchange (exactly one occurrence; of the type xsd:boolean)

- A true/false flag to indicate whether there are intermediate or interim exchanges of principal during the term of the swap.

Attribute: id (xsd:ID) - optional

### Used by:

- InterestRateStream/principalExchanges
- PrincipalExchangeFeatures/principalExchanges

### Schema Fragment:

    <xsd:complexType name="PrincipalExchanges">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining which principal exchanges occur for the stream.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="initialExchange" type="xsd:boolean">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A true/false flag to indicate whether there is an initial
              exchange of principal on the effective date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="finalExchange" type="xsd:boolean">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A true/false flag to indicate whether there is a final
              exchange of principal on the termination date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="intermediateExchange" type="xsd:boolean">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A true/false flag to indicate whether there are intermediate
              or interim exchanges of principal during the term of the
              swap.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
    </xsd:complexType>

## Product

### Description:

The base type which all FpML products extend.

### Figure:

### Contents:

productType (zero or more occurrences; of the type ProductType)

- A classification of the type of product. FpML defines a simple product categorization using a coding scheme.

productId (zero or more occurrences; of the type ProductId)

- A product reference identifier allocated by a party. FpML does not define the domain values associated with this element. Note that the domain values for this element are not strictly an enumerated list.

Attribute: id (xsd:ID)

### Used by:

### Derived Types:

- BulletPayment
- CapFloor
- CreditDefaultSwap
- EquityDerivativeBase
- Fra
- FxAverageRateOption
- FxDigitalOption
- FxLeg
- FxOptionLeg
- FxSwap
- ReturnSwapBase
- Strategy
- Swap
- Swaption
- TermDeposit

### Schema Fragment:

    <xsd:complexType name="Product" abstract="true">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The base type which all FpML products extend.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:group ref="Product.model"/>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## ProductId

### Description:

### Figure:

### Contents:

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

Attribute: productIdScheme (xsd:anyURI)

### Used by:

### Schema Fragment:

    <xsd:complexType name="ProductId">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="productIdScheme" type="xsd:anyURI"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## ProductReference

### Description:

Reference to a full FpML product.

### Figure:

### Contents:

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

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

- Strategy/premiumProductReference
- UnderlyingAsset/definition

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="ProductReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reference to a full FpML product.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </xsd:complexType>

## ProductType

### Description:

### Figure:

### Contents:

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

Attribute: productTypeScheme (xsd:anyURI)

### Used by:

- TradeDetails/productType

### Schema Fragment:

    <xsd:complexType name="ProductType">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="productTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/product-type-simple-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## QuotedCurrencyPair

### Description:

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

### Figure:

### Contents:

currency1 (exactly one occurrence; of the type Currency)

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

currency2 (exactly one occurrence; of the type Currency)

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

quoteBasis (exactly one occurrence; of the type QuoteBasisEnum)

- The method by which the exchange rate is quoted.

### Used by:

- FxAmericanTrigger/quotedCurrencyPair
- FxBarrier/quotedCurrencyPair
- FxDigitalOption/quotedCurrencyPair
- FxEuropeanTrigger/quotedCurrencyPair
- FxFixing/quotedCurrencyPair
- FxRate/quotedCurrencyPair
- FxRateAsset/quotedCurrencyPair
- QuotableFxRate/quotedCurrencyPair

### Schema Fragment:

    <xsd:complexType name="QuotedCurrencyPair">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that describes the composition of a rate that has been
          quoted or is to be quoted. This includes the two currencies and
          the quotation relationship between the two currencies and is used
          as a building block throughout the FX specification.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="currency1" type="Currency">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The first currency specified when a pair of currencies is to
              be evaluated.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="currency2" type="Currency">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The second currency specified when a pair of currencies is to
              be evaluated.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="quoteBasis" type="QuoteBasisEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The method by which the exchange rate is quoted.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## Rate

### Description:

The abstract base class for all types which define interest rate streams.

### Figure:

### Contents:

Attribute: id (xsd:ID)

### Used by:

### Derived Types:

- FloatingRate
- InflationRateCalculationBase
- StubFloatingRate

### Schema Fragment:

    <xsd:complexType name="Rate" abstract="true">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The abstract base class for all types which define interest rate
          streams.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## RateObservation

### Description:

A type defining parameters associated with an individual observation or fixing. This type forms part of the cashflow representation of a stream.

### Figure:

### Contents:

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

- The reset date.

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

- The adjusted fixing date, i.e. the actual date the rate is observed. The date should already be adjusted for any applicable business day convention.

observedRate (zero or 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.

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

- The observed rate after any required rate treatment is applied. A treated rate of 5% would be represented as 0.05.

observationWeight (exactly one occurrence; of the type xsd:positiveInteger)

- The number of days weighting to be associated with the rate observation, i.e. the number of days such rate is in effect. This is applicable in the case of a weighted average method of calculation where more than one reset date is established for a single calculation period.

rateReference (zero or one occurrence; of the type RateReference)

- A pointer style reference to a floating rate component defined as part of a stub calculation period amount component. It is only required when it is necessary to distinguish two rate observations for the same fixing date which could occur when linear interpolation of two different rates occurs for a stub calculation period.

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

- The value representing the forecast rate used to calculate the forecast future value of the accrual period.A value of 1% should be represented as 0.01

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

- The value representing the forecast rate after applying rate treatment rules. A value of 1% should be represented as 0.01

fallback (zero or one occurrence; of the type FallbackRateObservation)

- Observation Parameters for IBOR fallback rates. These allow recording information about how the fallback rate was

Attribute: id (xsd:ID)

### Used by:

- FloatingRateDefinition/rateObservation

### Schema Fragment:

    <xsd:complexType name="RateObservation">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining parameters associated with an individual
          observation or fixing. This type forms part of the cashflow
          representation of a stream.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="resetDate" type="xsd:date" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The reset date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="adjustedFixingDate" type="xsd:date" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The adjusted fixing date, i.e. the actual date the rate is
              observed. The date should already be adjusted for any
              applicable business day convention.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="observedRate" type="xsd:decimal" minOccurs="0">
          <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:element name="treatedRate" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The observed rate after any required rate treatment is
              applied. A treated rate of 5% would be represented as 0.05.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="observationWeight" type="xsd:positiveInteger">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The number of days weighting to be associated with the rate
              observation, i.e. the number of days such rate is in effect.
              This is applicable in the case of a weighted average method
              of calculation where more than one reset date is established
              for a single calculation period.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="rateReference" type="RateReference" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A pointer style reference to a floating rate component
              defined as part of a stub calculation period amount
              component. It is only required when it is necessary to
              distinguish two rate observations for the same fixing date
              which could occur when linear interpolation of two different
              rates occurs for a stub calculation period.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="forecastRate" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The value representing the forecast rate used to calculate
              the forecast future value of the accrual period.A value of 1%
              should be represented as 0.01
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="treatedForecastRate" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The value representing the forecast rate after applying rate
              treatment rules. A value of 1% should be represented as 0.01
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="fallback" type="FallbackRateObservation" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Observation Parameters for IBOR fallback rates. These allow
              recording information about how the fallback rate was
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## RateReference

### Description:

Reference to any rate (floating, inflation) derived from the abstract Rate component.

### Figure:

### Contents:

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

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

- RateObservation/rateReference

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="RateReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reference to any rate (floating, inflation) derived from the
          abstract Rate component.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </xsd:complexType>

## RateSourcePage

### Description:

### Figure:

### Contents:

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

Attribute: rateSourcePageScheme (xsd:anyURI)

### Used by:

- InflationRateCalculation/indexSource
- InformationSource/rateSourcePage

### Schema Fragment:

    <xsd:complexType name="RateSourcePage">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="rateSourcePageScheme" type="xsd:anyURI"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## Reference

### Description:

Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Figure:

### Contents:

Attribute: href (xsd:IDREF) - required

### Used by:

### Derived Types:

- AccountReference
- AmountReference
- AnyAssetReference
- AssetOrTermPointOrPricingStructureReference
- AssetReference
- BusinessCentersReference
- BusinessDayAdjustmentsReference
- CalculationPeriodDatesReference
- CashflowFixingReference
- CashflowObservationReference
- DateReference
- InterestCalculationReference
- InterestLegCalculationPeriodDatesReference
- LegalEntityReference
- MarketReference
- NotionalAmountReference
- PartyOrAccountReference
- PartyOrTradeSideReference
- PartyReference
- PaymentDatesReference
- PricingDataPointCoordinateReference
- PricingParameterDerivativeReference
- PricingStructureReference
- ProductReference
- ProtectionTermsReference
- RateReference
- ResetDatesReference
- ScheduleReference
- SensitivitySetReference
- SettlementTermsReference
- SpreadScheduleReference
- StepReference
- TradeUnderlyerReference
- ValuationReference
- ValuationScenarioReference

### Schema Fragment:

    <xsd:complexType name="Reference" abstract="true">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Specifies the anchor as an href attribute. The href attribute
          value is a pointer style reference to the element or component
          elsewhere in the document where the anchor is defined.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:attribute name="href" type="xsd:IDREF" use="required"/>
    </xsd:complexType>

## ReferenceAmount

### Description:

Specifies the reference amount using a scheme.

### Figure:

### Contents:

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

Attribute: referenceAmountScheme (xsd:anyURI)

### Used by:

- LegAmount/referenceAmount

### Schema Fragment:

    <xsd:complexType name="ReferenceAmount">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Specifies the reference amount using a scheme.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="referenceAmountScheme" type="xsd:anyURI"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## ReferenceBank

### Description:

A type to describe an institution (party) identified by means of a coding scheme and an optional name.

### Figure:

### Contents:

referenceBankId (exactly one occurrence; of the type ReferenceBankId)

- An institution (party) identifier, e.g. a bank identifier code (BIC).

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

- The name of the institution (party). A free format string. FpML does not define usage rules for the element.

### Used by:

- CashSettlementReferenceBanks/referenceBank

### Schema Fragment:

    <xsd:complexType name="ReferenceBank">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type to describe an institution (party) identified by means of
          a coding scheme and an optional name.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="referenceBankId" type="ReferenceBankId">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An institution (party) identifier, e.g. a bank identifier
              code (BIC).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="referenceBankName" type="xsd:string" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The name of the institution (party). A free format string.
              FpML does not define usage rules for the element.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## ReferenceBankId

### Description:

### Figure:

### Contents:

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

Attribute: referenceBankIdScheme (xsd:anyURI)

### Used by:

- ReferenceBank/referenceBankId

### Schema Fragment:

    <xsd:complexType name="ReferenceBankId">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="referenceBankIdScheme" type="xsd:anyURI"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## RelativeDateOffset

### Description:

A type defining a date (referred to as the derived date) as a relative offset from another date (referred to as the anchor date). If the anchor date is itself an adjustable date then the offset is assumed to be calculated from the adjusted anchor date. A number of different scenarios can be supported, namely; 1) the derived date my simply be a number of calendar periods (days, weeks, months or years) preceding or following the anchor date; 2) the unadjusted derived date may be a number of calendar periods(days, weeks, months or years) preceding or following the anchor date with the resulting unadjusted derived date subject to adjustment in accordance with a specified business day convention, i.e. the derived date must fall on a good business day; 3) the derived date may be a number of business days preceding or following the anchor date. Note that the businessDayConvention specifies any required adjustment to the unadjusted derived date. A negative or positive value in the periodMultiplier indicates whether the unadjusted derived precedes or follows the anchor date. The businessDayConvention should contain a value NONE if the day type element contains a value of Business (since specifying a negative or positive business days offset would already guarantee that the derived date would fall on a good business day in the specified business centers).

### Figure:

### Contents:

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

- A type defining an offset used in calculating a new date relative to a reference date. Currently, the only offsets defined are expected to be expressed as either calendar or business day offsets.

businessDayConvention (exactly one occurrence; of the type BusinessDayConventionEnum)

- The convention for adjusting a date if it would otherwise fall on a day that is not a business day.

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

businessCentersReference (exactly one occurrence; of the type BusinessCentersReference)

- A pointer style reference to a set of financial business centers defined elsewhere in the document. This set of business centers is used to determine whether a particular day is a business day or not.

Or

businessCenters (exactly one occurrence; of the type BusinessCenters)

dateRelativeTo (exactly one occurrence; of the type DateReference)

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor date is defined.

### Used by:

- AdjustableOrRelativeDate/relativeDate
- CalculationPeriodDates/relativeTerminationDate
- CashSettlement/cashSettlementValuationDate
- CashSettlementPaymentDate/relativeDate
- Composite/relativeDate
- ExerciseFee/feePaymentDate
- ExerciseFeeSchedule/feePaymentDate
- Fra/fixingDateOffset
- FxLinkedNotionalSchedule/varyingNotionalFixingDates
- FxLinkedNotionalSchedule/varyingNotionalInterimExchangePaymentDates
- ResetDates/fixingDates
- ResetDates/initialFixingDate

### Extension of:

- Offset

### Derived Types:

- AdjustedRelativeDateOffset
- RelativeDates

### Schema Fragment:

    <xsd:complexType name="RelativeDateOffset">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a date (referred to as the derived date) as a
          relative offset from another date (referred to as the anchor
          date). If the anchor date is itself an adjustable date then the
          offset is assumed to be calculated from the adjusted anchor date.
          A number of different scenarios can be supported, namely; 1) the
          derived date my simply be a number of calendar periods (days,
          weeks, months or years) preceding or following the anchor date;
          2) the unadjusted derived date may be a number of calendar
          periods(days, weeks, months or years) preceding or following the
          anchor date with the resulting unadjusted derived date subject to
          adjustment in accordance with a specified business day
          convention, i.e. the derived date must fall on a good business
          day; 3) the derived date may be a number of business days
          preceding or following the anchor date. Note that the
          businessDayConvention specifies any required adjustment to the
          unadjusted derived date. A negative or positive value in the
          periodMultiplier indicates whether the unadjusted derived
          precedes or follows the anchor date. The businessDayConvention
          should contain a value NONE if the day type element contains a
          value of Business (since specifying a negative or positive
          business days offset would already guarantee that the derived
          date would fall on a good business day in the specified business
          centers).
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Offset">
          <xsd:sequence>
            <xsd:element name="businessDayConvention" type="BusinessDayConventionEnum">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The convention for adjusting a date if it would otherwise
                  fall on a day that is not a business day.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:group ref="BusinessCentersOrReference.model" minOccurs="0"/>
            <xsd:element name="dateRelativeTo" type="DateReference">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Specifies the anchor as an href attribute. The href
                  attribute value is a pointer style reference to the
                  element or component elsewhere in the document where the
                  anchor date is defined.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## RelativeDates

### Description:

A type describing a set of dates defined as relative to another set of dates.

### Figure:

### Contents:

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

- A type defining a date (referred to as the derived date) as a relative offset from another date (referred to as the anchor date). If the anchor date is itself an adjustable date then the offset is assumed to be calculated from the adjusted anchor date. A number of different scenarios can be supported, namely; 1) the derived date my simply be a number of calendar periods (days, weeks, months or years) preceding or following the anchor date; 2) the unadjusted derived date may be a number of calendar periods(days, weeks, months or years) preceding or following the anchor date with the resulting unadjusted derived date subject to adjustment in accordance with a specified business day convention, i.e. the derived date must fall on a good business day; 3) the derived date may be a number of business days preceding or following the anchor date. Note that the businessDayConvention specifies any required adjustment to the unadjusted derived date. A negative or positive value in the periodMultiplier indicates whether the unadjusted derived precedes or follows the anchor date. The businessDayConvention should contain a value NONE if the day type element contains a value of Business (since specifying a negative or positive business days offset would already guarantee that the derived date would fall on a good business day in the specified business centers).

periodSkip (zero or one occurrence; of the type xsd:positiveInteger)

- The number of periods in the referenced date schedule that are between each date in the relative date schedule. Thus a skip of 2 would mean that dates are relative to every second date in the referenced schedule. If present this should have a value greater than 1.

scheduleBounds (zero or one occurrence; of the type DateRange)

- The first and last dates of a schedule. This can be used to restrict the range of values in a reference series of dates.

### Used by:

- AdjustableOrRelativeDates/relativeDates

### Extension of:

- RelativeDateOffset

### Schema Fragment:

    <xsd:complexType name="RelativeDates">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type describing a set of dates defined as relative to another
          set of dates.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="RelativeDateOffset">
          <xsd:sequence>
            <xsd:element name="periodSkip" type="xsd:positiveInteger" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The number of periods in the referenced date schedule
                  that are between each date in the relative date schedule.
                  Thus a skip of 2 would mean that dates are relative to
                  every second date in the referenced schedule. If present
                  this should have a value greater than 1.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="scheduleBounds" type="DateRange" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The first and last dates of a schedule. This can be used
                  to restrict the range of values in a reference series of
                  dates.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## RelativeDateSequence

### Description:

A type describing a date when this date is defined in reference to another date through one or several date offsets.

### Figure:

### Contents:

dateRelativeTo (exactly one occurrence; of the type DateReference)

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor date is defined.

dateOffset (one or more occurrences; of the type DateOffset)

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

businessCentersReference (exactly one occurrence; of the type BusinessCentersReference)

- A pointer style reference to a set of financial business centers defined elsewhere in the document. This set of business centers is used to determine whether a particular day is a business day or not.

Or

businessCenters (exactly one occurrence; of the type BusinessCenters)

### Used by:

- AdjustableDateOrRelativeDateSequence/relativeDateSequence
- AdjustableRelativeOrPeriodicDates/relativeDateSequence

### Schema Fragment:

    <xsd:complexType name="RelativeDateSequence">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type describing a date when this date is defined in reference
          to another date through one or several date offsets.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="dateRelativeTo" type="DateReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the anchor as an href attribute. The href attribute
              value is a pointer style reference to the element or
              component elsewhere in the document where the anchor date is
              defined.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="dateOffset" type="DateOffset" maxOccurs="unbounded"/>
        <xsd:group ref="BusinessCentersOrReference.model" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>

## RequiredIdentifierDate

### Description:

A date with a required identifier which can be referenced elsewhere.

### Figure:

### Contents:

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

Attribute: id (xsd:ID) - required

### Used by:

- Fra/adjustedEffectiveDate

### Schema Fragment:

    <xsd:complexType name="RequiredIdentifierDate">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A date with a required identifier which can be referenced
          elsewhere.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:date">
          <xsd:attribute name="id" type="xsd:ID" use="required"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## ResetFrequency

### Description:

A type defining the reset frequency. In the case of a weekly reset, also specifies the day of the week that the reset occurs. If the reset frequency is greater than the calculation period frequency the this implies that more or more reset dates is established for each calculation period and some form of rate averaginhg is applicable. The specific averaging method of calculation is specified in FloatingRateCalculation.

### Figure:

### Contents:

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

- A type defining a time interval or offset, e.g. one day, three months. Used for specifying frequencies at which events occur, the tenor of a floating rate or an offset relative to another date.

weeklyRollConvention (zero or one occurrence; of the type WeeklyRollConventionEnum)

- The day of the week on which a weekly reset date occurs. This element must be included if the reset frequency is defined as weekly and not otherwise.

### Used by:

- InterestLegResetDates/resetFrequency
- ResetDates/resetFrequency

### Extension of:

- Interval

### Schema Fragment:

    <xsd:complexType name="ResetFrequency">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the reset frequency. In the case of a weekly
          reset, also specifies the day of the week that the reset occurs.
          If the reset frequency is greater than the calculation period
          frequency the this implies that more or more reset dates is
          established for each calculation period and some form of rate
          averaginhg is applicable. The specific averaging method of
          calculation is specified in FloatingRateCalculation.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Interval">
          <xsd:sequence>
            <xsd:element name="weeklyRollConvention" type="WeeklyRollConventionEnum" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The day of the week on which a weekly reset date occurs.
                  This element must be included if the reset frequency is
                  defined as weekly and not otherwise.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## Rounding

### Description:

A type defining a rounding direction and precision to be used in the rounding of a rate.

### Figure:

### Contents:

roundingDirection (exactly one occurrence; of the type RoundingDirectionEnum)

- Specifies the rounding direction.

precision (exactly 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).

### Used by:

### Schema Fragment:

    <xsd:complexType name="Rounding">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a rounding direction and precision to be used in
          the rounding of a rate.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="roundingDirection" type="RoundingDirectionEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the rounding direction.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="precision" type="xsd:nonNegativeInteger">
          <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:sequence>
    </xsd:complexType>

## Routing

### Description:

A type that provides three alternative ways of identifying a party involved in the routing of a payment. The identification may use payment system identifiers only; actual name, address and other reference information; or a combination of both.

### Figure:

### Contents:

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

routingIds (exactly one occurrence; of the type RoutingIds)

- A set of unique identifiers for a party, eachone identifying the party within a payment system. The assumption is that each party will not have more than one identifier within the same payment system.

Or

routingExplicitDetails (exactly one occurrence; of the type RoutingExplicitDetails)

- A set of details that is used to identify a party involved in the routing of a payment when the party does not have a code that identifies it within one of the recognized payment systems.

Or

routingIdsAndExplicitDetails (exactly one occurrence; of the type RoutingIdsAndExplicitDetails)

- A combination of coded payment system identifiers and details for physical addressing for a party involved in the routing of a payment.

### Used by:

- SplitSettlement/beneficiary
- SplitSettlement/beneficiaryBank

### Derived Types:

- Beneficiary
- CorrespondentInformation
- IntermediaryInformation

### Schema Fragment:

    <xsd:complexType name="Routing">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that provides three alternative ways of identifying a
          party involved in the routing of a payment. The identification
          may use payment system identifiers only; actual name, address and
          other reference information; or a combination of both.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:choice>
          <xsd:element name="routingIds" type="RoutingIds">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A set of unique identifiers for a party, eachone
                identifying the party within a payment system. The
                assumption is that each party will not have more than one
                identifier within the same payment system.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="routingExplicitDetails" type="RoutingExplicitDetails">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A set of details that is used to identify a party involved
                in the routing of a payment when the party does not have a
                code that identifies it within one of the recognized
                payment systems.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="routingIdsAndExplicitDetails" type="RoutingIdsAndExplicitDetails">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A combination of coded payment system identifiers and
                details for physical addressing for a party involved in the
                routing of a payment.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
      </xsd:sequence>
    </xsd:complexType>

## RoutingExplicitDetails

### Description:

A type that models name, address and supplementary textual information for the purposes of identifying a party involved in the routing of a payment.

### Figure:

### Contents:

routingName (exactly one occurrence; of the type xsd:string)

- A real name that is used to identify a party involved in the routing of a payment.

routingAddress (zero or one occurrence; of the type Address)

- A physical postal address via which a payment can be routed.

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

- An account number via which a payment can be routed.

routingReferenceText (zero or more occurrences; of the type xsd:string)

- A piece of free-format text used to assist the identification of a party involved in the routing of a payment.

### Used by:

- Routing/routingExplicitDetails

### Schema Fragment:

    <xsd:complexType name="RoutingExplicitDetails">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that models name, address and supplementary textual
          information for the purposes of identifying a party involved in
          the routing of a payment.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:group ref="RoutingExplicitDetails.model"/>
    </xsd:complexType>

## RoutingId

### Description:

### Figure:

### Contents:

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

Attribute: routingIdCodeScheme (xsd:anyURI)

### Used by:

- RoutingIds/routingId

### Schema Fragment:

    <xsd:complexType name="RoutingId">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="routingIdCodeScheme" type="xsd:anyURI" default="http://www.fpml.org/ext/iso9362"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## RoutingIds

### Description:

A type that provides for identifying a party involved in the routing of a payment by means of one or more standard identification codes. For example, both a SWIFT BIC code and a national bank identifier may be required.

### Figure:

### Contents:

routingId (one or more occurrences; of the type RoutingId)

- A unique identifier for party that is a participant in a recognized payment system.

### Used by:

- Routing/routingIds
- RoutingIdsAndExplicitDetails/routingIds

### Schema Fragment:

    <xsd:complexType name="RoutingIds">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that provides for identifying a party involved in the
          routing of a payment by means of one or more standard
          identification codes. For example, both a SWIFT BIC code and a
          national bank identifier may be required.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="routingId" type="RoutingId" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A unique identifier for party that is a participant in a
              recognized payment system.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## RoutingIdsAndExplicitDetails

### Description:

A type that provides a combination of payment system identification codes with physical postal address details, for the purposes of identifying a party involved in the routing of a payment.

### Figure:

### Contents:

routingIds (one or more occurrences; of the type RoutingIds)

- A set of unique identifiers for a party, eachone identifying the party within a payment system. The assumption is that each party will not have more than one identifier within the same payment system.

routingName (exactly one occurrence; of the type xsd:string)

- A real name that is used to identify a party involved in the routing of a payment.

routingAddress (zero or one occurrence; of the type Address)

- A physical postal address via which a payment can be routed.

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

- An account number via which a payment can be routed.

routingReferenceText (zero or more occurrences; of the type xsd:string)

- A piece of free-format text used to assist the identification of a party involved in the routing of a payment.

### Used by:

- Routing/routingIdsAndExplicitDetails

### Schema Fragment:

    <xsd:complexType name="RoutingIdsAndExplicitDetails">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that provides a combination of payment system
          identification codes with physical postal address details, for
          the purposes of identifying a party involved in the routing of a
          payment.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="routingIds" type="RoutingIds" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A set of unique identifiers for a party, eachone identifying
              the party within a payment system. The assumption is that
              each party will not have more than one identifier within the
              same payment system.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:group ref="RoutingExplicitDetails.model"/>
      </xsd:sequence>
    </xsd:complexType>

## Schedule

### Description:

A type defining a schedule of rates or amounts in terms of an initial value and then a series of step date and value pairs. On each step date the rate or amount changes to the new step value. The series of step date and value pairs are optional. If not specified, this implies that the initial value remains unchanged over time.

### Figure:

### Contents:

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

- The initial rate or amount, as the case may be. An initial rate of 5% would be represented as 0.05.

step (zero or more occurrences; of the type Step)

- The schedule of step date and value pairs. On each step date the associated step value becomes effective A list of steps may be ordered in the document by ascending step date. An FpML document containing an unordered list of steps is still regarded as a conformant document.

Attribute: id (xsd:ID)

### Used by:

- Calculation/fixedRateSchedule
- ExerciseFeeSchedule/feeRateSchedule
- TradeUnderlyer/fixedRate

### Derived Types:

- AmountSchedule
- SpreadSchedule
- StrikeSchedule

### Schema Fragment:

    <xsd:complexType name="Schedule">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a schedule of rates or amounts in terms of an
          initial value and then a series of step date and value pairs. On
          each step date the rate or amount changes to the new step value.
          The series of step date and value pairs are optional. If not
          specified, this implies that the initial value remains unchanged
          over time.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="initialValue" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The initial rate or amount, as the case may be. An initial
              rate of 5% would be represented as 0.05.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="step" type="Step" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The schedule of step date and value pairs. On each step date
              the associated step value becomes effective A list of steps
              may be ordered in the document by ascending step date. An
              FpML document containing an unordered list of steps is still
              regarded as a conformant document.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## ScheduleReference

### Description:

Reference to a schedule of rates or amounts.

### Figure:

### Contents:

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

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

- ExerciseFee/notionalReference
- ExerciseFeeSchedule/notionalReference
- FxLinkedNotionalSchedule/constantNotionalScheduleReference
- PartialExercise/notionalReference

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="ScheduleReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reference to a schedule of rates or amounts.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </xsd:complexType>

## SettlementInformation

### Description:

A type that represents the choice of methods for settling a potential currency payment resulting from a trade: by means of a standard settlement instruction, by netting it out with other payments, or with an explicit settlement instruction.

### Figure:

### Contents:

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

standardSettlementStyle (exactly one occurrence; of the type StandardSettlementStyleEnum)

- An optional element used to describe how a trade will settle. This defines a scheme and is used for identifying trades that are identified as settling standard and/or flagged for settlement netting.

Or

settlementInstruction (exactly one occurrence; of the type SettlementInstruction)

- An explicit specification of how a currency payment is to be made, when the payment is not netted and the route is other than the recipient's standard settlement instruction.

### Used by:

- FxOptionPayout/settlementInformation
- FxOptionPremium/settlementInformation
- Payment/settlementInformation

### Schema Fragment:

    <xsd:complexType name="SettlementInformation">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that represents the choice of methods for settling a
          potential currency payment resulting from a trade: by means of a
          standard settlement instruction, by netting it out with other
          payments, or with an explicit settlement instruction.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:choice>
        <xsd:element name="standardSettlementStyle" type="StandardSettlementStyleEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An optional element used to describe how a trade will settle.
              This defines a scheme and is used for identifying trades that
              are identified as settling standard and/or flagged for
              settlement netting.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="settlementInstruction" type="SettlementInstruction">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An explicit specification of how a currency payment is to be
              made, when the payment is not netted and the route is other
              than the recipient's standard settlement instruction.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:complexType>

## SettlementInstruction

### Description:

A type that models a complete instruction for settling a currency payment, including the settlement method to be used, the correspondent bank, any intermediary banks and the ultimate beneficary.

### Figure:

### Contents:

settlementMethod (zero or one occurrence; of the type SettlementMethod)

- The mechanism by which settlement is to be made. The scheme of domain values will include standard mechanisms such as CLS, Fedwire, Chips ABA, Chips UID, SWIFT, CHAPS and DDA.

correspondentInformation (zero or one occurrence; of the type CorrespondentInformation)

- The information required to identify the correspondent bank that will make delivery of the funds on the paying bank's behalf in the country where the payment is to be made

intermediaryInformation (zero or more occurrences; of the type IntermediaryInformation)

- Information to identify an intermediary through which payment will be made by the correspondent bank to the ultimate beneficiary of the funds.

beneficiaryBank (zero or one occurrence; of the type Beneficiary)

- The bank that acts for the ultimate beneficiary of the funds in receiving payments.

beneficiary (exactly one occurrence; of the type Beneficiary)

- The ultimate beneficiary of the funds. The beneficiary can be identified either by an account at the beneficiaryBank (qv) or by explicit routingInformation. This element provides for the latter.

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

- Reference to the depository of the settlement.

splitSettlement (zero or more occurrences; of the type SplitSettlement)

- The set of individual payments that are to be made when a currency payment settling a trade needs to be split between a number of ultimate beneficiaries. Each split payment may need to have its own routing information.

### Used by:

- SettlementInformation/settlementInstruction

### Schema Fragment:

    <xsd:complexType name="SettlementInstruction">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that models a complete instruction for settling a currency
          payment, including the settlement method to be used, the
          correspondent bank, any intermediary banks and the ultimate
          beneficary.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="settlementMethod" type="SettlementMethod" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The mechanism by which settlement is to be made. The scheme
              of domain values will include standard mechanisms such as
              CLS, Fedwire, Chips ABA, Chips UID, SWIFT, CHAPS and DDA.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="correspondentInformation" type="CorrespondentInformation" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The information required to identify the correspondent bank
              that will make delivery of the funds on the paying bank's
              behalf in the country where the payment is to be made
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="intermediaryInformation" type="IntermediaryInformation" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Information to identify an intermediary through which payment
              will be made by the correspondent bank to the ultimate
              beneficiary of the funds.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="beneficiaryBank" type="Beneficiary" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The bank that acts for the ultimate beneficiary of the funds
              in receiving payments.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="beneficiary" type="Beneficiary">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The ultimate beneficiary of the funds. The beneficiary can be
              identified either by an account at the beneficiaryBank (qv)
              or by explicit routingInformation. This element provides for
              the latter.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="depositoryPartyReference" type="PartyReference" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Reference to the depository of the settlement.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="splitSettlement" type="SplitSettlement" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The set of individual payments that are to be made when a
              currency payment settling a trade needs to be split between a
              number of ultimate beneficiaries. Each split payment may need
              to have its own routing information.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## SettlementMethod

### Description:

### Figure:

### Contents:

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

Attribute: settlementMethodScheme (xsd:anyURI)

### Used by:

- SettlementInstruction/settlementMethod

### Schema Fragment:

    <xsd:complexType name="SettlementMethod">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="settlementMethodScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/settlement-method-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## SettlementPriceSource

### Description:

The source from which the settlement price is to be obtained, e.g. a Reuters page, Prezzo di Riferimento, etc.

### Figure:

### Contents:

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

Attribute: settlementPriceSourceScheme (xsd:anyURI)

### Used by:

- EquityExerciseValuationSettlement/settlementPriceSource

### Schema Fragment:

    <xsd:complexType name="SettlementPriceSource">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The source from which the settlement price is to be obtained,
          e.g. a Reuters page, Prezzo di Riferimento, etc.
        </xsd:documentation>
        <xsd:documentation xml:lang="de">
          Quelle fÃ¼r den Abrechnungspreis (z.B. eine Reuters-Seite, Prezzo
          di Riferimento, usw.).
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="settlementPriceSourceScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/settlement-price-source-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## SettlementRateSource

### Description:

A type describing the method for obtaining a settlement rate.

### Figure:

### Contents:

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

informationSource (exactly one occurrence; of the type InformationSource)

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

Or

cashSettlementReferenceBanks (exactly one occurrence; of the type CashSettlementReferenceBanks)

- A container for a set of reference institutions. These reference institutions may be called upon to provide rate quotations as part of the method to determine the applicable cash settlement amount. If institutions are not specified, it is assumed that reference institutions will be agreed between the parties on the exercise date, or in the case of swap transaction to which mandatory early termination is applicable, the cash settlement valuation date.

### Used by:

- CollateralizedCashPriceMethod/settlementRateSource
- SwaptionPhysicalSettlement/settlementRateSource
- YieldCurveMethod/settlementRateSource

### Schema Fragment:

    <xsd:complexType name="SettlementRateSource">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type describing the method for obtaining a settlement rate.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:choice>
        <xsd:element name="informationSource" type="InformationSource">
          <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="cashSettlementReferenceBanks" type="CashSettlementReferenceBanks">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A container for a set of reference institutions. These
              reference institutions may be called upon to provide rate
              quotations as part of the method to determine the applicable
              cash settlement amount. If institutions are not specified, it
              is assumed that reference institutions will be agreed between
              the parties on the exercise date, or in the case of swap
              transaction to which mandatory early termination is
              applicable, the cash settlement valuation date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:complexType>

## SharedAmericanExercise

### Description:

TBA

### Figure:

### Contents:

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

- The abstract base class for all types which define way in which options may be exercised.

commencementDate (exactly one occurrence; of the type AdjustableOrRelativeDate)

- The first day of the exercise period for an American style option.

expirationDate (exactly one occurrence; of the type AdjustableOrRelativeDate)

- The last day within an exercise period for an American style option. For a European style option it is the only day within the exercise period.

latestExerciseTime (zero or one occurrence; of the type BusinessCenterTime)

- For a Bermuda or American style option, the latest time on an exercise business day (excluding the expiration date) within the exercise period that notice can be given by the buyer to the seller or seller's agent. Notice of exercise given after this time will be deemed to have been given on the next exercise business day.

### Used by:

### Extension of:

- Exercise

### Derived Types:

- EquityAmericanExercise
- EquityBermudaExercise

### Schema Fragment:

    <xsd:complexType name="SharedAmericanExercise">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          TBA
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Exercise">
          <xsd:sequence>
            <xsd:element name="commencementDate" type="AdjustableOrRelativeDate">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The first day of the exercise period for an American
                  style option.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="expirationDate" type="AdjustableOrRelativeDate">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The last day within an exercise period for an American
                  style option. For a European style option it is the only
                  day within the exercise period.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="latestExerciseTime" type="BusinessCenterTime" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  For a Bermuda or American style option, the latest time
                  on an exercise business day (excluding the expiration
                  date) within the exercise period that notice can be given
                  by the buyer to the seller or seller's agent. Notice of
                  exercise given after this time will be deemed to have
                  been given on the next exercise business day.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## SplitSettlement

### Description:

A type that supports the division of a gross settlement amount into a number of split settlements, each requiring its own settlement instruction.

### Figure:

### Contents:

splitSettlementAmount (exactly one occurrence; of the type Money)

- One of the monetary amounts in a split settlement payment.

beneficiaryBank (zero or one occurrence; of the type Routing)

- The bank that acts for the ultimate beneficiary of the funds in receiving payments.

beneficiary (exactly one occurrence; of the type Routing)

- The ultimate beneficiary of the funds. The beneficiary can be identified either by an account at the beneficiaryBank (qv) or by explicit routingInformation. This element provides for the latter.

### Used by:

- SettlementInstruction/splitSettlement

### Schema Fragment:

    <xsd:complexType name="SplitSettlement">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that supports the division of a gross settlement amount
          into a number of split settlements, each requiring its own
          settlement instruction.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="splitSettlementAmount" type="Money">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              One of the monetary amounts in a split settlement payment.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="beneficiaryBank" type="Routing" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The bank that acts for the ultimate beneficiary of the funds
              in receiving payments.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="beneficiary" type="Routing">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The ultimate beneficiary of the funds. The beneficiary can be
              identified either by an account at the beneficiaryBank (qv)
              or by explicit routingInformation. This element provides for
              the latter.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## SpreadSchedule

### Description:

Adds an optional spread type element to the Schedule to identify a long or short spread value.

### Figure:

### Contents:

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

- A type defining a schedule of rates or amounts in terms of an initial value and then a series of step date and value pairs. On each step date the rate or amount changes to the new step value. The series of step date and value pairs are optional. If not specified, this implies that the initial value remains unchanged over time.

type (zero or one occurrence; of the type SpreadScheduleType)

### Used by:

### Extension of:

- Schedule

### Schema Fragment:

    <xsd:complexType name="SpreadSchedule">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Adds an optional spread type element to the Schedule to identify
          a long or short spread value.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Schedule">
          <xsd:sequence>
            <xsd:element name="type" type="SpreadScheduleType" minOccurs="0"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## SpreadScheduleReference

### Description:

Provides a reference to a spread schedule.

### Figure:

### Contents:

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

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

- BasketConstituent/underlyerSpread

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="SpreadScheduleReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Provides a reference to a spread schedule.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </xsd:complexType>

## SpreadScheduleType

### Description:

Defines a Spread Type Scheme to identify a long or short spread value.

### Figure:

### Contents:

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

Attribute: spreadScheduleTypeScheme (xsd:anyURI)

### Used by:

- SpreadSchedule/type

### Schema Fragment:

    <xsd:complexType name="SpreadScheduleType">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Defines a Spread Type Scheme to identify a long or short spread
          value.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="spreadScheduleTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/spread-schedule-type-1-0"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## Step

### Description:

A type defining a step date and step value pair. This step definitions are used to define varying rate or amount schedules, e.g. a notional amortization or a step-up coupon schedule.

### Figure:

### Contents:

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

- The date on which the associated stepValue becomes effective. This day may be subject to adjustment in accordance with a business day convention.

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

- The rate or amount which becomes effective on the associated stepDate. A rate of 5% would be represented as 0.05.

Attribute: id (xsd:ID)

### Used by:

- Schedule/step

### Schema Fragment:

    <xsd:complexType name="Step">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a step date and step value pair. This step
          definitions are used to define varying rate or amount schedules,
          e.g. a notional amortization or a step-up coupon schedule.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="stepDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date on which the associated stepValue becomes effective.
              This day may be subject to adjustment in accordance with a
              business day convention.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="stepValue" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The rate or amount which becomes effective on the associated
              stepDate. A rate of 5% would be represented as 0.05.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## StreetAddress

### Description:

A type that describes the set of street and building number information that identifies a postal address within a city.

### Figure:

### Contents:

streetLine (one or more occurrences; of the type xsd:string)

- An individual line of street and building number information, forming part of a postal address.

### Used by:

- Address/streetAddress

### Schema Fragment:

    <xsd:complexType name="StreetAddress">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that describes the set of street and building number
          information that identifies a postal address within a city.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="streetLine" type="xsd:string" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An individual line of street and building number information,
              forming part of a postal address.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## Strike

### Description:

A type describing a single cap or floor rate.

### Figure:

### Contents:

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

- The rate for a cap or floor.

buyer (zero or one occurrence; of the type IdentifiedPayerReceiver)

- The buyer of the option

seller (zero or one occurrence; of the type IdentifiedPayerReceiver)

- The party that has sold.

Attribute: id (xsd:ID)

### Used by:

- CashflowFixing/capValue
- CashflowFixing/floorValue
- FloatingRateDefinition/capRate
- FloatingRateDefinition/floorRate

### Schema Fragment:

    <xsd:complexType name="Strike">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type describing a single cap or floor rate.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="strikeRate" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The rate for a cap or floor.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="buyer" type="IdentifiedPayerReceiver" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The buyer of the option
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="seller" type="IdentifiedPayerReceiver" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The party that has sold.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## StrikeSchedule

### Description:

A type describing a schedule of cap or floor rates.

### Figure:

### Contents:

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

- A type defining a schedule of rates or amounts in terms of an initial value and then a series of step date and value pairs. On each step date the rate or amount changes to the new step value. The series of step date and value pairs are optional. If not specified, this implies that the initial value remains unchanged over time.

buyer (zero or one occurrence; of the type IdentifiedPayerReceiver)

- The buyer of the option

seller (zero or one occurrence; of the type IdentifiedPayerReceiver)

- The party that has sold.

### Used by:

### Extension of:

- Schedule

### Schema Fragment:

    <xsd:complexType name="StrikeSchedule">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type describing a schedule of cap or floor rates.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Schedule">
          <xsd:sequence>
            <xsd:element name="buyer" type="IdentifiedPayerReceiver" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The buyer of the option
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="seller" type="IdentifiedPayerReceiver" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The party that has sold.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## Stub

### Description:

A type defining how a stub calculation period amount is calculated. A single floating rate tenor different to that used for the regular part of the calculation periods schedule may be specified, or two floating rate tenors many be specified. If two floating rate tenors are specified then Linear Interpolation (in accordance with the 2000 ISDA Definitions, Section 8.3 Interpolation) is assumed to apply. Alternatively, an actual known stub rate or stub amount may be specified.

### Figure:

### Contents:

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

floatingRate (one or more occurrences; of the type StubFloatingRate)

- The rates to be applied to the initial or final stub may be the linear interpolation of two different rates. While the majority of the time, the rate indices will be the same as that specified in the stream and only the tenor itself will be different, it is possible to specift two different rates. For example, a 2 month stub period may use the linear interpolation of a 1 month and 3 month rate. The different rates would be specified in this component. Note that a maximum of two rates can be specified. If a stub period uses the same floating rate index, including tenor, as the regular calculation periods then this should not be specified again within this component, i.e. the stub calculation period amount component may not need to be specified even if there is an initial or final stub period. If a stub period uses a different floating rate index compared to the regular calculation periods then this should be specified within this component. If specified here, they are likely to have id attributes, allowing them to be referenced from within the cashflows component.

Or

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

- An actual rate to apply for the initial or final stub period may have been agreed between the principal parties (in a similar way to how an initial rate may have been agreed for the first regular period). If an actual stub rate has been agreed then it would be included in this component. It will be a per annum rate, expressed as a decimal. A stub rate of 5% would be represented as 0.05.

Or

stubAmount (exactly one occurrence; of the type Money)

- An actual amount to apply for the initial or final stub period may have been agreed between th two parties. If an actual stub amount has been agreed then it would be included in this component.

stubStartDate (zero or one occurrence; of the type AdjustableOrRelativeDate)

- Start date of stub period. This was created to support use of the InterestRateStream within the Equity Derivative sphere, and this element is not expected to be produced in the representation of Interest Rate products.

stubEndDate (zero or one occurrence; of the type AdjustableOrRelativeDate)

- End date of stub period. This was created to support use of the InterestRateStream within the Equity Derivative sphere, and this element is not expected to be produced in the representation of Interest Rate products.

### Used by:

- StubCalculationPeriod/finalStub
- StubCalculationPeriod/finalStub
- StubCalculationPeriod/initialStub
- StubCalculationPeriodAmount/finalStub
- StubCalculationPeriodAmount/initialStub

### Schema Fragment:

    <xsd:complexType name="Stub">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining how a stub calculation period amount is
          calculated. A single floating rate tenor different to that used
          for the regular part of the calculation periods schedule may be
          specified, or two floating rate tenors many be specified. If two
          floating rate tenors are specified then Linear Interpolation (in
          accordance with the 2000 ISDA Definitions, Section 8.3
          Interpolation) is assumed to apply. Alternatively, an actual
          known stub rate or stub amount may be specified.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:choice>
          <xsd:element name="floatingRate" type="StubFloatingRate" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The rates to be applied to the initial or final stub may be
                the linear interpolation of two different rates. While the
                majority of the time, the rate indices will be the same as
                that specified in the stream and only the tenor itself will
                be different, it is possible to specift two different
                rates. For example, a 2 month stub period may use the
                linear interpolation of a 1 month and 3 month rate. The
                different rates would be specified in this component. Note
                that a maximum of two rates can be specified. If a stub
                period uses the same floating rate index, including tenor,
                as the regular calculation periods then this should not be
                specified again within this component, i.e. the stub
                calculation period amount component may not need to be
                specified even if there is an initial or final stub period.
                If a stub period uses a different floating rate index
                compared to the regular calculation periods then this
                should be specified within this component. If specified
                here, they are likely to have id attributes, allowing them
                to be referenced from within the cashflows component.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="stubRate" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An actual rate to apply for the initial or final stub
                period may have been agreed between the principal parties
                (in a similar way to how an initial rate may have been
                agreed for the first regular period). If an actual stub
                rate has been agreed then it would be included in this
                component. It will be a per annum rate, expressed as a
                decimal. A stub rate of 5% would be represented as 0.05.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="stubAmount" type="Money">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An actual amount to apply for the initial or final stub
                period may have been agreed between th two parties. If an
                actual stub amount has been agreed then it would be
                included in this component.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:element name="stubStartDate" type="AdjustableOrRelativeDate" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Start date of stub period. This was created to support use of
              the InterestRateStream within the Equity Derivative sphere,
              and this element is not expected to be produced in the
              representation of Interest Rate products.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="stubEndDate" type="AdjustableOrRelativeDate" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              End date of stub period. This was created to support use of
              the InterestRateStream within the Equity Derivative sphere,
              and this element is not expected to be produced in the
              representation of Interest Rate products.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## StubFloatingRate

### Description:

A type defining a floating rate.

### Figure:

### Contents:

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

- The abstract base class for all types which define interest rate streams.

floatingRateIndex (exactly one occurrence; of the type FloatingRateIndex)

- The ISDA Floating Rate Option, i.e. the name of the floating rate.

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

- The ISDA Designated Maturity, i.e. the tenor of the floating rate.

fallbackRate (zero or one occurrence; of the type FallbackRate)

- A fallback rate calculated using an averaging or compounding formula to be used in case of the cessation of the original term rate. This structure is provided to allow an approximate representation to be created for published fallback rates to allow operations such as valuation, accrual calculation, and risk calculation.

floatingRateMultiplierSchedule (zero or one occurrence; of the type Schedule)

- A rate multiplier or multiplier schedule to apply to the floating rate. A multiplier schedule is expressed as explicit multipliers and dates. In the case of a schedule, the step dates may be subject to adjustment in accordance with any adjustments specified in the calculationPeriodDatesAdjustments. The multiplier can be a positive or negative decimal. This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.

spreadSchedule (zero or more occurrences; of the type SpreadSchedule)

- The ISDA Spread or a Spread schedule expressed as explicit spreads and dates. In the case of a schedule, the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The spread is a per annum rate, expressed as a decimal. For purposes of determining a calculation period amount, if positive the spread will be added to the floating rate and if negative the spread will be subtracted from the floating rate. A positive 10 basis point (0.1%) spread would be represented as 0.001.

rateTreatment (zero or one occurrence; of the type RateTreatmentEnum)

- The specification of any rate conversion which needs to be applied to the observed rate before being used in any calculations. The two common conversions are for securities quoted on a bank discount basis which will need to be converted to either a Money Market Yield or Bond Equivalent Yield. See the Annex to the 2000 ISDA Definitions, Section 7.3. Certain General Definitions Relating to Floating Rate Options, paragraphs (g) and (h) for definitions of these terms.

capRateSchedule (zero or more occurrences; of the type StrikeSchedule)

- The cap rate or cap rate schedule, if any, which applies to the floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. A cap rate schedule is expressed as explicit cap rates and dates and the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05.

floorRateSchedule (zero or more occurrences; of the type StrikeSchedule)

- The floor rate or floor rate schedule, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. A floor rate schedule is expressed as explicit floor rates and dates and the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05.

### Used by:

- Stub/floatingRate

### Extension of:

- Rate

### Schema Fragment:

    <xsd:complexType name="StubFloatingRate">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a floating rate.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Rate">
          <xsd:sequence>
            <xsd:group ref="FloatingRateIndex.model"/>
            <xsd:element name="fallbackRate" type="FallbackRate" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A fallback rate calculated using an averaging or
                  compounding formula to be used in case of the cessation
                  of the original term rate. This structure is provided to
                  allow an approximate representation to be created for
                  published fallback rates to allow operations such as
                  valuation, accrual calculation, and risk calculation.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:group ref="FloatingRate.model" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  DEPRECATED - These conditioning parameters should never
                  be applied to the stub rate, rather to the original rate.
                  They are retained for backward compatibility with
                  previous versions of the standard.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:group>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## SwaptionPhysicalSettlement

### Description:

### Figure:

### Contents:

clearedPhysicalSettlement (exactly one occurrence; of the type xsd:boolean)

- Specifies whether the swap resulting from physical settlement of the swaption transaction will clear through a clearing house. The meaning of Cleared Physical Settlement is defined in the 2006 ISDA Definitions, Section 15.2 (published in Supplement number 28).

mutuallyAgreedClearinghouse (zero or one occurrence; of the type MutuallyAgreedClearinghouse)

- This may be used to specify a "mutually-agreed clearinghouse" for settlement.

agreedDiscountRate (zero or one occurrence; of the type BenchmarkRate)

- This may be used to indicate the discount rate to be used for cash collateral for cash settlement purposes.

settlementRateSource (zero or one occurrence; of the type SettlementRateSource)

- The method for obtaining a settlement rate. This may be from some information source (e.g. Reuters) or from a set of reference banks.

quotationRateType (zero or one occurrence; of the type QuotationRateTypeEnum)

- Which rate quote is to be observed, either Bid, Mid, Offer or Exercising Party Pays. The meaning of Exercising Party Pays is defined in the 2000 ISDA Definitions, Section 17.2. Certain Definitions Relating to Cash Settlement, paragraph (j)

### Used by:

- Swaption/physicalSettlement

### Schema Fragment:

    <xsd:complexType name="SwaptionPhysicalSettlement">
      <xsd:sequence>
        <xsd:element name="clearedPhysicalSettlement" type="xsd:boolean">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies whether the swap resulting from physical settlement
              of the swaption transaction will clear through a clearing
              house. The meaning of Cleared Physical Settlement is defined
              in the 2006 ISDA Definitions, Section 15.2 (published in
              Supplement number 28).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="mutuallyAgreedClearinghouse" type="MutuallyAgreedClearinghouse" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              This may be used to specify a "mutually-agreed clearinghouse"
              for settlement.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="agreedDiscountRate" type="BenchmarkRate" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              This may be used to indicate the discount rate to be used for
              cash collateral for cash settlement purposes.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="settlementRateSource" type="SettlementRateSource" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The method for obtaining a settlement rate. This may be from
              some information source (e.g. Reuters) or from a set of
              reference banks.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="quotationRateType" type="QuotationRateTypeEnum" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Which rate quote is to be observed, either Bid, Mid, Offer or
              Exercising Party Pays. The meaning of Exercising Party Pays
              is defined in the 2000 ISDA Definitions, Section 17.2.
              Certain Definitions Relating to Cash Settlement, paragraph
              (j)
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## ValuationScenarioReference

### Description:

Reference to a valuation scenario.

### Figure:

### Contents:

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

- Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor is defined.

### Used by:

- DerivedValuationScenario/baseValuationScenario
- SensitivityDefinition/valuationScenarioReference
- SensitivitySetDefinition/valuationScenarioReference
- Valuation/valuationScenarioReference
- ValuationSet/valuationScenarioReference

### Extension of:

- Reference

### Schema Fragment:

    <xsd:complexType name="ValuationScenarioReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reference to a valuation scenario.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Reference"/>
      </xsd:complexContent>
    </xsd:complexType>

# Global Elements

## americanExercise

### Description:

The parameters for defining the exercise period for an American style option together with any rules governing the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fees.

### Figure:

### Contents:

Element americanExercise is defined by the complex type AmericanExercise

### Used by:

### Schema Fragment:

    <xsd:element name="americanExercise" type="AmericanExercise" substitutionGroup="exercise">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The parameters for defining the exercise period for an American
          style option together with any rules governing the notional
          amount of the underlying which can be exercised on any given
          exercise date and any associated exercise fees.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>

## bermudaExercise

### Description:

The parameters for defining the exercise period for a Bermuda style option together with any rules governing the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fees.

### Figure:

### Contents:

Element bermudaExercise is defined by the complex type BermudaExercise

### Used by:

### Schema Fragment:

    <xsd:element name="bermudaExercise" type="BermudaExercise" substitutionGroup="exercise">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The parameters for defining the exercise period for a Bermuda
          style option together with any rules governing the notional
          amount of the underlying which can be exercised on any given
          exercise date and any associated exercise fees.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>

## europeanExercise

### Description:

The parameters for defining the exercise period for a European style option together with any rules governing the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fees.

### Figure:

### Contents:

Element europeanExercise is defined by the complex type EuropeanExercise

### Used by:

### Schema Fragment:

    <xsd:element name="europeanExercise" type="EuropeanExercise" substitutionGroup="exercise">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The parameters for defining the exercise period for a European
          style option together with any rules governing the notional
          amount of the underlying which can be exercised on any given
          exercise date and any associated exercise fees.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>

## exercise

### Description:

An placeholder for the actual option exercise definitions.

### Figure:

### Contents:

Element exercise is defined by the complex type Exercise

### Used by:

- CancelableProvision
- ExtendibleProvision
- OptionalEarlyTermination
- Swaption

### Substituted by:

- americanExercise
- bermudaExercise
- europeanExercise

### Schema Fragment:

    <xsd:element name="exercise" type="Exercise" abstract="true">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An placeholder for the actual option exercise definitions.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>

## product

### Description:

An abstract element used as a place holder for the substituting product elements.

### Figure:

### Contents:

Element product is defined by the complex type Product

### Used by:

- Contract
- RequestQuoteResponse
- Strategy
- Trade

### Substituted by:

- brokerEquityOption
- bulletPayment
- capFloor
- creditDefaultSwap
- equityForward
- equityOption
- equityOptionTransactionSupplement
- equitySwap
- equitySwapTransactionSupplement
- fra
- fxAverageRateOption
- fxBarrierOption
- fxDigitalOption
- fxSimpleOption
- fxSingleLeg
- fxSwap
- returnSwap
- strategy
- swap
- swaption
- termDeposit

### Schema Fragment:

    <xsd:element name="product" type="Product" abstract="true">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An abstract element used as a place holder for the substituting
          product elements.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>

# Groups

## BusinessCentersOrReference.model

### Description:

### Figure:

### Contents:

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

businessCentersReference (exactly one occurrence; of the type BusinessCentersReference)

- A pointer style reference to a set of financial business centers defined elsewhere in the document. This set of business centers is used to determine whether a particular day is a business day or not.

Or

businessCenters (exactly one occurrence; of the type BusinessCenters)

### Used by:

- BusinessCentersOrReference
- BusinessDateRange
- BusinessDayAdjustments
- FxFixingDate
- RelativeDateOffset
- RelativeDateSequence

### Schema Fragment:

    <xsd:group name="BusinessCentersOrReference.model">
      <xsd:choice>
        <xsd:element name="businessCentersReference" type="BusinessCentersReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A pointer style reference to a set of financial business
              centers defined elsewhere in the document. This set of
              business centers is used to determine whether a particular
              day is a business day or not.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="businessCenters" type="BusinessCenters"/>
      </xsd:choice>
    </xsd:group>

## BuyerSeller.model

### Description:

### Figure:

### Contents:

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.

### Used by:

- CancelableProvision
- EquityDerivativeBase
- ExtendibleProvision
- Fra
- FxAverageRateOption
- FxDigitalOption
- FxOptionLeg
- ReturnSwapBase
- SinglePartyOption
- Swaption

### Schema Fragment:

    <xsd:group name="BuyerSeller.model">
      <xsd:sequence>
        <xsd:element name="buyerPartyReference" type="PartyOrTradeSideReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              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.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="sellerPartyReference" type="PartyOrTradeSideReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              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.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:group>

## FloatingRate.model

### Description:

Elements representing the rate treatment and conditioning parameters that can be applied to a floating rate, such as spreads, multipliers, rate treatments, rate rounding, etc.

### Figure:

### Contents:

floatingRateMultiplierSchedule (zero or one occurrence; of the type Schedule)

- A rate multiplier or multiplier schedule to apply to the floating rate. A multiplier schedule is expressed as explicit multipliers and dates. In the case of a schedule, the step dates may be subject to adjustment in accordance with any adjustments specified in the calculationPeriodDatesAdjustments. The multiplier can be a positive or negative decimal. This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.

spreadSchedule (zero or more occurrences; of the type SpreadSchedule)

- The ISDA Spread or a Spread schedule expressed as explicit spreads and dates. In the case of a schedule, the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The spread is a per annum rate, expressed as a decimal. For purposes of determining a calculation period amount, if positive the spread will be added to the floating rate and if negative the spread will be subtracted from the floating rate. A positive 10 basis point (0.1%) spread would be represented as 0.001.

rateTreatment (zero or one occurrence; of the type RateTreatmentEnum)

- The specification of any rate conversion which needs to be applied to the observed rate before being used in any calculations. The two common conversions are for securities quoted on a bank discount basis which will need to be converted to either a Money Market Yield or Bond Equivalent Yield. See the Annex to the 2000 ISDA Definitions, Section 7.3. Certain General Definitions Relating to Floating Rate Options, paragraphs (g) and (h) for definitions of these terms.

capRateSchedule (zero or more occurrences; of the type StrikeSchedule)

- The cap rate or cap rate schedule, if any, which applies to the floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. A cap rate schedule is expressed as explicit cap rates and dates and the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05.

floorRateSchedule (zero or more occurrences; of the type StrikeSchedule)

- The floor rate or floor rate schedule, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. A floor rate schedule is expressed as explicit floor rates and dates and the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05.

### Used by:

- FloatingRate
- InflationRateCalculationBase
- StubFloatingRate

### Schema Fragment:

    <xsd:group name="FloatingRate.model">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Elements representing the rate treatment and conditioning
          parameters that can be applied to a floating rate, such as
          spreads, multipliers, rate treatments, rate rounding, etc.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="floatingRateMultiplierSchedule" type="Schedule" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A rate multiplier or multiplier schedule to apply to the
              floating rate. A multiplier schedule is expressed as explicit
              multipliers and dates. In the case of a schedule, the step
              dates may be subject to adjustment in accordance with any
              adjustments specified in the
              calculationPeriodDatesAdjustments. The multiplier can be a
              positive or negative decimal. This element should only be
              included if the multiplier is not equal to 1 (one) for the
              term of the stream.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="spreadSchedule" type="SpreadSchedule" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The ISDA Spread or a Spread schedule expressed as explicit
              spreads and dates. In the case of a schedule, the step dates
              may be subject to adjustment in accordance with any
              adjustments specified in calculationPeriodDatesAdjustments.
              The spread is a per annum rate, expressed as a decimal. For
              purposes of determining a calculation period amount, if
              positive the spread will be added to the floating rate and if
              negative the spread will be subtracted from the floating
              rate. A positive 10 basis point (0.1%) spread would be
              represented as 0.001.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="rateTreatment" type="RateTreatmentEnum" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The specification of any rate conversion which needs to be
              applied to the observed rate before being used in any
              calculations. The two common conversions are for securities
              quoted on a bank discount basis which will need to be
              converted to either a Money Market Yield or Bond Equivalent
              Yield. See the Annex to the 2000 ISDA Definitions, Section
              7.3. Certain General Definitions Relating to Floating Rate
              Options, paragraphs (g) and (h) for definitions of these
              terms.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="capRateSchedule" type="StrikeSchedule" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The cap rate or cap rate schedule, if any, which applies to
              the floating rate. The cap rate (strike) is only required
              where the floating rate on a swap stream is capped at a
              certain level. A cap rate schedule is expressed as explicit
              cap rates and dates and the step dates may be subject to
              adjustment in accordance with any adjustments specified in
              calculationPeriodDatesAdjustments. The cap rate is assumed to
              be exclusive of any spread and is a per annum rate, expressed
              as a decimal. A cap rate of 5% would be represented as 0.05.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="floorRateSchedule" type="StrikeSchedule" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The floor rate or floor rate schedule, if any, which applies
              to the floating rate. The floor rate (strike) is only
              required where the floating rate on a swap stream is floored
              at a certain strike level. A floor rate schedule is expressed
              as explicit floor rates and dates and the step dates may be
              subject to adjustment in accordance with any adjustments
              specified in calculationPeriodDatesAdjustments. The floor
              rate is assumed to be exclusive of any spread and is a per
              annum rate, expressed as a decimal. A floor rate of 5% would
              be represented as 0.05.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:group>

## FloatingRateCalculation.model

### Description:

Elements representing the daily calculated rate and fallback rate definitions.

### Figure:

### Contents:

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

- The initial floating rate reset agreed between the principal parties involved in the trade. This is assumed to be the first required reset rate for the first regular calculation period. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. An initial rate of 5% would be represented as 0.05.

finalRateRounding (zero or one occurrence; of the type Rounding)

- The rounding convention to apply to the final rate used in determination of a calculation period amount.

averagingMethod (zero or one occurrence; of the type AveragingMethodEnum)

- If averaging is applicable, this component specifies whether a weighted or unweighted average method of calculation is to be used. The component must only be included when averaging applies.

negativeInterestRateTreatment (zero or one occurrence; of the type NegativeInterestRateTreatmentEnum)

- The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate).

### Used by:

- FloatingRateCalculation
- InflationRateCalculationBase

### Schema Fragment:

    <xsd:group name="FloatingRateCalculation.model">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Elements representing the daily calculated rate and fallback rate
          definitions.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="initialRate" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The initial floating rate reset agreed between the principal
              parties involved in the trade. This is assumed to be the
              first required reset rate for the first regular calculation
              period. It should only be included when the rate is not equal
              to the rate published on the source implied by the floating
              rate index. An initial rate of 5% would be represented as
              0.05.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="finalRateRounding" type="Rounding" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The rounding convention to apply to the final rate used in
              determination of a calculation period amount.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="averagingMethod" type="AveragingMethodEnum" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              If averaging is applicable, this component specifies whether
              a weighted or unweighted average method of calculation is to
              be used. The component must only be included when averaging
              applies.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="negativeInterestRateTreatment" type="NegativeInterestRateTreatmentEnum" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The specification of any provisions for calculating payment
              obligations when a floating rate is negative (either due to a
              quoted negative floating rate or by operation of a spread
              that is subtracted from the floating rate).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:group>

## FloatingRateIndex.model

### Description:

### Figure:

### Contents:

floatingRateIndex (exactly one occurrence; of the type FloatingRateIndex)

- The ISDA Floating Rate Option, i.e. the name of the floating rate.

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

- The ISDA Designated Maturity, i.e. the tenor of the floating rate.

### Used by:

- FloatingRate
- InflationRateCalculationBase
- StubFloatingRate

### Schema Fragment:

    <xsd:group name="FloatingRateIndex.model">
      <xsd:sequence>
        <xsd:element name="floatingRateIndex" type="FloatingRateIndex" minOccurs="1">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The ISDA Floating Rate Option, i.e. the name of the floating
              rate.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="indexTenor" type="Interval" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The ISDA Designated Maturity, i.e. the tenor of the floating
              rate.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:group>

## ObservationParameters.model

### Description:

Definitions of daily cap and floor rates for floating rate indexes.

### Figure:

### Contents:

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

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

### Used by:

- CalculationParameters

### Schema Fragment:

    <xsd:group name="ObservationParameters.model">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Definitions of daily cap and floor rates for floating rate
          indexes.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="observationCapRate" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation>
              A maximum rate for an rate observation; optionally applied
              for daily averaged rates. These are described in the 2021
              ISDA Definitions in Section 7.2.4
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="observationFloorRate" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation>
              A minimum rate for an rate observation; optionally applied
              for daily averaged rates. These are described in the 2021
              ISDA Definitions in Section 7.2.3
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:group>

## PayerReceiver.model

### Description:

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

### Used by:

- EquityPremium
- ExerciseFee
- ExerciseFeeSchedule
- FeaturePayment
- FxOptionPremium
- GrossCashflow
- IndependentAmount
- InitialPayment
- InterestRateStream
- PassThroughItem
- Payment
- PaymentMatching
- PrePayment
- PrincipalExchangeDescriptions
- QuotablePayment
- ReturnSwapAdditionalPayment
- ReturnSwapLeg

### Schema Fragment:

    <xsd:group name="PayerReceiver.model">
      <xsd:sequence>
        <xsd:element name="payerPartyReference" type="PartyOrAccountReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A reference to the party responsible for making the payments
              defined by this structure.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="receiverPartyReference" type="PartyOrAccountReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A reference to the party that receives the payments
              corresponding to this structure.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:group>

## Product.model

### Description:

### Figure:

### Contents:

productType (zero or more occurrences; of the type ProductType)

- A classification of the type of product. FpML defines a simple product categorization using a coding scheme.

productId (zero or more occurrences; of the type ProductId)

- A product reference identifier allocated by a party. FpML does not define the domain values associated with this element. Note that the domain values for this element are not strictly an enumerated list.

### Used by:

- Product
- QuotableProduct

### Schema Fragment:

    <xsd:group name="Product.model">
      <xsd:sequence>
        <xsd:element name="productType" type="ProductType" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A classification of the type of product. FpML defines a
              simple product categorization using a coding scheme.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="productId" type="ProductId" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A product reference identifier allocated by a party. FpML
              does not define the domain values associated with this
              element. Note that the domain values for this element are not
              strictly an enumerated list.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:group>

## RoutingExplicitDetails.model

### Description:

### Figure:

### Contents:

routingName (exactly one occurrence; of the type xsd:string)

- A real name that is used to identify a party involved in the routing of a payment.

routingAddress (zero or one occurrence; of the type Address)

- A physical postal address via which a payment can be routed.

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

- An account number via which a payment can be routed.

routingReferenceText (zero or more occurrences; of the type xsd:string)

- A piece of free-format text used to assist the identification of a party involved in the routing of a payment.

### Used by:

- RoutingExplicitDetails
- RoutingIdsAndExplicitDetails

### Schema Fragment:

    <xsd:group name="RoutingExplicitDetails.model">
      <xsd:sequence>
        <xsd:element name="routingName" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A real name that is used to identify a party involved in the
              routing of a payment.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="routingAddress" type="Address" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A physical postal address via which a payment can be routed.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="routingAccountNumber" type="xsd:string" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An account number via which a payment can be routed.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="routingReferenceText" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A piece of free-format text used to assist the identification
              of a party involved in the routing of a payment.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:group>

# Full XML Schema

    <xsd:schema targetNamespace="http://www.fpml.org/2005/FpML-4-2" elementFormDefault="qualified" attributeFormDefault="unqualified" version="$Revision: 14517 $">
      <xsd:include schemaLocation="fpml-enum-4-2.xsd"/>
      <xsd:simpleType name="HourMinuteTime">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a time specified in hh:mm:ss format where the
            second component must be '00', e.g. 11am would be represented
            as 11:00:00.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:time">
          <xsd:pattern value="[0-2][0-9]:[0-5][0-9]:00"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="RestrictedPercentage">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a percentage specified as decimal from 0 to 1.
            A percentage of 5% would be represented as 0.05.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:decimal">
          <xsd:minInclusive value="0"/>
          <xsd:maxInclusive value="1"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="AccountReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference to an account.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Address">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that represents a physical postal address.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="streetAddress" type="StreetAddress" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The set of street and building number information that
                identifies a postal address within a city.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="city" type="xsd:string" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The city component of a postal address.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="state" type="xsd:string" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A country subdivision used in postal addresses in some
                countries. For example, US states, Canadian provinces,
                Swiss cantons.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="country" type="Country" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The ISO 3166 standard code for the country within which the
                postal address is located.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="postalCode" type="xsd:string" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The code, required for computerised mail sorting systems,
                that is allocated to a physical address by a national
                postal authority.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AdjustableDate">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type for defining a date that shall be subject to adjustment
            if it would otherwise fall on a day that is not a business day
            in the specified business centers, together with the convention
            for adjusting the date.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="unadjustedDate" type="IdentifiedDate">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A date subject to adjustment.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="dateAdjustments" type="BusinessDayAdjustments">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The business day convention and financial business centers
                used for adjusting the date if it would otherwise fall on a
                day that is not a business date in the specified business
                centers.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="AdjustableDate2">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that is different from AdjustableDate in two regards.
            First, date adjustments can be specified with either a
            dateAdjustments element or a reference to an existing
            dateAdjustments element. Second, it does not require the
            specification of date adjustments.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="unadjustedDate" type="IdentifiedDate">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A date subject to adjustment.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice minOccurs="0">
            <xsd:element name="dateAdjustments" type="BusinessDayAdjustments">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The business day convention and financial business
                  centers used for adjusting the date if it would otherwise
                  fall on a day that is not a business dat in the specified
                  business centers.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="dateAdjustmentsReference" type="BusinessDayAdjustmentsReference">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A pointer style reference to date adjustments defined
                  elsewhere in the document.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="AdjustableDates">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type for defining a series of dates that shall be subject to
            adjustment if they would otherwise fall on a day that is not a
            business day in the specified business centers, together with
            the convention for adjusting the dates.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="unadjustedDate" type="IdentifiedDate" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A date subject to adjustment.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="dateAdjustments" type="BusinessDayAdjustments">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The business day convention and financial business centers
                used for adjusting the date if it would otherwise fall on a
                day that is not a business dat in the specified business
                centers.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AdjustableOrRelativeDate">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type giving the choice between defining a date as an explicit
            date together with applicable adjustments or as relative to
            some other (anchor) date.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
          <xsd:element name="adjustableDate" type="AdjustableDate">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A date that shall be subject to adjustment if it would
                otherwise fall on a day that is not a business day in the
                specified business centers, together with the convention
                for adjusting the date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="relativeDate" type="RelativeDateOffset">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A date specified as some offset to another date (the anchor
                date).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="AdjustableOrRelativeDates">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type giving the choice between defining a series of dates as
            an explicit list of dates together with applicable adjustments
            or as relative to some other series of (anchor) dates.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
          <xsd:element name="adjustableDates" type="AdjustableDates">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A series of dates that shall be subject to adjustment if
                they would otherwise fall on a day that is not a business
                day in the specified business centers, together with the
                convention for adjusting the date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="relativeDates" type="RelativeDates">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A series of dates specified as some offset to another
                series of dates (the anchor dates).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="AdjustableRelativeOrPeriodicDates">
        <xsd:choice>
          <xsd:element name="adjustableDates" type="AdjustableDates">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A series of dates that shall be subject to adjustment if
                they would otherwise fall on a day that is not a business
                day in the specified business centers, together with the
                convention for adjusting the date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="relativeDateSequence" type="RelativeDateSequence">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A series of dates specified as some offset to other dates
                (the anchor dates) which can
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="periodicDates" type="PeriodicDates"/>
        </xsd:choice>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="AdjustedRelativeDateOffset">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a date (referred to as the derived date) as a
            relative offset from another date (referred to as the anchor
            date) plus optional date adjustments.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="RelativeDateOffset">
            <xsd:sequence>
              <xsd:element name="relativeDateAdjustments" type="BusinessDayAdjustments" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The business day convention and financial business
                    centers used for adjusting the relative date if it
                    would otherwise fall on a day that is not a business
                    date in the specified business centers.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="AmericanExercise">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the exercise period for an American style
            option together with any rules governing the notional amount of
            the underlying which can be exercised on any given exercise
            date and any associated exercise fees.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Exercise">
            <xsd:sequence>
              <xsd:element name="commencementDate" type="AdjustableOrRelativeDate">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The first day of the exercise period for an American
                    style option.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="expirationDate" type="AdjustableOrRelativeDate">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The last day within an exercise period for an American
                    style option. For a European style option it is the
                    only day within the exercise period.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="relevantUnderlyingDate" type="AdjustableOrRelativeDates" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The daye on the underlying set by the exercise of an
                    option. What this date is depends on the option (e.g.
                    in a swaption it is the effective date, in an
                    extendible/cancelable provision it is the termination
                    date).
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="earliestExerciseTime" type="BusinessCenterTime">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The earliest time at which notice of exercise can be
                    given by the buyer to the seller (or seller's agent) i)
                    on the expriation date, in the case of a European style
                    option, (ii) on each bermuda option exercise date and
                    the expiration date, in the case of a Bermuda style
                    option the commencement date to, and including, the
                    expiration date , in the case of an American option.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="latestExerciseTime" type="BusinessCenterTime" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    For a Bermuda or American style option, the latest time
                    on an exercise business day (excluding the expiration
                    date) within the exercise period that notice can be
                    given by the buyer to the seller or seller's agent.
                    Notice of exercise given after this time will be deemed
                    to have been given on the next exercise business day.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="expirationTime" type="BusinessCenterTime">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The latest time for exercise on expirationDate.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="multipleExercise" type="MultipleExercise" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    As defined in the 2000 ISDA Definitions, Section 12.4.
                    Multiple Exercise, the buyer of the option has the
                    right to exercise all or less than all the unexercised
                    notional amount of the underlying swap on one or more
                    days in the exercise period, but on any such day may
                    not exercise less than the minimum notional amount or
                    more that the maximum notional amount, and if an
                    integral multiple amount is specified, the notional
                    amount exercised must be equal to, or be an intergral
                    multiple of, the integral multiple amount.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="exerciseFeeSchedule" type="ExerciseFeeSchedule" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The fees associated with an exercise date. The fees are
                    conditional on the exercise occuring. The fees can be
                    specified as actual currency amounts or as percentages
                    of the notional amount being exercised.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="AmountReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Specifies a reference to a monetary amount.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="AmountSchedule">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a currency amount or a currency amount
            schedule.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Schedule">
            <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:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="AssetReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference to an underlying asset.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="AutomaticExercise">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type to define automatic exercise of a swaption. With
            automatic exercise the option is deemed to have exercised if it
            is in the money by more than the threshold amount on the
            exercise date.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="thresholdRate" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A threshold rate. The threshold of 0.10% would be
                represented as 0.001
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="BenchmarkRate">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The data type used for a benchmark rate (e.g. agreed discount
            rate or collateral interest rate).
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="benchmarkRateScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/benchmark-rate">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The identifier scheme used for this benchmark. This will
                  be defaulted to an ISDA benchmark scheme.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:attribute>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="Beneficiary">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the beneficiary of the funds.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Routing">
            <xsd:sequence>
              <xsd:element name="beneficiaryPartyReference" type="PartyReference" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Link to the party acting as beneficiary. This element
                    can only appear within the beneficiary container
                    element.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="BermudaExercise">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the Bermuda option exercise dates and the
            expiration date together with any rules govenerning the
            notional amount of the underlying which can be exercised on any
            given exercise date and any associated exercise fee.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Exercise">
            <xsd:sequence>
              <xsd:element name="bermudaExerciseDates" type="AdjustableOrRelativeDates">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The dates the define the Bermuda option exercise dates
                    and the expiration date. The last specified date is
                    assumed to be the expiration date. The dates can either
                    be specified as a series of explicit dates and
                    associated adjustments or as a series of dates defined
                    relative to another schedule of dates, for example, the
                    calculation period start dates. Where a relative series
                    of dates are defined the first and last possible
                    exercise dates can be separately specified.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="relevantUnderlyingDate" type="AdjustableOrRelativeDates" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The daye on the underlying set by the exercise of an
                    option. What this date is depends on the option (e.g.
                    in a swaption it is the effective date, in an
                    extendible/cancelable provision it is the termination
                    date).
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="earliestExerciseTime" type="BusinessCenterTime">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The earliest time at which notice of exercise can be
                    given by the buyer to the seller (or seller's agent) i)
                    on the expriation date, in the case of a European style
                    option, (ii) on each bermuda option exercise date and
                    the expiration date, in the case of a Bermuda style
                    option the commencement date to, and including, the
                    expiration date , in the case of an American option.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="latestExerciseTime" type="BusinessCenterTime" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    For a Bermuda or American style option, the latest time
                    on an exercise business day (excluding the expiration
                    date) within the exercise period that notice can be
                    given by the buyer to the seller or seller's agent.
                    Notice of exercise given after this time will be deemed
                    to have been given on the next exercise business day.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="expirationTime" type="BusinessCenterTime">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The latest time for exercise on expirationDate.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="multipleExercise" type="MultipleExercise" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    As defined in the 2000 ISDA Definitions, Section 12.4.
                    Multiple Exercise, the buyer of the option has the
                    right to exercise all or less than all the unexercised
                    notional amount of the underlying swap on one or more
                    days in the exercise period, but on any such day may
                    not exercise less than the minimum notional amount or
                    more that the maximum notional amount, and if an
                    integral multiple amount is specified, the notional
                    amount exercised must be equal to, or be an intergral
                    multiple of, the integral multiple amount.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="exerciseFeeSchedule" type="ExerciseFeeSchedule" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The fees associated with an exercise date. The fees are
                    conditional on the exercise occuring. The fees can be
                    specified as actual currency amounts or as percentages
                    of the notional amount being exercised.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="BrokerConfirmation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An entity for details on the broker confirm.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="brokerConfirmationType" type="BrokerConfirmationType">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The type of broker confirmation executed between the
                parties.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="BrokerConfirmationType">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="brokerConfirmationTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/broker-confirmation-type-3-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="BusinessCenter">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A code identifying a financial business center location. A
            business center is drawn from the list identified by the
            business center scheme.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="businessCenterScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/business-center-6-0"/>
            <xsd:attribute name="id" type="xsd:ID"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="BusinessCenters">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type for defining financial business centers used in
            determining whether a day is a business day or not. A list of
            business centers may be ordered in the document alphabetically
            based on business center code. An FpML document containing an
            unordered business center list is still regarded as a
            conformant document.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="businessCenter" type="BusinessCenter" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="BusinessCentersOrReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A pointer style reference to a set of business day calendar
            defined elsewhere in the document.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:group ref="BusinessCentersOrReference.model"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="BusinessCentersReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A pointer style reference to a set of financial business
            centers defined elsewhere in the document.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="BusinessCenterTime">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type for defining a time with respect to a business center
            location. For example, 11:00am London time.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="hourMinuteTime" type="HourMinuteTime">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A time specified in hh:mm:ss format where the second
                component must be '00', e.g. 11am would be represented as
                11:00:00.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="businessCenter" type="BusinessCenter"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="BusinessDateRange">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a range of contiguous business days by defining
            an unadjusted first date, an unadjusted last date and a
            business day convention and business centers for adjusting the
            first and last dates if they would otherwise fall on a non
            business day in the specified business centers. The days
            between the first and last date must also be good business days
            in the specified centers to be counted in the range.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="DateRange">
            <xsd:sequence>
              <xsd:element name="businessDayConvention" type="BusinessDayConventionEnum">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The convention for adjusting a date if it would
                    otherwise fall on a day that is not a business day.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:group ref="BusinessCentersOrReference.model" minOccurs="0"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="BusinessDayAdjustments">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the business day convention and financial
            business centers used for adjusting any relevant date if it
            would otherwise fall on a day that is not a business day in the
            specified business centers.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="businessDayConvention" type="BusinessDayConventionEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The convention for adjusting a date if it would otherwise
                fall on a day that is not a business day.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:group ref="BusinessCentersOrReference.model" minOccurs="0"/>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="BusinessDayAdjustmentsReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference to a business day adjustments structure.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="CalculationAgent">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the ISDA calcuation agent responsible for
            performing duties as defined in the applicable product
            definitions.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
          <xsd:element name="calculationAgentPartyReference" type="PartyReference" maxOccurs="unbounded">
            <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 ISDA
                Calculation Agent for the trade. If more than one party is
                referenced then the parties are assumed to be
                co-calculation agents, i.e. they have joint reponsibility.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="calculationAgentParty" type="CalculationAgentPartyEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The ISDA Calculation Agent where the actual party
                responsible for performing the duties associated with an
                optional early termination provision will be determined at
                exercise. For example, the Calculation Agent may be defined
                as being the Non-exercising Party.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
      <xsd:complexType name="CalculationParameters">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a rate that is calculated based on a number of
            observations of an underlying rate that are averaged or
            compounded using a specified method. These are sometimes called
            modular calculated rates. These are described in the 2021 ISDA
            Definitions in Section 7.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="calculationMethod" type="CalculationMethodEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the type of calculation, e.g. whether the
                calculation is a compounding or an averaging calculation.
                This element distinguishes between the applicable
                subsections of Section 7 (7.3, 7.4, and 7.7). If the
                calculationMethod is Componding or Averaging, this implies
                that a daily compounded calculation will be done, i.e. that
                the underlying rate will be observed eacy applicalbe
                business day during the observation period and then
                compounded or averaged. If it is CompoundedIndex, this
                means that the rate administrator is doing the compounding
                each day and publishing the resulting index value. In this
                case the calculation agent is responsible for observing the
                index and the start and at the end of the observation
                period, and then backing out the implied rate by following
                the formula in section 7.7. (This formula divides the index
                value at the end by the index value at the beginning,
                subtracts 1, and then scales the resulting value based on
                the year fraction to annualize the rate.) In other words,
                for CompoundedIndex the observation frequency is
                effectively 1T, where for Compounding and Averaging, it is
                1D.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="applicableBusinessDays" minOccurs="0" type="BusinessCentersOrReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the applicable business days to be used for this
                calculation. If omitted, the business days should be
                defaulted from the FRO Matrix, as represented in the FRO
                metadata. Failing that, it should be defaulted from the
                default business center for the relevant currency. See the
                ISDA 2021 Definitions Section 7.2.1.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice minOccurs="0">
            <xsd:element name="lookback" type="ObservationOffset">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Specifies that lookback calculation is in effect, and
                  supplies parameters needed to support that. See the ISDA
                  2021 Definitions Section 7.3.2 and 7.4.2. This should not
                  be used when the calculationMethod is CompoundedIndex.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="observationShift" type="ObservationShiftParameters">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Specifies that observation shift calculation is in
                  effect, and supplies parameters needed to support that.
                  See the ISDA 2021 Definitions Section 7.3.3 and 7.4.3 and
                  7.7.3.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="lockout" type="ObservationOffset">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Specifies that lockout calculation is in effect, and
                  supplies parameters needed to support that. See the ISDA
                  2021 Definitions Section 7.3.4 and 7.4.4. This should not
                  be used when the calculationMethod is CompoundedIndex.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:group ref="ObservationParameters.model" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies any parameters to be applied to each individual
                observation, such as caps or floors. This should not be
                used when the calculationMethod is CompoundedIndex.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:group>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="CalculationPeriodFrequency">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the frequency at which calculation period end
            dates occur within the regular part of the calculation period
            schedule and thier roll date convention.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Interval">
            <xsd:sequence>
              <xsd:element name="rollConvention" type="RollConventionEnum">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Used in conjunction with a frequency and the regular
                    period start date of a calculation period, determines
                    each calculation period end date within the regular
                    part of a calculation period schedule.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="CashflowType">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A coding scheme used to describe the type or purpose of a cash
            flow or cash flow component.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="cashflowTypeScheme" default="http://www.fpml.org/coding-scheme/cashflow-type-2-0" type="xsd:anyURI"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="CashSettlementReferenceBanks">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the list of reference institutions polled for
            relevant rates or prices when determining the cash settlement
            amount for a product where cash settlement is applicable.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="referenceBank" type="ReferenceBank" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An institution (party) identified by means of a coding
                scheme and an optional name.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="ClearanceSystem">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Unless otherwise specified, the principal clearance system
            customarily used for settling trades in the relevant
            underlying.
          </xsd:documentation>
          <xsd:documentation xml:lang="de">
            Sofern nicht anderweitig festgelegt, das Haupt-Clearingsystem,
            das Ã¼blicherweise fÃ¼r die Regulierung von GeschÃ¤ften im
            entsprechenden Basiswert verwendet wird.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="clearanceSystemScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/clearance-system-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="ContractualDefinitions">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="contractualDefinitionsScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/contractual-definitions-3-1"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="ContractualMatrix">
        <xsd:sequence>
          <xsd:element name="matrixType" type="MatrixType">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Identifies the form of applicable matrix.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="publicationDate" type="xsd:date" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the publication date of the applicable version of
                the matrix. When this element is omitted, the ISDA
                supplemental language for incorporation of the relevant
                matrix will generally define rules for which version of the
                matrix is applicable.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="matrixTerm" type="MatrixTerm" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Defines any applicable key into the relevant matrix. For
                example, the Transaction Type would be the single term
                required for the Credit Derivatives Physical Settlement
                Matrix. This element should be omitted in the case of the
                2000 ISDA Definitions Settlement Matrix for Early
                Termination and Swaptions.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ContractualSupplement">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="contractualSupplementScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/contractual-supplement-6-2"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="ContractualTermsSupplement">
        <xsd:sequence>
          <xsd:element name="type" type="ContractualSupplement">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Identifies the form of applicable contractual supplement.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="publicationDate" type="xsd:date" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the publication date of the applicable version of
                the contractual supplement.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="CorrespondentInformation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that describes the information to identify a
            correpondent correspondent bank that will make delivery of the
            funds on the paying bank's behalf in the country where the
            payment is to be made.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Routing">
            <xsd:sequence>
              <xsd:element name="correspondentPartyReference" type="PartyReference" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Link to the party acting as correspondent. This element
                    can only appear within the correspondentInformation
                    container element.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Country">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="countryScheme" type="xsd:anyURI" default="http://www.fpml.org/ext/iso3166"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="CreditSeniority">
        <xsd:annotation>
          <xsd:documentation source="http://www.FpML.org" xml:lang="en">
            The repayment precedence of a debt instrument.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="creditSeniorityScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/credit-seniority-1-0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  creditSeniorityTradingScheme overrides
                  creditSeniorityScheme when the underlyer defines the
                  reference obligation used in a single name credit default
                  swap trade.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:attribute>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="Currency">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="currencyScheme" type="xsd:anyURI" default="http://www.fpml.org/ext/iso4217-2001-08-15"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="DateList">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            List of Dates
          </xsd:documentation>
          <xsd:documentation xml:lang="de">
            Liste von Daten.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="date" type="xsd:date" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="DateOffset">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining an offset used in calculating a date when this
            date is defined in reference to another date through a date
            offset. The type includes the convention for adjusting the date
            and an optional sequence element to indicate the order in a
            sequence of multiple date offsets.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Offset">
            <xsd:sequence>
              <xsd:element name="businessDayConvention" type="BusinessDayConventionEnum">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The convention for adjusting a date if it would
                    otherwise fall on a day that is not a business day.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="sequence" type="xsd:integer" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Sequence in which the reference to the time period
                    multiplier should be applied.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="DateRange">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a contiguous series of calendar dates. The date
            range is defined as all the dates between and including the
            first and the last date. The first date must fall before the
            last date.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="unadjustedFirstDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The first date of a date range.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="unadjustedLastDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The last date of a date range.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="DateReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference to an identified date or complex date structure.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="DateTimeList">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            List of DateTimes
          </xsd:documentation>
          <xsd:documentation xml:lang="de">
            Liste von Daten und Zeitpunkten.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="dateTime" type="xsd:dateTime" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="DayCountFraction">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The specification for how the number of days between two dates
            is calculated for purposes of calculation of a fixed or
            floating payment amount and the basis for how many days are
            assumed to be in a year. Day Count Fraction is an ISDA term.
            The equivalent AFB (Association Francaise de Banques) term is
            Calculation Basis.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="dayCountFractionScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/day-count-fraction-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="DeterminationMethod">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Coding scheme that specifies the method according to which an
            amount or a date is determined.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="determinationMethodScheme" type="xsd:anyURI"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="DividendConditions">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type describing the conditions governing the payment of
            dividends to the receiver of the equity return. With the
            exception of the dividend payout ratio, which is defined for
            each of the underlying components.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="dividendReinvestment" type="xsd:boolean" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Boolean element that defines whether the dividend will be
                reinvested or not.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="dividendEntitlement" type="DividendEntitlementEnum" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Defines the date on which the receiver on the equity return
                is entitled to the dividend.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="dividendAmount" type="DividendAmountTypeEnum" minOccurs="0"/>
          <xsd:element name="dividendPaymentDate" type="DividendPaymentDate" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies when the dividend will be paid to the receiver of
                the equity return. Has the meaning as defined in the ISDA
                2002 Equity Derivatives Definitions. Is not applicable in
                the case of a dividend reinvestment election.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice>
            <xsd:sequence>
              <xsd:element name="dividendPeriodEffectiveDate" type="DateReference" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Dividend period has the meaning as defined in the ISDA
                    2002 Equity Derivatives Definitions. This element
                    specifies the date on which the dividend period will
                    commence.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="dividendPeriodEndDate" type="DateReference" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Dividend period has the meaning as defined in the ISDA
                    2002 Equity Derivatives Definitions. This element
                    specifies the date on which the dividend period will
                    end. It includes a boolean attribute for defining
                    whether this end date is included or excluded from the
                    dividend period.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
            <xsd:element name="dividendPeriod" type="DividendPeriodEnum">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Defines the First Period or the Second Period, as defined
                  in the 2002 ISDA Equity Derivatives Definitions.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:element name="extraOrdinaryDividends" type="PartyReference" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Reference to the party which determines if dividends are
                extraordinary in relation to normal levels.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="excessDividendAmount" type="DividendAmountTypeEnum" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Determination of Gross Cash Dividend per Share
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="paymentCurrency" type="PaymentCurrency" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Currency in which the payment relating to the leg amount
                (equity amount or interest amount) or the dividend will be
                denominated.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="dividendFxTriggerDate" type="DividendPaymentDate" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the date on which the FX rate will be considered
                in the case of a Composite FX swap.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="interestAccrualsMethod" type="InterestAccrualsCompoundingMethod" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Defines the way in which interests are accrued: the
                applicable rate (fixed or floating reference) and the
                compounding method.
              </xsd:documentation>
              <xsd:documentation xml:lang="en">
                FpML entity
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="DividendPaymentDate">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type describing the date on which the dividend will be
            paid/received. This type is also used to specify the date on
            which the FX rate will be determined, when applicable.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
          <xsd:element name="dividendDateReference" type="DividendDateReferenceEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Reference to a dividend date, either the pay date, the ex
                date or the record date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="adjustableDate" type="AdjustableDate">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A date that shall be subject to adjustment if it would
                otherwise fall on a day that is not a business day in the
                specified business centers, together with the convention
                for adjusting the date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
      <xsd:complexType name="Documentation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An entity for defining the definitions that govern the document
            and should include the year and type of definitions referenced,
            along with any relevant documentation (such as master
            agreement) and the date it was signed.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="masterAgreement" type="MasterAgreement" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The agreement executed between the parties and intended to
                govern all OTC derivatives transactions between those
                parties.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice minOccurs="0">
            <xsd:element name="masterConfirmation" type="MasterConfirmation">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The agreement executed between the parties and intended
                  to govern all OTC derivatives transactions between those
                  parties.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="brokerConfirmation" type="BrokerConfirmation">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Specifies the deails for a broker confirm.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:element name="contractualDefinitions" type="ContractualDefinitions" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The definitions (such as those published by ISDA) published
                by ISDA that will define the terms of the trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice>
            <xsd:element name="contractualSupplement" type="ContractualSupplement" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  DEPRECATED - This element will be removed in the next
                  major version of FpML. The element
                  contractualTermsSupplement should be used instead.
                  Definition: A contractual supplement (such as those
                  published by ISDA) that will apply to the trade.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="contractualTermsSupplement" type="ContractualTermsSupplement" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A contractual supplement (such as those published by
                  ISDA) that will apply to the trade.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:element name="contractualMatrix" type="ContractualMatrix" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A reference to a contractual matrix of elected terms/values
                (such as those published by ISDA) that shall be deemed to
                apply to the trade. The applicable matrix is identified by
                reference to a name and optionally a publication date.
                Depending on the structure of the matrix, an additional
                term (specified in the matrixTerm element) may be required
                to further identify a subset of applicable terms/values
                within the matrix.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="creditSupportDocument" type="xsd:normalizedString" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The agreement executed between the parties and intended to
                govern collateral arrangement for all OTC derivatives
                transactions between those parties.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="Empty">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A special type meant to be used for elements with no content
            and not attributes.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:complexType>
      <xsd:complexType name="EntityId">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="entityIdScheme" type="xsd:anyURI" default="http://www.fpml.org/spec/2003/entity-id-RED-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="EntityName">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="entityNameScheme" type="xsd:anyURI" default="http://www.fpml.org/spec/2003/entity-name-RED-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="EuropeanExercise">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the exercise period for a European style option
            together with any rules governing the notional amount of the
            underlying which can be exercised on any given exercise date
            and any associated exercise fees.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Exercise">
            <xsd:sequence>
              <xsd:element name="expirationDate" type="AdjustableOrRelativeDate">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The last day within an exercise period for an American
                    style option. For a European style option it is the
                    only day within the exercise period.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="relevantUnderlyingDate" type="AdjustableOrRelativeDates" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The daye on the underlying set by the exercise of an
                    option. What this date is depends on the option (e.g.
                    in a swaption it is the effective date, in an
                    extendible/cancelable provision it is the termination
                    date).
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="earliestExerciseTime" type="BusinessCenterTime">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The earliest time at which notice of exercise can be
                    given by the buyer to the seller (or seller's agent) i)
                    on the expriation date, in the case of a European style
                    option, (ii) on each bermuda option exercise date and
                    the expiration date, in the case of a Bermuda style
                    option the commencement date to, and including, the
                    expiration date , in the case of an American option.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="expirationTime" type="BusinessCenterTime">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The latest time for exercise on expirationDate.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="partialExercise" type="PartialExercise" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    As defined in the 2000 ISDA Definitions, Section 12.3.
                    Partial Exercise, the buyer of the option has the right
                    to exercise all or less than all the notional amount of
                    the underlying swap on the expiration date, but may not
                    exercise less than the minimum notional amount, and if
                    an integral multiple amount is specified, the notional
                    amount exercised must be equal to, or be an integral
                    multiple of, the integral multiple amount.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="exerciseFee" type="ExerciseFee" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A fee to be paid on exercise. This could be represented
                    as an amount or a rate and notional reference on which
                    to apply the rate.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="ExchangeId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A short form unique identifier for an exchange. If the element
            is not present then the exchange shall be the primary exchange
            on which the underlying is listed. The term "Exchange" is
            assumed to have the meaning as defined in the ISDA 2002 Equity
            Derivatives Definitions.
          </xsd:documentation>
          <xsd:documentation xml:lang="de">
            Eindeutiges BÃ¶rsenkÃ¼rzel. Fehlt dieses Element, gilt die
            HauptbÃ¶rse, an der der Basiswert notiert ist, als "BÃ¶rse" im
            Sinne der ISDA-Definitionen zu Aktienderivaten von 2002.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="exchangeIdScheme" type="xsd:anyURI" default="http://www.fpml.org/spec/2002/exchange-id-MIC-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="Exercise">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The abstract base class for all types which define way in which
            options may be exercised.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="ExerciseFee">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the fee payable on exercise of an option. This
            fee may be defined as an amount or a percentage of the notional
            exercised.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:group ref="PayerReceiver.model"/>
          <xsd:element name="notionalReference" type="ScheduleReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A pointer style reference to the associated notional
                schedule defined elsewhere in the document.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice>
            <xsd:element name="feeAmount" type="xsd:decimal">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The amount of fee to be paid on exercise. The fee
                  currency is that of the referenced notional.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="feeRate" type="xsd:decimal">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A fee represented as a percentage of some referenced
                  notional. A percentage of 5% would be represented as
                  0.05.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:element name="feePaymentDate" type="RelativeDateOffset">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date on which exercise fee(s) will be paid. It is
                specified as a relative date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ExerciseFeeSchedule">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type to define a fee or schedule of fees to be payable on the
            exercise of an option. This fee may be defined as an amount or
            a percentage of the notional exercised.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:group ref="PayerReceiver.model"/>
          <xsd:element name="notionalReference" type="ScheduleReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A pointer style reference to the associated notional
                schedule defined elsewhere in the document.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice>
            <xsd:element name="feeAmountSchedule" type="AmountSchedule">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The exercise fee amount schedule. The fees are expressed
                  as currency amounts. The currency of the fee is assumed
                  to be that of the notional schedule referenced.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="feeRateSchedule" type="Schedule">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The exercise free rate schedule. The fees are expressed
                  as percentage rates of the notional being exercised. The
                  currency of the fee is assumed to be that of the notional
                  schedule referenced.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:element name="feePaymentDate" type="RelativeDateOffset">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date on which exercise fee(s) will be paid. It is
                specified as a relative date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ExerciseNotice">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining to whom and where notice of execution should be
            given. The partyReference refers to one of the principal
            parties of the trade. If present the
            exerciseNoticePartyReference refers to a party, other than the
            principal party, to whome notice should be given.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="partyReference" type="PartyReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The party referenced has allocated the trade identifier.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="exerciseNoticePartyReference" type="PartyReference" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The party referenced is the party to which notice of
                exercise should be given by the buyer.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="businessCenter" type="BusinessCenter"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ExerciseProcedure">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type describing how notice of exercise should be given. This
            can be either manual or automatic.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:choice>
            <xsd:element name="manualExercise" type="ManualExercise">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Specifies that the notice of exercise must be given by
                  the buyer to the seller or seller's agent.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="automaticExercise" type="AutomaticExercise">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  If automatic is specified then the notional amount of the
                  underlying swap, not previously exercised under the
                  swaption will be automatically exercised at the
                  expriration time on the expiration date if at such time
                  the buyer is in-the-money, provided that the difference
                  between the settlement rate and the fixed rate under the
                  relevant underlying swap is not less than the specified
                  threshold rate. The term in-the-money is assumed to have
                  the meaning defining in the 2000 ISDA Definitions,
                  Section 17.4 In-the-money.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:element name="followUpConfirmation" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A flag to indicate whether follow-up confirmation of
                exercise (written or electronic) is required following
                telephonic notice by the buyer to the seller or seller's
                agent.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="FallbackRate">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Defines a fallback rate, which is a rate to be used in place of
            a publish term rate (such as an ibor rate) when that term rate
            ceases to be usable, whether because it ceases to be published
            or is deemed non-representative by regulator.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
          <xsd:element name="effectiveDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date upon which the fallback rate becomes effective.
                This means that any rate observation for that date or for
                any subsequent date would use the fallback rate rather than
                the originally defined rate. This date will typically
                immediately follow the cessation of publication of the
                original term rate but could occur before that (e.g. if the
                original rate is deemed non-representative prior to
                cessation of publication). If the effective date occurs
                within a calculation period with multiple rate observations
                (because of averaging), observations prior to the effective
                date will use the original floating rate index, and
                observations on or after the effective date will use the
                fallback rate.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:sequence>
            <xsd:element name="floatingRateIndex" type="FloatingRateIndex">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The benchmark rate used for computing the fallback rate.
                  Typically this will be a risk-free overnight rate.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="effectiveDate" type="xsd:date" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The date upon which the fallback rate becomes effective.
                  This means that any rate observation for that date or for
                  any subsequent date would use the fallback rate rather
                  than the originally defined rate. This date will
                  typically immediately follow the cessation of publication
                  of the original term rate but could occur before that
                  (e.g. if the original rate is deemed non-representative
                  prior to cessation of publication). If the effective date
                  occurs within a calculation period with multiple rate
                  observations (because of averaging), observations prior
                  to the effective date will use the original floating rate
                  index, and observations on or after the effective date
                  will use the fallback rate.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="calculationParameters" type="CalculationParameters" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  This provides a representation of the approximate value
                  of the fallback rate, i.e. a calculated rate that quite
                  closely mimics the value anticipated to be published by
                  the fallback rate administrator (once the spread
                  adjustment is added).
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="spreadAdjustment" type="xsd:decimal" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  An amount to be added to the calculated value before
                  subsequent use, in order to more closely replicate the
                  original term rate, by adjusting for the economic or
                  credit spread between risk-free rates and risky term
                  rates.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:choice>
        <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      </xsd:complexType>
      <xsd:complexType name="FallbackRateObservation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining parameters associated with a fallback
            observation, i.e. a rate observation where the original
            published rate is not available and instead a fallback rate
            must be used.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="observationDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date which is the Fallback Observation Date, as defined
                in the ISDA 2006/2021 Definitions (typically 2 days prior
                to the relevant Payment/calculation date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="availableRecordDate" type="xsd:date" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The original record date from the fallback publication
                source that was available at the time that fallback rate
                was observed. This may be before the original fixing date
                depending on publication schedules
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="FloatingRate">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a floating rate.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Rate">
            <xsd:sequence>
              <xsd:group ref="FloatingRateIndex.model"/>
              <xsd:element name="calculationParameters" type="CalculationParameters" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Parameters to specify a rate calculated using an
                    averaging or compounding formula, as described in the
                    2021 ISDA Defintions, section 7. Please note that when
                    this structure is used, the "resetDates" structure will
                    not be used. Instead, the observation rules for the
                    calculated rate are defined within the structure.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="fallbackRate" type="FallbackRate" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A fallback rate calculated using an averaging or
                    compounding formula to be used in case of the cessation
                    of the original term rate. This structure is provided
                    to 1) allow a message sender to report that a fallback
                    is effect, and/or 2) allow an approximate
                    representation to be created for published fallback
                    rates to allow operations such as valuation, accrual
                    calculation, and risk calculation.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:group ref="FloatingRate.model"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="FloatingRateCalculation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the floating rate and definitions relating to
            the calculation of floating rate amounts.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="FloatingRate">
            <xsd:sequence>
              <xsd:group ref="FloatingRateCalculation.model"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="FloatingRateIndex">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The ISDA Floating Rate Option, i.e. the floating rate index.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="floatingRateIndexScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/floating-rate-index-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="ForecastRateIndex">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a rate index.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="floatingRateIndex" type="FloatingRateIndex">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The ISDA Floating Rate Option, i.e. the floating rate
                index.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="indexTenor" type="Interval">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The ISDA Designated Maturity, i.e. the tenor of the
                floating rate.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="Formula">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type describing a financial formula, with its description and
            components.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="formulaDescription" type="xsd:string" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Text description of the formula
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="math" type="Math" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An element for containing an XML representation of the
                formula. Defined using xsd:any currently for flexibility in
                choice of language (MathML, OpenMath)
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="formulaComponent" type="FormulaComponent" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Elements describing the components of the formula. The name
                attribute points to a value used in the math element. The
                href attribute points to a value elsewhere in the document
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="FormulaComponent">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Elements describing the components of the formula. The name
            attribute points to a value used in the math element. The href
            attribute points to a numeric value defined elsewhere in the
            document that is used by the formula component.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="componentDescription" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Text description of the component
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="formula" type="Formula" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Additional formulas required to describe this component
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="name" type="xsd:normalizedString"/>
        <xsd:attribute name="href" type="xsd:IDREF">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Pointer to a numeric value defined elsewhere in the document
              that is used by the formula component.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:complexType>
      <xsd:complexType name="FxCashSettlement">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that is used for describing cash settlement of an option
            / non deliverable forward. It includes the currency to settle
            into together with the fixings required to calculate the
            currency amount.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="settlementCurrency" type="Currency">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The currency in which a cash settlement for non-deliverable
                forward and non-deliverable options.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fixing" type="FxFixing" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the source for and timing of a fixing of an
                exchange rate. This is used in the agreement of
                non-deliverable forward trades as well as various types of
                FX OTC options that require observations against a
                particular rate.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="FxFixing">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that specifies the source for and timing of a fixing of
            an exchange rate. This is used in the agreement of
            non-deliverable forward trades as well as various types of FX
            OTC options that require observations against a particular
            rate.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="FxSpotRateSource">
            <xsd:sequence>
              <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="fixingDate" type="xsd:date">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Describes the specific date when a non-deliverable
                    forward or non-deliverable option will "fix" against a
                    particular rate, which will be used to compute the
                    ultimate cash settlement.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="FxRate">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type describing the rate of a currency conversion: pair of
            currency, quotation mode and exchange rate.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <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="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:sequence>
      </xsd:complexType>
      <xsd:complexType name="FxSpotRateSource">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the source and time for an fx rate.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <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:sequence>
      </xsd:complexType>
      <xsd:complexType name="GoverningLaw">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Identification of the law governing the transaction.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="governingLawScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/governing-law-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="IdentifiedCurrency">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Specifies Currency with ID attribute.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="Currency">
            <xsd:attribute name="id" type="xsd:ID"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="IdentifiedDate">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A date which can be referenced elsewhere.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:date">
            <xsd:attribute name="id" type="xsd:ID"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="IdentifiedPayerReceiver">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type extending the PayerReceiverEnum type wih an id
            attribute.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="PayerReceiverEnum">
            <xsd:attribute name="id" type="xsd:ID"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="InflationRateCalculationBase">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the floating rate and definitions relating to
            the calculation of floating rate amounts. This type mimics the
            "FloatingRateCalculation" type but excludes the option of
            defining modular calculated rates and fallback rates. It
            provides an extension point for the InflationRateCalculation
            which does not require those features.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Rate">
            <xsd:sequence>
              <xsd:group ref="FloatingRateIndex.model"/>
              <xsd:group ref="FloatingRate.model"/>
              <xsd:group ref="FloatingRateCalculation.model"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="InformationProvider">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="informationProviderScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/information-provider-2-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="InformationSource">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the source for a piece of information (e.g. a
            rate refix or an fx fixing).
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="rateSource" type="InformationProvider">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An information source for obtaining a market rate. For
                example Bloomberg, Reuters, Telerate etc.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="rateSourcePage" type="RateSourcePage" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A specific page for the rate source for obtaining a market
                rate.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="rateSourcePageHeading" type="xsd:string" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The heading for the rate source on a given rate source
                page.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="InstrumentId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A short form unique identifier for a security.
          </xsd:documentation>
          <xsd:documentation xml:lang="de">
            Eindeutiges WertpapierkÃ¼rzel.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="instrumentIdScheme" type="xsd:anyURI" use="required"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="InterestAccrualsCompoundingMethod">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the way in which interests are accrued: the
            applicable rate (fixed or floating reference) and the
            compounding method.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="InterestAccrualsMethod">
            <xsd:sequence minOccurs="0">
              <xsd:element name="compoundingMethod" type="CompoundingMethodEnum">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    If more that one calculation period contributes to a
                    single payment amount this element specifies whether
                    compounding is applicable, and if so, what compounding
                    method is to be used. This element must only be
                    included when more that one calculation period
                    contributes to a single payment amount.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="InterestAccrualsMethod">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type describing the method for accruing interests on
            dividends. Can be either a fixed rate reference or a floating
            rate reference.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
          <xsd:element name="floatingRateCalculation" type="FloatingRateCalculation">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The floating rate calculation definitions
              </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:choice>
      </xsd:complexType>
      <xsd:complexType name="IntermediaryInformation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that describes the information to identify an
            intermediary through which payment will be made by the
            correspondent bank to the ultimate beneficiary of the funds.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Routing">
            <xsd:sequence>
              <xsd:element name="intermediarySequenceNumber" type="xsd:integer">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A sequence number that gives the position of the
                    current intermediary in the chain of payment
                    intermediaries. The assumed domain value set is an
                    ascending sequence of integers starting from 1.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="intermediaryPartyReference" type="PartyReference" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Reference to the party acting as intermediary.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Interval">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a time interval or offset, e.g. one day, three
            months. Used for specifying frequencies at which events occur,
            the tenor of a floating rate or an offset relative to another
            date.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="periodMultiplier" type="xsd:integer">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A time period multiplier, e.g. 1, 2 or 3 etc. A negative
                value can be used when specifying an offset relative to
                another date, e.g. -2 days. If the period value is T (Term)
                then periodMultiplier must contain the value 1.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="period" type="PeriodEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A time period, e.g. a day, week, month, year or term of the
                stream. If the periodMultiplier value is 0 (zero) then
                period must contain the value D (day).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="LegalEntity">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a legal entity.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
          <xsd:sequence>
            <xsd:element name="entityName" type="EntityName">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The name of the party. A free format string. FpML does
                  not define usage rules for this element.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="entityId" type="EntityId" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A legal entity identifier (e.g. RED entity code)..
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
          <xsd:element name="entityId" type="EntityId" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A legal entity identifier (e.g. RED entity code)..
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="LegalEntityReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            References a credit entity defined elsewhere in the document.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="MainPublication">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type to define the main publication source.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="mainPublicationScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/inflation-main-publication-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="ManualExercise">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining manual exercise, i.e. that the option buyer
            counterparty must give notice to the option seller of exercise.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="exerciseNotice" type="ExerciseNotice" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Definition of the party to whom notice of exercise should
                be given.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fallbackExercise" type="xsd:boolean" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                If fallback exercise is specified then the notional amount
                of the underlying swap, not previously exercised under the
                swaption, will be automatically exercised at the expiration
                time on the expiration date if at such time the buyer is
                in-the-money, provided that the difference between the
                settlement rate and the fixed rate under the relevant
                underlying swap is not less than one tenth of a percentage
                point (0.10% or 0.001). The term in-the-money is assumed to
                have the meaning defined in the 2000 ISDA Definitions,
                Section 17.4. In-the-money.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="MasterAgreement">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An entity for defining the agreement executed between the
            parties and intended to govern all OTC derivatives transactions
            between those parties.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="masterAgreementType" type="MasterAgreementType">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The agreement executed between the parties and intended to
                govern product-specific derivatives transactions between
                those parties.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="masterAgreementDate" type="xsd:date" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date on which the master agreement was signed.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="MasterAgreementType">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="masterAgreementTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/master-agreement-type-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="MasterConfirmation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An entity for defining the master confirmation agreement
            executed between the parties.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="masterConfirmationType" type="MasterConfirmationType">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The type of master confirmation executed between the
                parties.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="masterConfirmationDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date of the confirmation executed between the parties
                and intended to govern all relevant transactions between
                those parties.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="masterConfirmationAnnexDate" type="xsd:date" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date that an annex to the master confirmation was
                executed between the parties.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="MasterConfirmationType">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="masterConfirmationTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/master-confirmation-type-5-1"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="Math" mixed="true">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a mathematical expression.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:any namespace="##any" processContents="skip" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="MatrixType">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="matrixTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/matrix-type-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="MatrixTerm">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="matrixTermScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/credit-matrix-transaction-type-2-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="Money">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a currency amount.
          </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="amount" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The monetary quantity in currency units.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="MultipleExercise">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining multiple exercises. As defining in the 2000
            ISDA Definitions, Section 12.4. Multiple Exercise, the buyer of
            the option has the right to exercise all or less than all the
            unexercised notional amount of the underlying swap on one or
            more days in the exercise period, but on any such day may not
            exercise less than the minimum notional amount or more than the
            maximum notional amount, and if an integral multiple amount is
            specified, the notional exercised must be equal to or, be an
            integral multiple of, the integral multiple amount.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="PartialExercise">
            <xsd:sequence>
              <xsd:element name="maximumNotionalAmount" type="xsd:decimal" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The maximum notional amount that can be exercised on a
                    given exercise date.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="MutuallyAgreedClearinghouse">
        <xsd:choice>
          <xsd:element name="partyReference" type="PartyReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A reference to the party structure for the clearinghouse
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="identifier" type="OrganizationIdentifier">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A string that identifies the clearinghouse
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
      <xsd:complexType name="NotionalAmountReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference to the notional amount.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="ObservationOffset">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that allows an offset specified in business days to be
            applied for an observation shift, lookback, or lockout
            provision.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="offsetDays" type="xsd:nonNegativeInteger" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The number of business days before the base date that the
                observations are to be shifted. If this element is omitted,
                the number of offset days will be as specified in the 2021
                ISDA Definitions, which is typically 5.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ObservationShiftParameters">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Specifies parameters specific to the observation shift method
            of compounding/averaging.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="ObservationOffset">
            <xsd:sequence>
              <xsd:element name="observationPeriodDates" type="ObservationPeriodDatesEnum">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Specifies how the observation period is to be
                    determined relative to the basic calculation period.
                    Options include "standard" (observation period aligns
                    with the calculation period except for any
                    shifts/lookbacks/lockouts, i.e. it is set in arrears),
                    "InAdvance" (observation period is based on the prior
                    or deemed prior calculation period plus any shifts), or
                    "FixingDate" (observation period is based on a fixing
                    date defined the the FpML resetDates structure; this is
                    used only for fallback rate definitions that reference
                    existing resetDates structures.).
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="additionalBusinessDays" minOccurs="0" type="BusinessCentersOrReference">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Any additional business centers that are applicable to
                    the observation shift calculation, in addition to the
                    regular "applicableBusinessDays".
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Offset">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining an offset used in calculating a new date
            relative to a reference date. Currently, the only offsets
            defined are expected to be expressed as either calendar or
            business day offsets.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Interval">
            <xsd:sequence>
              <xsd:element name="dayType" type="DayTypeEnum" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    In the case of an offset specified as a number of days,
                    this element defines whether consideration is given as
                    to whether a day is a good business day or not. If a
                    day type of business days is specified then
                    non-business days are ignored when calculating the
                    offset. The financial business centers to use for
                    determination of business days are implied by the
                    context in which this element is used. This element
                    must only be included when the offset is specified as a
                    number of days. If the offset is zero days then the
                    dayType element should not be included.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="OrganizationIdentifier">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The data type used for a generic, user-defined identifier for
            an organization, where a full party structure is not desired or
            required.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="idScheme" type="xsd:anyURI" use="optional">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The identifier scheme used with this generic identifier.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:attribute>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="PartialExercise">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining partial exercise. As defined in the 2000 ISDA
            Definitions, Section 12.3 Partial Exercise, the buyer of the
            option may exercise all or less than all the notional amount of
            the underlying swap but may not be less than the minimum
            notional amount (if specified) and must be an integral multiple
            of the integral multiple amount if specified.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="notionalReference" type="ScheduleReference" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A pointer style reference to the associated notional
                schedule defined elsewhere in the document.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="integralMultipleAmount" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A notional amount which restricts the amount of notional
                that can be exercised when partial exercise or multiple
                exercise is applicable. The integral multiple amount
                defines a lower limit of notional that can be exercised and
                also defines a unit multiple of notional that can be
                exercised, i.e. only integer multiples of this amount can
                be exercised.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="minimumNotionalAmount" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The minimum notional amount that can be exercised on a
                given exercise date. See multipleExercise.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="PartyOrAccountReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference to a party or an account.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="PartyOrTradeSideReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference to a party or tradeSide.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="PartyReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference to a party.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Payment">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type for defining payments
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:group ref="PayerReceiver.model"/>
          <xsd:element name="paymentAmount" type="Money">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The currency amount of the payment.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="paymentDate" type="AdjustableDate" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The payment date. This date is subject to adjustment in
                accordance with any applicable business day convention.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="adjustedPaymentDate" type="IdentifiedDate" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The adjusted payment date. This date should already be
                adjusted for any applicable business day convention. This
                component is not intended for use in trade confirmation but
                my be specified to allow the fee structure to also serve as
                a cashflow type component (all dates the the Cashflows type
                are adjusted payment dates).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="paymentType" type="PaymentType" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A classification of the type of fee or additional payment,
                e.g. brokerage, upfront fee etc. FpML does not define
                domain values for this element.
              </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="discountFactor" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The value representing the discount factor used to
                calculate the present value of the cash flow.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="presentValueAmount" type="Money" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The amount representing the present value of the forecast
                payment.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="href" type="xsd:IDREF">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Can be used to reference the yield curve used to estimate the
              discount factor
            </xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:complexType>
      <xsd:complexType name="PaymentCurrency">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type describing the currency in which the payment relating to
            the leg amount (equity amount or interest amount) or the
            dividend will be denominated.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:choice minOccurs="0">
          <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="determinationMethod" type="DeterminationMethod">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the method according to which an amount or a date
                is determined.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:attribute name="id" type="xsd:ID"/>
        <xsd:attribute name="href" type="xsd:IDREF"/>
      </xsd:complexType>
      <xsd:complexType name="PaymentType">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="paymentTypeScheme" type="xsd:anyURI"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="PeriodicDates">
        <xsd:sequence>
          <xsd:element name="calculationStartDate" type="AdjustableOrRelativeDate"/>
          <xsd:element name="calculationEndDate" type="AdjustableOrRelativeDate" minOccurs="0"/>
          <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:element name="calculationPeriodDatesAdjustments" type="BusinessDayAdjustments">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The business day convention to apply to each calculation
                period end date if it would otherwise fall on a day that is
                not a business day in the specified financial business
                centers.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="PrincipalExchanges">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining which principal exchanges occur for the stream.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="initialExchange" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A true/false flag to indicate whether there is an initial
                exchange of principal on the effective date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="finalExchange" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A true/false flag to indicate whether there is a final
                exchange of principal on the termination date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="intermediateExchange" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A true/false flag to indicate whether there are
                intermediate or interim exchanges of principal during the
                term of the swap.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      </xsd:complexType>
      <xsd:complexType name="Product" abstract="true">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The base type which all FpML products extend.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:group ref="Product.model"/>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="ProductId">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="productIdScheme" type="xsd:anyURI"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="ProductReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference to a full FpML product.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="ProductType">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="productTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/product-type-simple-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="QuotedCurrencyPair">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that describes the composition of a rate that has been
            quoted or is to be quoted. This includes the two currencies and
            the quotation relationship between the two currencies and is
            used as a building block throughout the FX specification.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="currency1" type="Currency">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The first currency specified when a pair of currencies is
                to be evaluated.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="currency2" type="Currency">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The second currency specified when a pair of currencies is
                to be evaluated.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="quoteBasis" type="QuoteBasisEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The method by which the exchange rate is quoted.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="Rate" abstract="true">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The abstract base class for all types which define interest
            rate streams.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="RateReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference to any rate (floating, inflation) derived from the
            abstract Rate component.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="RateObservation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining parameters associated with an individual
            observation or fixing. This type forms part of the cashflow
            representation of a stream.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="resetDate" type="xsd:date" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The reset date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="adjustedFixingDate" type="xsd:date" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The adjusted fixing date, i.e. the actual date the rate is
                observed. The date should already be adjusted for any
                applicable business day convention.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="observedRate" type="xsd:decimal" minOccurs="0">
            <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:element name="treatedRate" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The observed rate after any required rate treatment is
                applied. A treated rate of 5% would be represented as 0.05.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="observationWeight" type="xsd:positiveInteger">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The number of days weighting to be associated with the rate
                observation, i.e. the number of days such rate is in
                effect. This is applicable in the case of a weighted
                average method of calculation where more than one reset
                date is established for a single calculation period.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="rateReference" type="RateReference" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A pointer style reference to a floating rate component
                defined as part of a stub calculation period amount
                component. It is only required when it is necessary to
                distinguish two rate observations for the same fixing date
                which could occur when linear interpolation of two
                different rates occurs for a stub calculation period.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="forecastRate" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The value representing the forecast rate used to calculate
                the forecast future value of the accrual period.A value of
                1% should be represented as 0.01
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="treatedForecastRate" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The value representing the forecast rate after applying
                rate treatment rules. A value of 1% should be represented
                as 0.01
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fallback" type="FallbackRateObservation" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Observation Parameters for IBOR fallback rates. These allow
                recording information about how the fallback rate was
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="RateSourcePage">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="rateSourcePageScheme" type="xsd:anyURI"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="Reference" abstract="true">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Specifies the anchor as an href attribute. The href attribute
            value is a pointer style reference to the element or component
            elsewhere in the document where the anchor is defined.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="href" type="xsd:IDREF" use="required"/>
      </xsd:complexType>
      <xsd:complexType name="ReferenceAmount">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Specifies the reference amount using a scheme.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="referenceAmountScheme" type="xsd:anyURI"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="ReferenceBank">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type to describe an institution (party) identified by means
            of a coding scheme and an optional name.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="referenceBankId" type="ReferenceBankId">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An institution (party) identifier, e.g. a bank identifier
                code (BIC).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="referenceBankName" type="xsd:string" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The name of the institution (party). A free format string.
                FpML does not define usage rules for the element.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ReferenceBankId">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="referenceBankIdScheme" type="xsd:anyURI"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="RelativeDateOffset">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a date (referred to as the derived date) as a
            relative offset from another date (referred to as the anchor
            date). If the anchor date is itself an adjustable date then the
            offset is assumed to be calculated from the adjusted anchor
            date. A number of different scenarios can be supported, namely;
            1) the derived date my simply be a number of calendar periods
            (days, weeks, months or years) preceding or following the
            anchor date; 2) the unadjusted derived date may be a number of
            calendar periods(days, weeks, months or years) preceding or
            following the anchor date with the resulting unadjusted derived
            date subject to adjustment in accordance with a specified
            business day convention, i.e. the derived date must fall on a
            good business day; 3) the derived date may be a number of
            business days preceding or following the anchor date. Note that
            the businessDayConvention specifies any required adjustment to
            the unadjusted derived date. A negative or positive value in
            the periodMultiplier indicates whether the unadjusted derived
            precedes or follows the anchor date. The businessDayConvention
            should contain a value NONE if the day type element contains a
            value of Business (since specifying a negative or positive
            business days offset would already guarantee that the derived
            date would fall on a good business day in the specified
            business centers).
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Offset">
            <xsd:sequence>
              <xsd:element name="businessDayConvention" type="BusinessDayConventionEnum">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The convention for adjusting a date if it would
                    otherwise fall on a day that is not a business day.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:group ref="BusinessCentersOrReference.model" minOccurs="0"/>
              <xsd:element name="dateRelativeTo" type="DateReference">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Specifies the anchor as an href attribute. The href
                    attribute value is a pointer style reference to the
                    element or component elsewhere in the document where
                    the anchor date is defined.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="RelativeDates">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type describing a set of dates defined as relative to another
            set of dates.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="RelativeDateOffset">
            <xsd:sequence>
              <xsd:element name="periodSkip" type="xsd:positiveInteger" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The number of periods in the referenced date schedule
                    that are between each date in the relative date
                    schedule. Thus a skip of 2 would mean that dates are
                    relative to every second date in the referenced
                    schedule. If present this should have a value greater
                    than 1.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="scheduleBounds" type="DateRange" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The first and last dates of a schedule. This can be
                    used to restrict the range of values in a reference
                    series of dates.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="RelativeDateSequence">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type describing a date when this date is defined in reference
            to another date through one or several date offsets.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="dateRelativeTo" type="DateReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the anchor as an href attribute. The href
                attribute value is a pointer style reference to the element
                or component elsewhere in the document where the anchor
                date is defined.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="dateOffset" type="DateOffset" maxOccurs="unbounded"/>
          <xsd:group ref="BusinessCentersOrReference.model" minOccurs="0"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="RequiredIdentifierDate">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A date with a required identifier which can be referenced
            elsewhere.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:date">
            <xsd:attribute name="id" type="xsd:ID" use="required"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="ResetFrequency">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the reset frequency. In the case of a weekly
            reset, also specifies the day of the week that the reset
            occurs. If the reset frequency is greater than the calculation
            period frequency the this implies that more or more reset dates
            is established for each calculation period and some form of
            rate averaginhg is applicable. The specific averaging method of
            calculation is specified in FloatingRateCalculation.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Interval">
            <xsd:sequence>
              <xsd:element name="weeklyRollConvention" type="WeeklyRollConventionEnum" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The day of the week on which a weekly reset date
                    occurs. This element must be included if the reset
                    frequency is defined as weekly and not otherwise.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Rounding">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a rounding direction and precision to be used
            in the rounding of a rate.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="roundingDirection" type="RoundingDirectionEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the rounding direction.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="precision" type="xsd:nonNegativeInteger">
            <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:sequence>
      </xsd:complexType>
      <xsd:complexType name="Routing">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that provides three alternative ways of identifying a
            party involved in the routing of a payment. The identification
            may use payment system identifiers only; actual name, address
            and other reference information; or a combination of both.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:choice>
            <xsd:element name="routingIds" type="RoutingIds">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A set of unique identifiers for a party, eachone
                  identifying the party within a payment system. The
                  assumption is that each party will not have more than one
                  identifier within the same payment system.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="routingExplicitDetails" type="RoutingExplicitDetails">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A set of details that is used to identify a party
                  involved in the routing of a payment when the party does
                  not have a code that identifies it within one of the
                  recognized payment systems.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="routingIdsAndExplicitDetails" type="RoutingIdsAndExplicitDetails">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A combination of coded payment system identifiers and
                  details for physical addressing for a party involved in
                  the routing of a payment.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="RoutingExplicitDetails">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that models name, address and supplementary textual
            information for the purposes of identifying a party involved in
            the routing of a payment.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:group ref="RoutingExplicitDetails.model"/>
      </xsd:complexType>
      <xsd:complexType name="RoutingId">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="routingIdCodeScheme" type="xsd:anyURI" default="http://www.fpml.org/ext/iso9362"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="RoutingIds">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that provides for identifying a party involved in the
            routing of a payment by means of one or more standard
            identification codes. For example, both a SWIFT BIC code and a
            national bank identifier may be required.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="routingId" type="RoutingId" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A unique identifier for party that is a participant in a
                recognized payment system.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="RoutingIdsAndExplicitDetails">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that provides a combination of payment system
            identification codes with physical postal address details, for
            the purposes of identifying a party involved in the routing of
            a payment.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="routingIds" type="RoutingIds" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A set of unique identifiers for a party, eachone
                identifying the party within a payment system. The
                assumption is that each party will not have more than one
                identifier within the same payment system.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:group ref="RoutingExplicitDetails.model"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="Schedule">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a schedule of rates or amounts in terms of an
            initial value and then a series of step date and value pairs.
            On each step date the rate or amount changes to the new step
            value. The series of step date and value pairs are optional. If
            not specified, this implies that the initial value remains
            unchanged over time.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="initialValue" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The initial rate or amount, as the case may be. An initial
                rate of 5% would be represented as 0.05.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="step" type="Step" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The schedule of step date and value pairs. On each step
                date the associated step value becomes effective A list of
                steps may be ordered in the document by ascending step
                date. An FpML document containing an unordered list of
                steps is still regarded as a conformant document.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="ScheduleReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference to a schedule of rates or amounts.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="SettlementInformation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that represents the choice of methods for settling a
            potential currency payment resulting from a trade: by means of
            a standard settlement instruction, by netting it out with other
            payments, or with an explicit settlement instruction.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
          <xsd:element name="standardSettlementStyle" type="StandardSettlementStyleEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An optional element used to describe how a trade will
                settle. This defines a scheme and is used for identifying
                trades that are identified as settling standard and/or
                flagged for settlement netting.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="settlementInstruction" type="SettlementInstruction">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An explicit specification of how a currency payment is to
                be made, when the payment is not netted and the route is
                other than the recipient's standard settlement instruction.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
      <xsd:complexType name="SettlementInstruction">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that models a complete instruction for settling a
            currency payment, including the settlement method to be used,
            the correspondent bank, any intermediary banks and the ultimate
            beneficary.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="settlementMethod" type="SettlementMethod" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The mechanism by which settlement is to be made. The scheme
                of domain values will include standard mechanisms such as
                CLS, Fedwire, Chips ABA, Chips UID, SWIFT, CHAPS and DDA.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="correspondentInformation" type="CorrespondentInformation" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The information required to identify the correspondent bank
                that will make delivery of the funds on the paying bank's
                behalf in the country where the payment is to be made
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="intermediaryInformation" type="IntermediaryInformation" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Information to identify an intermediary through which
                payment will be made by the correspondent bank to the
                ultimate beneficiary of the funds.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="beneficiaryBank" type="Beneficiary" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The bank that acts for the ultimate beneficiary of the
                funds in receiving payments.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="beneficiary" type="Beneficiary">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The ultimate beneficiary of the funds. The beneficiary can
                be identified either by an account at the beneficiaryBank
                (qv) or by explicit routingInformation. This element
                provides for the latter.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="depositoryPartyReference" type="PartyReference" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Reference to the depository of the settlement.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="splitSettlement" type="SplitSettlement" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The set of individual payments that are to be made when a
                currency payment settling a trade needs to be split between
                a number of ultimate beneficiaries. Each split payment may
                need to have its own routing information.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="SettlementMethod">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="settlementMethodScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/settlement-method-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="SettlementPriceSource">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The source from which the settlement price is to be obtained,
            e.g. a Reuters page, Prezzo di Riferimento, etc.
          </xsd:documentation>
          <xsd:documentation xml:lang="de">
            Quelle fÃ¼r den Abrechnungspreis (z.B. eine Reuters-Seite,
            Prezzo di Riferimento, usw.).
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="settlementPriceSourceScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/settlement-price-source-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="SettlementRateSource">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type describing the method for obtaining a settlement rate.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
          <xsd:element name="informationSource" type="InformationSource">
            <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="cashSettlementReferenceBanks" type="CashSettlementReferenceBanks">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A container for a set of reference institutions. These
                reference institutions may be called upon to provide rate
                quotations as part of the method to determine the
                applicable cash settlement amount. If institutions are not
                specified, it is assumed that reference institutions will
                be agreed between the parties on the exercise date, or in
                the case of swap transaction to which mandatory early
                termination is applicable, the cash settlement valuation
                date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
      <xsd:complexType name="SharedAmericanExercise">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            TBA
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Exercise">
            <xsd:sequence>
              <xsd:element name="commencementDate" type="AdjustableOrRelativeDate">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The first day of the exercise period for an American
                    style option.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="expirationDate" type="AdjustableOrRelativeDate">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The last day within an exercise period for an American
                    style option. For a European style option it is the
                    only day within the exercise period.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="latestExerciseTime" type="BusinessCenterTime" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    For a Bermuda or American style option, the latest time
                    on an exercise business day (excluding the expiration
                    date) within the exercise period that notice can be
                    given by the buyer to the seller or seller's agent.
                    Notice of exercise given after this time will be deemed
                    to have been given on the next exercise business day.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="SplitSettlement">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that supports the division of a gross settlement amount
            into a number of split settlements, each requiring its own
            settlement instruction.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="splitSettlementAmount" type="Money">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                One of the monetary amounts in a split settlement payment.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="beneficiaryBank" type="Routing" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The bank that acts for the ultimate beneficiary of the
                funds in receiving payments.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="beneficiary" type="Routing">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The ultimate beneficiary of the funds. The beneficiary can
                be identified either by an account at the beneficiaryBank
                (qv) or by explicit routingInformation. This element
                provides for the latter.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="SpreadSchedule">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Adds an optional spread type element to the Schedule to
            identify a long or short spread value.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Schedule">
            <xsd:sequence>
              <xsd:element name="type" type="SpreadScheduleType" minOccurs="0"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="SpreadScheduleReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Provides a reference to a spread schedule.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="SpreadScheduleType">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Defines a Spread Type Scheme to identify a long or short spread
            value.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="spreadScheduleTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/spread-schedule-type-1-0"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="Step">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a step date and step value pair. This step
            definitions are used to define varying rate or amount
            schedules, e.g. a notional amortization or a step-up coupon
            schedule.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="stepDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date on which the associated stepValue becomes
                effective. This day may be subject to adjustment in
                accordance with a business day convention.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="stepValue" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The rate or amount which becomes effective on the
                associated stepDate. A rate of 5% would be represented as
                0.05.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="StreetAddress">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that describes the set of street and building number
            information that identifies a postal address within a city.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="streetLine" type="xsd:string" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An individual line of street and building number
                information, forming part of a postal address.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="Stub">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining how a stub calculation period amount is
            calculated. A single floating rate tenor different to that used
            for the regular part of the calculation periods schedule may be
            specified, or two floating rate tenors many be specified. If
            two floating rate tenors are specified then Linear
            Interpolation (in accordance with the 2000 ISDA Definitions,
            Section 8.3 Interpolation) is assumed to apply. Alternatively,
            an actual known stub rate or stub amount may be specified.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:choice>
            <xsd:element name="floatingRate" type="StubFloatingRate" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The rates to be applied to the initial or final stub may
                  be the linear interpolation of two different rates. While
                  the majority of the time, the rate indices will be the
                  same as that specified in the stream and only the tenor
                  itself will be different, it is possible to specift two
                  different rates. For example, a 2 month stub period may
                  use the linear interpolation of a 1 month and 3 month
                  rate. The different rates would be specified in this
                  component. Note that a maximum of two rates can be
                  specified. If a stub period uses the same floating rate
                  index, including tenor, as the regular calculation
                  periods then this should not be specified again within
                  this component, i.e. the stub calculation period amount
                  component may not need to be specified even if there is
                  an initial or final stub period. If a stub period uses a
                  different floating rate index compared to the regular
                  calculation periods then this should be specified within
                  this component. If specified here, they are likely to
                  have id attributes, allowing them to be referenced from
                  within the cashflows component.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="stubRate" type="xsd:decimal">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  An actual rate to apply for the initial or final stub
                  period may have been agreed between the principal parties
                  (in a similar way to how an initial rate may have been
                  agreed for the first regular period). If an actual stub
                  rate has been agreed then it would be included in this
                  component. It will be a per annum rate, expressed as a
                  decimal. A stub rate of 5% would be represented as 0.05.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="stubAmount" type="Money">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  An actual amount to apply for the initial or final stub
                  period may have been agreed between th two parties. If an
                  actual stub amount has been agreed then it would be
                  included in this component.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:element name="stubStartDate" type="AdjustableOrRelativeDate" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Start date of stub period. This was created to support use
                of the InterestRateStream within the Equity Derivative
                sphere, and this element is not expected to be produced in
                the representation of Interest Rate products.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="stubEndDate" type="AdjustableOrRelativeDate" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                End date of stub period. This was created to support use of
                the InterestRateStream within the Equity Derivative sphere,
                and this element is not expected to be produced in the
                representation of Interest Rate products.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="StubFloatingRate">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a floating rate.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Rate">
            <xsd:sequence>
              <xsd:group ref="FloatingRateIndex.model"/>
              <xsd:element name="fallbackRate" type="FallbackRate" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A fallback rate calculated using an averaging or
                    compounding formula to be used in case of the cessation
                    of the original term rate. This structure is provided
                    to allow an approximate representation to be created
                    for published fallback rates to allow operations such
                    as valuation, accrual calculation, and risk
                    calculation.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:group ref="FloatingRate.model" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    DEPRECATED - These conditioning parameters should never
                    be applied to the stub rate, rather to the original
                    rate. They are retained for backward compatibility with
                    previous versions of the standard.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:group>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Strike">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type describing a single cap or floor rate.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="strikeRate" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The rate for a cap or floor.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="buyer" type="IdentifiedPayerReceiver" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The buyer of the option
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="seller" type="IdentifiedPayerReceiver" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The party that has sold.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="StrikeSchedule">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type describing a schedule of cap or floor rates.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Schedule">
            <xsd:sequence>
              <xsd:element name="buyer" type="IdentifiedPayerReceiver" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The buyer of the option
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="seller" type="IdentifiedPayerReceiver" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The party that has sold.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="SwaptionPhysicalSettlement">
        <xsd:sequence>
          <xsd:element name="clearedPhysicalSettlement" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies whether the swap resulting from physical
                settlement of the swaption transaction will clear through a
                clearing house. The meaning of Cleared Physical Settlement
                is defined in the 2006 ISDA Definitions, Section 15.2
                (published in Supplement number 28).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="mutuallyAgreedClearinghouse" type="MutuallyAgreedClearinghouse" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                This may be used to specify a "mutually-agreed
                clearinghouse" for settlement.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="agreedDiscountRate" type="BenchmarkRate" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                This may be used to indicate the discount rate to be used
                for cash collateral for cash settlement purposes.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="settlementRateSource" type="SettlementRateSource" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The method for obtaining a settlement rate. This may be
                from some information source (e.g. Reuters) or from a set
                of reference banks.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="quotationRateType" type="QuotationRateTypeEnum" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Which rate quote is to be observed, either Bid, Mid, Offer
                or Exercising Party Pays. The meaning of Exercising Party
                Pays is defined in the 2000 ISDA Definitions, Section 17.2.
                Certain Definitions Relating to Cash Settlement, paragraph
                (j)
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ValuationScenarioReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference to a valuation scenario.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Reference"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:element name="americanExercise" type="AmericanExercise" substitutionGroup="exercise">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The parameters for defining the exercise period for an American
            style option together with any rules governing the notional
            amount of the underlying which can be exercised on any given
            exercise date and any associated exercise fees.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="bermudaExercise" type="BermudaExercise" substitutionGroup="exercise">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The parameters for defining the exercise period for a Bermuda
            style option together with any rules governing the notional
            amount of the underlying which can be exercised on any given
            exercise date and any associated exercise fees.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="europeanExercise" type="EuropeanExercise" substitutionGroup="exercise">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The parameters for defining the exercise period for a European
            style option together with any rules governing the notional
            amount of the underlying which can be exercised on any given
            exercise date and any associated exercise fees.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="exercise" type="Exercise" abstract="true">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An placeholder for the actual option exercise definitions.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="product" type="Product" abstract="true">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An abstract element used as a place holder for the substituting
            product elements.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group name="BusinessCentersOrReference.model">
        <xsd:choice>
          <xsd:element name="businessCentersReference" type="BusinessCentersReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A pointer style reference to a set of financial business
                centers defined elsewhere in the document. This set of
                business centers is used to determine whether a particular
                day is a business day or not.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="businessCenters" type="BusinessCenters"/>
        </xsd:choice>
      </xsd:group>
      <xsd:group name="BuyerSeller.model">
        <xsd:sequence>
          <xsd:element name="buyerPartyReference" type="PartyOrTradeSideReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                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.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="sellerPartyReference" type="PartyOrTradeSideReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                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.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:group>
      <xsd:group name="FloatingRate.model">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Elements representing the rate treatment and conditioning
            parameters that can be applied to a floating rate, such as
            spreads, multipliers, rate treatments, rate rounding, etc.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="floatingRateMultiplierSchedule" type="Schedule" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A rate multiplier or multiplier schedule to apply to the
                floating rate. A multiplier schedule is expressed as
                explicit multipliers and dates. In the case of a schedule,
                the step dates may be subject to adjustment in accordance
                with any adjustments specified in the
                calculationPeriodDatesAdjustments. The multiplier can be a
                positive or negative decimal. This element should only be
                included if the multiplier is not equal to 1 (one) for the
                term of the stream.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="spreadSchedule" type="SpreadSchedule" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The ISDA Spread or a Spread schedule expressed as explicit
                spreads and dates. In the case of a schedule, the step
                dates may be subject to adjustment in accordance with any
                adjustments specified in calculationPeriodDatesAdjustments.
                The spread is a per annum rate, expressed as a decimal. For
                purposes of determining a calculation period amount, if
                positive the spread will be added to the floating rate and
                if negative the spread will be subtracted from the floating
                rate. A positive 10 basis point (0.1%) spread would be
                represented as 0.001.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="rateTreatment" type="RateTreatmentEnum" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The specification of any rate conversion which needs to be
                applied to the observed rate before being used in any
                calculations. The two common conversions are for securities
                quoted on a bank discount basis which will need to be
                converted to either a Money Market Yield or Bond Equivalent
                Yield. See the Annex to the 2000 ISDA Definitions, Section
                7.3. Certain General Definitions Relating to Floating Rate
                Options, paragraphs (g) and (h) for definitions of these
                terms.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="capRateSchedule" type="StrikeSchedule" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The cap rate or cap rate schedule, if any, which applies to
                the floating rate. The cap rate (strike) is only required
                where the floating rate on a swap stream is capped at a
                certain level. A cap rate schedule is expressed as explicit
                cap rates and dates and the step dates may be subject to
                adjustment in accordance with any adjustments specified in
                calculationPeriodDatesAdjustments. The cap rate is assumed
                to be exclusive of any spread and is a per annum rate,
                expressed as a decimal. A cap rate of 5% would be
                represented as 0.05.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="floorRateSchedule" type="StrikeSchedule" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The floor rate or floor rate schedule, if any, which
                applies to the floating rate. The floor rate (strike) is
                only required where the floating rate on a swap stream is
                floored at a certain strike level. A floor rate schedule is
                expressed as explicit floor rates and dates and the step
                dates may be subject to adjustment in accordance with any
                adjustments specified in calculationPeriodDatesAdjustments.
                The floor rate is assumed to be exclusive of any spread and
                is a per annum rate, expressed as a decimal. A floor rate
                of 5% would be represented as 0.05.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:group>
      <xsd:group name="FloatingRateCalculation.model">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Elements representing the daily calculated rate and fallback
            rate definitions.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="initialRate" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The initial floating rate reset agreed between the
                principal parties involved in the trade. This is assumed to
                be the first required reset rate for the first regular
                calculation period. It should only be included when the
                rate is not equal to the rate published on the source
                implied by the floating rate index. An initial rate of 5%
                would be represented as 0.05.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="finalRateRounding" type="Rounding" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The rounding convention to apply to the final rate used in
                determination of a calculation period amount.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="averagingMethod" type="AveragingMethodEnum" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                If averaging is applicable, this component specifies
                whether a weighted or unweighted average method of
                calculation is to be used. The component must only be
                included when averaging applies.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="negativeInterestRateTreatment" type="NegativeInterestRateTreatmentEnum" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The specification of any provisions for calculating payment
                obligations when a floating rate is negative (either due to
                a quoted negative floating rate or by operation of a spread
                that is subtracted from the floating rate).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:group>
      <xsd:group name="FloatingRateIndex.model">
        <xsd:sequence>
          <xsd:element name="floatingRateIndex" type="FloatingRateIndex" minOccurs="1">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The ISDA Floating Rate Option, i.e. the name of the
                floating rate.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="indexTenor" type="Interval" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The ISDA Designated Maturity, i.e. the tenor of the
                floating rate.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:group>
      <xsd:group name="ObservationParameters.model">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Definitions of daily cap and floor rates for floating rate
            indexes.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="observationCapRate" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation>
                A maximum rate for an rate observation; optionally applied
                for daily averaged rates. These are described in the 2021
                ISDA Definitions in Section 7.2.4
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="observationFloorRate" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation>
                A minimum rate for an rate observation; optionally applied
                for daily averaged rates. These are described in the 2021
                ISDA Definitions in Section 7.2.3
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:group>
      <xsd:group name="PayerReceiver.model">
        <xsd:sequence>
          <xsd:element name="payerPartyReference" type="PartyOrAccountReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A reference to the party responsible for making the
                payments defined by this structure.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="receiverPartyReference" type="PartyOrAccountReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A reference to the party that receives the payments
                corresponding to this structure.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:group>
      <xsd:group name="Product.model">
        <xsd:sequence>
          <xsd:element name="productType" type="ProductType" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A classification of the type of product. FpML defines a
                simple product categorization using a coding scheme.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="productId" type="ProductId" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A product reference identifier allocated by a party. FpML
                does not define the domain values associated with this
                element. Note that the domain values for this element are
                not strictly an enumerated list.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:group>
      <xsd:group name="RoutingExplicitDetails.model">
        <xsd:sequence>
          <xsd:element name="routingName" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A real name that is used to identify a party involved in
                the routing of a payment.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="routingAddress" type="Address" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A physical postal address via which a payment can be
                routed.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="routingAccountNumber" type="xsd:string" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An account number via which a payment can be routed.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="routingReferenceText" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A piece of free-format text used to assist the
                identification of a party involved in the routing of a
                payment.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:group>
    </xsd:schema>