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:

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:

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)

Used by:

Extension of:

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)

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

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

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

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

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)

dateAdjustments (exactly one occurrence; of the type BusinessDayAdjustments)

Attribute: id (xsd:ID)

Used by:

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)


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

Or


Attribute: id (xsd:ID)

Used by:

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)

dateAdjustments (exactly one occurrence; of the type BusinessDayAdjustments)

Used by:

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

Or


Attribute: id (xsd:ID)

Used by:

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

Or


Attribute: id (xsd:ID)

Used by:

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

Or

Or


Attribute: id (xsd:ID)

Used by:

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)

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

Used by:

Extension of:

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)

commencementDate (exactly one occurrence; of the type AdjustableOrRelativeDate)

expirationDate (exactly one occurrence; of the type AdjustableOrRelativeDate)

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

earliestExerciseTime (exactly one occurrence; of the type BusinessCenterTime)

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

expirationTime (exactly one occurrence; of the type BusinessCenterTime)

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

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

Used by:

Extension of:

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)

Used by:

Extension of:

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)

currency (exactly one occurrence; of the type Currency)

Used by:

Extension of:

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)

Used by:

Extension of:

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)

Used by:

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:

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)

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

Used by:

Extension of:

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)

bermudaExerciseDates (exactly one occurrence; of the type AdjustableOrRelativeDates)

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

earliestExerciseTime (exactly one occurrence; of the type BusinessCenterTime)

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

expirationTime (exactly one occurrence; of the type BusinessCenterTime)

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

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

Used by:

Extension of:

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)

Used by:

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:

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:

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

Or


Used by:

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)

Used by:

Extension of:

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)

businessCenter (exactly one occurrence; of the type BusinessCenter)

Used by:

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)

businessDayConvention (exactly one occurrence; of the type BusinessDayConventionEnum)


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

Or


Used by:

Extension of:

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)


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

Or


Attribute: id (xsd:ID)

Used by:

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)

Used by:

Extension of:

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

Or


Used by:

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)

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


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

Or

Or


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

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

Used by:

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)

rollConvention (exactly one occurrence; of the type RollConventionEnum)

Used by:

Extension of:

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:

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)

Attribute: id (xsd:ID)

Used by:

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:

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:

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)

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

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

Used by:

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:

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)

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

Used by:

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)

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

Used by:

Extension of:

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:

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:

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:

Derived Types:

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:

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)

businessDayConvention (exactly one occurrence; of the type BusinessDayConventionEnum)

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

Used by:

Extension of:

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)

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

Used by:

Derived Types:

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)

Used by:

Extension of:

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:

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:

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:

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)

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

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

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


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

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

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

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

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

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

Used by:

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

Or


Used by:

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)


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

Or


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


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

Or


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

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

Used by:

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:

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:

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:

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)

expirationDate (exactly one occurrence; of the type AdjustableOrRelativeDate)

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

earliestExerciseTime (exactly one occurrence; of the type BusinessCenterTime)

expirationTime (exactly one occurrence; of the type BusinessCenterTime)

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

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

Used by:

Extension of:

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:

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:

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)

receiverPartyReference (exactly one occurrence; of the type PartyOrAccountReference)

notionalReference (exactly one occurrence; of the type ScheduleReference)


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

Or


feePaymentDate (exactly one occurrence; of the type RelativeDateOffset)

Used by:

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)

receiverPartyReference (exactly one occurrence; of the type PartyOrAccountReference)

notionalReference (exactly one occurrence; of the type ScheduleReference)


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

Or


feePaymentDate (exactly one occurrence; of the type RelativeDateOffset)

Used by:

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)

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

businessCenter (exactly one occurrence; of the type BusinessCenter)

Used by:

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

Or


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

Used by:

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

Attribute: id (xsd:ID) - optional

Used by:

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)

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

Used by:

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)

floatingRateIndex (exactly one occurrence; of the type FloatingRateIndex)

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

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

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

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

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

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

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

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

Used by:

Extension of:

Derived Types:

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)

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

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

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

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

Used by:

Extension of:

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:

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)

indexTenor (exactly one occurrence; of the type Interval)

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)

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

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

Used by:

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)

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

Attribute: name (xsd:normalizedString)

Attribute: href (xsd:IDREF)

Used by:

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)

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

Used by:

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)

quotedCurrencyPair (exactly one occurrence; of the type QuotedCurrencyPair)

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

Used by:

Extension of:

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)

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

Used by:

Derived Types:

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)

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

fixingTime (exactly one occurrence; of the type BusinessCenterTime)

Used by:

Derived Types:

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:

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:

Extension of:

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:

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)

Attribute: id (xsd:ID)

Used by:

Extension of:

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)

floatingRateIndex (exactly one occurrence; of the type FloatingRateIndex)

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

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

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

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

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

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

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

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

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

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

Used by:

Extension of:

Derived Types:

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:

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)

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

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

Used by:

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:

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)

compoundingMethod (exactly one occurrence; of the type CompoundingMethodEnum)

Used by:

Extension of:

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

Or


Used by:

Derived Types:

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)

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

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

Used by:

Extension of:

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)

period (exactly one occurrence; of the type PeriodEnum)

Attribute: id (xsd:ID)

Used by:

Derived Types:

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

Attribute: id (xsd:ID)

Used by:

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)

Used by:

Extension of:

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:

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)

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

Used by:

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)

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

Used by:

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:

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)

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

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

Used by:

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:

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:

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:

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:

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)

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

Attribute: id (xsd:ID)

Used by:

Derived Types:

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)

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

Used by:

Extension of:

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

Or


Used by:

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)

Used by:

Extension of:

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)

Used by:

Derived Types:

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)

observationPeriodDates (exactly one occurrence; of the type ObservationPeriodDatesEnum)

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

Used by:

Extension of:

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)

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

Used by:

Extension of:

Derived Types:

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:

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)

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

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

Used by:

Derived Types:

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)

Used by:

Extension of:

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)

Used by:

Extension of:

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)

Used by:

Extension of:

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)

receiverPartyReference (exactly one occurrence; of the type PartyOrAccountReference)

paymentAmount (exactly one occurrence; of the type Money)

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

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

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

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

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

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

Attribute: href (xsd:IDREF)

Used by:

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

Or


Attribute: id (xsd:ID)

Attribute: href (xsd:IDREF)

Used by:

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:

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)

calculationPeriodDatesAdjustments (exactly one occurrence; of the type BusinessDayAdjustments)

Used by:

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)

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

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

Attribute: id (xsd:ID) - optional

Used by:

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)

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

Attribute: id (xsd:ID)

Used by:

Derived Types:

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)

Used by:

Extension of:

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:

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)

currency2 (exactly one occurrence; of the type Currency)

quoteBasis (exactly one occurrence; of the type QuoteBasisEnum)

Used by:

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:

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)

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

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

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

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

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

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

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

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

Attribute: id (xsd:ID)

Used by:

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)

Used by:

Extension of:

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:

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:

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:

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)

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

Used by:

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:

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)

businessDayConvention (exactly one occurrence; of the type BusinessDayConventionEnum)


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

Or


dateRelativeTo (exactly one occurrence; of the type DateReference)

Used by:

Extension of:

Derived Types:

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)

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

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

Used by:

Extension of:

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)

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


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

Or


Used by:

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:

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)

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

Used by:

Extension of:

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)

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

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

Or

Or


Used by:

Derived Types:

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)

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

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

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

Used by:

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:

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)

Used by:

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)

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

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

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

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

Used by:

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)

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

Attribute: id (xsd:ID)

Used by:

Derived Types:

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)

Used by:

Extension of:

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

Or


Used by:

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)

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

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

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

beneficiary (exactly one occurrence; of the type Beneficiary)

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

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

Used by:

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:

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:

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

Or


Used by:

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)

commencementDate (exactly one occurrence; of the type AdjustableOrRelativeDate)

expirationDate (exactly one occurrence; of the type AdjustableOrRelativeDate)

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

Used by:

Extension of:

Derived Types:

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)

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

beneficiary (exactly one occurrence; of the type Routing)

Used by:

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)

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

Used by:

Extension of:

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)

Used by:

Extension of:

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:

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)

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

Attribute: id (xsd:ID)

Used by:

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)

Used by:

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)

buyer (zero or one occurrence; of the type IdentifiedPayerReceiver)

seller (zero or one occurrence; of the type IdentifiedPayerReceiver)

Attribute: id (xsd:ID)

Used by:

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)

buyer (zero or one occurrence; of the type IdentifiedPayerReceiver)

seller (zero or one occurrence; of the type IdentifiedPayerReceiver)

Used by:

Extension of:

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

Or

Or


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

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

Used by:

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)

floatingRateIndex (exactly one occurrence; of the type FloatingRateIndex)

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

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

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

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

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

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

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

Used by:

Extension of:

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)

mutuallyAgreedClearinghouse (zero or one occurrence; of the type MutuallyAgreedClearinghouse)

agreedDiscountRate (zero or one occurrence; of the type BenchmarkRate)

settlementRateSource (zero or one occurrence; of the type SettlementRateSource)

quotationRateType (zero or one occurrence; of the type QuotationRateTypeEnum)

Used by:

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)

Used by:

Extension of:

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:

Substituted by:

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:

Substituted by:

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

Or


Used by:

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)

sellerPartyReference (exactly one occurrence; of the type PartyOrTradeSideReference)

Used by:

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)

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

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

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

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

Used by:

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)

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

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

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

Used by:

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)

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

Used by:

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:

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)

receiverPartyReference (exactly one occurrence; of the type PartyOrAccountReference)

Used by:

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)

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

Used by:

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)

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

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

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

Used by:

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>