FpML 4.3 Trial Recommendation

14 December 2007

Cashflow Matching Component Definitions

Version: 4.3

This Version:

http://www.fpml.org/spec/fpml-4-3-9-tr-1

Latest Version:

http://www.fpml.org/spec/fpml-4-3-9-tr-1

Previous Version:

http://www.fpml.org/spec/2007/lcwd-fpml-4-3-2007-10-30/

Errata for this Version:

http://www.fpml.org/spec/fpml-4-3-9-tr-1/html/fpml-4-3-errata.html

Document built: Mon 01/14/2008 12:55:50.09


Copyright (c) 1999 - 2006 by INTERNATIONAL SWAPS AND DERIVATIVES ASSOCIATION, INC.
Financial Products Markup Language is subject to the FpML public license
A copy of this license is available at http://www.fpml.org/documents/license.html



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


Contents

Global Simple Types

Global Complex Types
AllegedCashflow
AssertedCashflow
AssertedPosition
CalculationDetails
CancelTradeCashflows
CashflowCalculationElements
CashflowCalculationPeriod
CashflowFixing
CashflowFixingReference
CashflowId
CashflowNotional
CashflowObservation
CashflowObservationReference
DefinePosition
GrossCashflow
InitialPortfolioDefinition
MatchId
PaymentId
PaymentMatching
PortfolioDefinition
PositionMatchResult
PositionMatchStatus
PositionProposedMatch
PositionReference
PositionsAcknowledged
PositionsAsserted
PositionsMatchResults
RequestPortfolio
StepReference
TradeCashflowsAsserted
TradeCashflowsId
TradeCashflowsMatchResult
TradeCashflowsProposedMatch
TradeCashflowsStatus
TradeDetails
TradeIdentifyingItems
TradeUnderlyer
TradeUnderlyerReference
UnderlyerReferenceUnits
UnprocessedPosition

Global Elements

Groups
DefinitionAndCashflows.model
IdAndTradeCashflows.model
PositionWithoutId.model
TradeCashflows.model
TradeCashflowsDefinition.model

Schema Listing

Global Simple Types

The schema does not contain any global simple types.


Global Complex Types

AllegedCashflow

Description:

Figure:

Contents:

asOfDate (zero or one occurrence; of the type xsd:dateTime)

tradeCashflowsId (exactly one occurrence; of the type TradeCashflowsId)

tradeIdentifyingItems (exactly one occurrence; of the type TradeIdentifyingItems)

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

payment (one or more occurrences; of the type PaymentMatching)

Used by:

Schema Fragment:

<xsd:complexType name="AllegedCashflow">
  <xsd:sequence>
    <xsd:group ref="DefinitionAndCashflows.model"/>
  </xsd:sequence>
</xsd:complexType>

AssertedCashflow

Description:

A type that defines a cashflow (or set of cashflows for cross-currency swap) asserted by one of the parties.

Figure:

Contents:

asOfDate (zero or one occurrence; of the type xsd:dateTime)

tradeCashflowsId (exactly one occurrence; of the type TradeCashflowsId)

tradeIdentifyingItems (exactly one occurrence; of the type TradeIdentifyingItems)

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

payment (one or more occurrences; of the type PaymentMatching)

Used by:

Schema Fragment:

<xsd:complexType name="AssertedCashflow">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that defines a cashflow (or set of cashflows for
      cross-currency swap) asserted by one of the parties.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:group ref="DefinitionAndCashflows.model"/>
  </xsd:sequence>
</xsd:complexType>

AssertedPosition

Description:

A type that defines a position asserted by one of the parties.

Figure:

Contents:

positionId (exactly one occurrence; of the type PositionId)

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

reportingRoles (zero or one occurrence; of the type ReportingRoles)

constituent (exactly one occurrence; of the type PositionConstituent)

scheduledDate (zero or more occurrences; of the type ScheduledDate)

valuation (zero or more occurrences; of the type AssetValuation)

Used by:

Schema Fragment:

<xsd:complexType name="AssertedPosition">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that defines a position asserted by one of the parties.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:group ref="PositionIdAndVersion.model"/>
    <xsd:group ref="PositionWithoutId.model" minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

CalculationDetails

Description:

A cashflow component with optional calculation details that explain how the cashflow amount was computed.

Figure:

Contents:

grossCashflow (zero or one occurrence; of the type GrossCashflow)

observationElements (zero or more occurrences; of the type CashflowObservation)

calculationElements (zero or one occurrence; of the type CashflowCalculationElements)

Used by:

Schema Fragment:

<xsd:complexType name="CalculationDetails">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A cashflow component with optional calculation details that
      explain how the cashflow amount was computed.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="grossCashflow" type="GrossCashflow" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Payment details of this cash flow component, including
          currency, amount and payer/payee.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="observationElements" type="CashflowObservation" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The underlyer rate or price observation(s) used to compute
          the amount of this cashflow component.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="calculationElements" type="CashflowCalculationElements" minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

CancelTradeCashflows

Description:

Message for cancellation of payments to be reconciled. A message sent to indicate that previously asserted TradeCashFlows are no longer in effect. For example, this may be caused by a trade's being terminated or assigned after a TradeCashflowsAsserted message has been sent but before the payment date.

Figure:

Contents:

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

tradeCashflowsId (exactly one occurrence; of the type TradeCashflowsId)

tradeIdentifyingItems (exactly one occurrence; of the type TradeIdentifyingItems)

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

payment (one or more occurrences; of the type PaymentMatching)

matchId (zero or one occurrence; of the type MatchId)

party (one or more occurrences; of the type Party)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="CancelTradeCashflows">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Message for cancellation of payments to be reconciled. A message
      sent to indicate that previously asserted TradeCashFlows are no
      longer in effect. For example, this may be caused by a trade's
      being terminated or assigned after a TradeCashflowsAsserted
      message has been sent but before the payment date.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="NotificationMessage">
      <xsd:sequence>
        <xsd:group ref="IdAndTradeCashflows.model"/>
        <xsd:element name="matchId" type="MatchId" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A unique identifier assigned by matching service to each
              set of matched cashflows.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              One party element for each of the principal parties and
              any other party that is referenced.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

CashflowCalculationElements

Description:

Figure:

Contents:

numberOfUnits (zero or one occurrence; of the type UnderlyerReferenceUnits)

notional (zero or one occurrence; of the type CashflowNotional)

underlyer (zero or more occurrences; of the type TradeUnderlyer)

calculatedRate (zero or more occurrences; of the type CashflowFixing)

calculationPeriod (zero or more occurrences; of the type CashflowCalculationPeriod)

Used by:

Schema Fragment:

<xsd:complexType name="CashflowCalculationElements">
  <xsd:sequence>
    <xsd:element name="numberOfUnits" type="UnderlyerReferenceUnits" minOccurs="0"/>
    <xsd:element name="notional" type="CashflowNotional" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Identifies the notional in effect for this calculation
          period.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="underlyer" type="TradeUnderlyer" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The underlyer(s) used to calculate the amount of this
          cashflow component. The underlyer(s) will remain unaltered
          from the values specified in the underlying transaction (i.e.
          the Fixed Rate on a Credit Default Swap).
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="calculatedRate" type="CashflowFixing" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The computed rate(s) or price(s) used to calculate the amount
          of this cashflow component. These computed rates or prices
          may include averaging and/or various types of rate treatment
          rules.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="calculationPeriod" type="CashflowCalculationPeriod" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The period details for calculation/accrual periods that
          comprise this cashflow component.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

CashflowCalculationPeriod

Description:

The period calculation details for a calculation/accrual period. This will include information about the dates and duration of the accrual period, the rate fixing(s), the notional in effect, and the amount of the accrual.

Figure:

Contents:

calculatedRateReference (zero or more occurrences; of the type CashflowFixingReference)

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

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

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

fixedRateStepReference (zero or one occurrence; of the type StepReference)

dayCountFraction (zero or one occurrence; of the type DayCountFraction)

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

compoundingMethod (zero or one occurrence; of the type CompoundingMethodEnum)

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

Used by:

Schema Fragment:

<xsd:complexType name="CashflowCalculationPeriod">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The period calculation details for a calculation/accrual period.
      This will include information about the dates and duration of the
      accrual period, the rate fixing(s), the notional in effect, and
      the amount of the accrual.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="calculatedRateReference" type="CashflowFixingReference" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reference to the fixing details defined somewhere in the
          document.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="adjustedStartDate" type="xsd:date" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Date that defines the beginning of the calculation period.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="adjustedEndDate" type="xsd:date" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Date that defines the end of the calculation period.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="numberOfDays" type="xsd:positiveInteger" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The number of days from the adjusted effective / start date
          to the adjusted termination / end date calculated in
          accordance with the applicable day count fraction.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="fixedRateStepReference" type="StepReference" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reference to the fixed rate schedule's step in order to
          identify the calculation period fixed rate.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="dayCountFraction" type="DayCountFraction" minOccurs="0">
      <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:element>
    <xsd:element name="dayCountYearFraction" type="xsd:decimal" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The year fraction value of the calculation period, result of
          applying the ISDA rules for day count fraction defined in the
          ISDA Annex.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="compoundingMethod" type="CompoundingMethodEnum" minOccurs="0">
      <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:element name="accruedAmount" type="xsd:decimal" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The amount of payment accrued during this accrual period.
          This is required only when there are multiple calculation
          periods within the same cashflow component, for example when
          the calculation period is shorter than the payment period.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

CashflowFixing

Description:

Details of the computation of a computed rate or price used to calculate the amount of a cashflow component. This computed rate or price may include averaging and/or various types of rate treatment rules. The details include all of the observations, the calculation parameters, and the resulting value.

Figure:

Contents:

observationReference (one or more occurrences; of the type CashflowObservationReference)

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

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

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

capValue (zero or more occurrences; of the type Strike)

floorValue (zero or more occurrences; of the type Strike)

Attribute: id (xsd:ID)

Used by:

Schema Fragment:

<xsd:complexType name="CashflowFixing">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Details of the computation of a computed rate or price used to
      calculate the amount of a cashflow component. This computed rate
      or price may include averaging and/or various types of rate
      treatment rules. The details include all of the observations, the
      calculation parameters, and the resulting value.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="observationReference" type="CashflowObservationReference" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reference to the observation details of a particular rate
          observation.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="calculatedValue" type="xsd:decimal" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The value computed based on averaging the underlying
          observation and applying any spreads, multipliers, and cap
          and floors values. average or treated value computed based on
          the underlyer observations, following the calculation rules.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="multiplier" type="xsd:decimal" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A rate multiplier to apply to the floating rate. The
          multiplier can be a positive or negative decimal. This
          element should only be included if the multiplier is not
          equal to 1 (one).
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="spread" type="xsd:decimal" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The ISDA Spread, if any, which applies for the calculation
          period. It also defines spread as price. 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="capValue" type="Strike" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The cap rate or price, if any, which applies to the floating
          rate for the calculation period. The cap rate (strike) is
          only required where the floating rate on a swap stream is
          capped at a certain strike level. 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="floorValue" type="Strike" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The floor rate or price, if any, which applies to the
          floating rate for the calculation period. The floor rate
          (strike) is only required where the floating rate on a swap
          stream is floored at a certain strike level. The floor rate
          is assumed to be exclusive of any spread and is a per annum
          rate, expressed as a decimal. The floor 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>

CashflowFixingReference

Description:

A type defining a reference to a cash flow fixing component defined somewhere in the document.

Figure:

Contents:

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

Attribute: href (xsd:IDREF) - required

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="CashflowFixingReference">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining a reference to a cash flow fixing component
      defined somewhere in the document.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Reference">
      <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="CashflowFixing"/>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

CashflowId

Description:

An identifier used to identify a single component cashflow.

Figure:

Contents:

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

Attribute: cashflowIdScheme (xsd:anyURI)

Used by:

Schema Fragment:

<xsd:complexType name="CashflowId">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An identifier used to identify a single component cashflow.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:normalizedString">
      <xsd:attribute name="cashflowIdScheme" type="xsd:anyURI"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

CashflowNotional

Description:

The notional/principal value/quantity/volume used to compute the cashflow.

Figure:

Contents:


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

Or


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

Attribute: id (xsd:ID)

Used by:

Schema Fragment:

<xsd:complexType name="CashflowNotional">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The notional/principal value/quantity/volume used to compute the
      cashflow.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:choice>
      <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="units" type="xsd:normalizedString">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The units in which an amount (not monetary) is denominated.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
    <xsd:element name="amount" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The quantity of notional (in currency or other units).
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
  <xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>

CashflowObservation

Description:

An observation of a rate or a price of an underlyer used in the computation of a cash flow amount.

Figure:

Contents:

underlyerReference (exactly one occurrence; of the type TradeUnderlyerReference)

In cases where the underlying index is observed by observing the value of a specific security different from the index (typically a futures price), the specific security whose price was observed. For example, the underlying index might be NYMEX Crude Oil, and the underlying asset whose price is observed on a particular day might be CLU7. The index is specified via the underlyerReference, while the specific asset is specified via the underlyingAsset. underlyingAsset (zero or one occurrence; of the type Asset)

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

observedValue (zero or one occurrence; of the type BasicQuotation)

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

Attribute: id (xsd:ID) - optional

Used by:

Schema Fragment:

<xsd:complexType name="CashflowObservation">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An observation of a rate or a price of an underlyer used in the
      computation of a cash flow amount.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="underlyerReference" type="TradeUnderlyerReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The underlyer whose rate or price is observed. Reference to
          an underlyer defined within the calculationElements
          structure.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element ref="underlyingAsset" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          In cases where the underlying index is observed by observing
          the value of a specific security different from the index
          (typically a futures price), the specific security whose
          price was observed. For example, the underlying index might
          be NYMEX Crude Oil, and the underlying asset whose price is
          observed on a particular day might be CLU7. The index is
          specified via the underlyerReference, while the specific
          asset is specified via the underlyingAsset.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="observationDate" type="xsd:date">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The date when the rate is observed. Corresponds to
          adjustedFixingDate on the Interest Rate Derivatives
          subschema.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="observedValue" type="BasicQuotation" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The observed rate or price, together with descriptive
          information such as units.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="weight" type="xsd:decimal" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The factor used to weight the observation in computing a
          weighted average. This is typically based on 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 observate date is established
          for a single calculation period. If omitted all observations
          are weighted equally. For Equity Derivatives Products it
          defines the basket percentage.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
  <xsd:attribute name="id" type="xsd:ID" use="optional"/>
</xsd:complexType>

CashflowObservationReference

Description:

Reference to a cash flow obervation component.

Figure:

Contents:

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

Attribute: href (xsd:IDREF) - required

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="CashflowObservationReference">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Reference to a cash flow obervation component.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Reference">
      <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="CashflowObservation"/>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

DefinePosition

Description:

A type that allows a position to be defined. It includes identification information (ID and version), trade information, etc.

Figure:

Contents:

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

forceMatch (zero or one occurrence; of the type PositionReference)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="DefinePosition">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that allows a position to be defined. It includes
      identification information (ID and version), trade information,
      etc.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Position">
      <xsd:sequence>
        <xsd:element name="forceMatch" type="PositionReference" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation>
              An optional reference to a position supplied by the
              matching party that is known to match this one.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

GrossCashflow

Description:

A payment component owed from one party to the other for the cash flow date. This payment component should by of only a single type, e.g. a fee or a cashflow from a cashflow stream.

Figure:

Contents:

cashflowId (exactly one occurrence; of the type CashflowId)

payerPartyReference (exactly one occurrence; of the type PartyOrAccountReference)

receiverPartyReference (exactly one occurrence; of the type PartyOrAccountReference)

cashflowAmount (exactly one occurrence; of the type Money)

cashflowType (zero or one occurrence; of the type CashflowType)

Used by:

Schema Fragment:

<xsd:complexType name="GrossCashflow">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A payment component owed from one party to the other for the cash
      flow date. This payment component should by of only a single
      type, e.g. a fee or a cashflow from a cashflow stream.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:sequence minOccurs="0">
      <xsd:element name="cashflowId" type="CashflowId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Unique identifier for a cash flow.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="PayerReceiver.model"/>
      <xsd:element name="cashflowAmount" type="Money">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Cash flow amount in a given currency to be paid/received.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:element name="cashflowType" type="CashflowType" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Defines the type of cash flow. For instance, a type of fee,
          premium, principal exchange, leg fee.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

InitialPortfolioDefinition

Description:

Figure:

Contents:

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

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

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="InitialPortfolioDefinition">
  <xsd:complexContent>
    <xsd:extension base="PortfolioDefinition">
      <xsd:sequence>
        <xsd:element name="newPortfolioDefinition" type="xsd:boolean">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Indicates whether it's a definition of a new portfolio
              (true) or an update to an existing one (false).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

MatchId

Description:

An identifier used to identify matched cashflows.

Figure:

Contents:

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

Attribute: matchIdScheme (xsd:anyURI)

Used by:

Schema Fragment:

<xsd:complexType name="MatchId">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An identifier used to identify matched cashflows.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:normalizedString">
      <xsd:attribute name="matchIdScheme" type="xsd:anyURI"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

PaymentId

Description:

An identifier used to identify a matchable payment.

Figure:

Contents:

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

Attribute: paymentIdScheme (xsd:anyURI)

Used by:

Schema Fragment:

<xsd:complexType name="PaymentId">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An identifier used to identify a matchable payment.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:normalizedString">
      <xsd:attribute name="paymentIdScheme" type="xsd:anyURI"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

PaymentMatching

Description:

A global type describing the payment exposed to the matching process, along with its gross component(s) and calculation details.

Figure:

Contents:

identifier (exactly one occurrence; of the type PaymentId)

payerPartyReference (exactly one occurrence; of the type PartyOrAccountReference)

receiverPartyReference (exactly one occurrence; of the type PartyOrAccountReference)

paymentAmount (exactly one occurrence; of the type Money)

calculationDetails (zero or more occurrences; of the type CalculationDetails)

Used by:

Schema Fragment:

<xsd:complexType name="PaymentMatching">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A global type describing the payment exposed to the matching
      process, along with its gross component(s) and calculation
      details.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="identifier" type="PaymentId">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Unique identifier assigned by either party or matching
          service, as agreed, to a payment.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:group ref="PayerReceiver.model"/>
    <xsd:element name="paymentAmount" type="Money">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Payment amount in a given currency to be paid/received.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="calculationDetails" type="CalculationDetails" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The set of cash flow components with calculations that
          comprise this payment.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

PortfolioDefinition

Description:

The set of elements that identify a portfolio.

Figure:

Contents:

portfolioName (exactly one occurrence; of the type xsd:normalizedString)

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

definingParty (exactly one occurrence; of the type PartyReference)

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="PortfolioDefinition">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The set of elements that identify a portfolio.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="portfolioName" type="xsd:normalizedString"/>
    <xsd:element name="asOfDate" type="xsd:date"/>
    <xsd:element name="definingParty" type="PartyReference"/>
    <xsd:element name="matchingParty" type="PartyReference" minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

PositionMatchResult

Description:

Figure:

Contents:

status (exactly one occurrence; of the type PositionMatchStatus)


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

Used by:

Schema Fragment:

<xsd:complexType name="PositionMatchResult">
  <xsd:sequence>
    <xsd:element name="status" type="PositionMatchStatus">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reconciliation status of the position.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:choice>
      <xsd:sequence>
        <xsd:element name="assertedPosition" type="AssertedPosition">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Position asserted by one of the parties.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="proposedMatch" type="PositionProposedMatch" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              "Other side's" position that meets the minimimum matching
              criteria and is proposed as match to the position that is
              being asserted.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:element name="allegedPosition" type="AssertedPosition">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Position asserted by the "other side's" party.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:sequence>
</xsd:complexType>

PositionMatchStatus

Description:

A coding scheme used to describe the matching status of a position.

Figure:

Contents:

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

Attribute: positionStatusScheme (xsd:anyURI)

Used by:

Schema Fragment:

<xsd:complexType name="PositionMatchStatus">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A coding scheme used to describe the matching status of a
      position.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:normalizedString">
      <xsd:attribute name="positionStatusScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/position-status-1-0"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

PositionProposedMatch

Description:

Figure:

Contents:

positionId (exactly one occurrence; of the type PositionId)

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

reportingRoles (zero or one occurrence; of the type ReportingRoles)

constituent (exactly one occurrence; of the type PositionConstituent)

scheduledDate (zero or more occurrences; of the type ScheduledDate)

valuation (zero or more occurrences; of the type AssetValuation)

matchId (zero or one occurrence; of the type MatchId)

difference (zero or more occurrences; of the type TradeDifference)

Used by:

Schema Fragment:

<xsd:complexType name="PositionProposedMatch">
  <xsd:sequence>
    <xsd:group ref="PositionIdAndVersion.model"/>
    <xsd:group ref="PositionWithoutId.model" minOccurs="0"/>
    <xsd:element name="matchId" type="MatchId" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A unique identifier assigned by the matching service to each
          set of matched positions.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="difference" type="TradeDifference" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type used to record the details of a difference between two
          sides of a position.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

PositionReference

Description:

A type that allows referencing a position by ID and version.

Figure:

Contents:

positionId (exactly one occurrence; of the type PositionId)

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

Used by:

Schema Fragment:

<xsd:complexType name="PositionReference">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that allows referencing a position by ID and version.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:group ref="PositionIdAndVersion.model"/>
  </xsd:sequence>
</xsd:complexType>

PositionsAcknowledged

Description:

Figure:

Contents:

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

portfolio (exactly one occurrence; of the type PortfolioDefinition)


There can be zero or any number of occurrences of the following structure; Choice of either

Or

Or


party (one or more occurrences; of the type Party)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="PositionsAcknowledged">
  <xsd:complexContent>
    <xsd:extension base="ResponseMessage">
      <xsd:sequence>
        <xsd:element name="portfolio" type="PortfolioDefinition">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Contains the portfolio definition.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
          <xsd:element name="definedPosition" type="PositionReference"/>
          <xsd:element name="removedPosition" type="PositionReference"/>
          <xsd:element name="unprocessedPosition" type="UnprocessedPosition"/>
        </xsd:choice>
        <xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

PositionsAsserted

Description:

Request that a portfolio be defined, either by replacing any pre-existing definition, or by updating or removing individual positions.

Figure:

Contents:

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

portfolio (exactly one occurrence; of the type InitialPortfolioDefinition)

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


There can be one occurance of the following structure;

party (one or more occurrences; of the type Party)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="PositionsAsserted">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Request that a portfolio be defined, either by replacing any
      pre-existing definition, or by updating or removing individual
      positions.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="RequestMessage">
      <xsd:sequence>
        <xsd:element name="portfolio" type="InitialPortfolioDefinition">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Contains the portfolio definition.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="submissionsComplete" type="xsd:boolean">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Indicates whether all portfolio updates have been
              submitted for this as-of date
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice>
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Either start from scratch and define new positions, or
              just update and remove positions
            </xsd:documentation>
          </xsd:annotation>
          <xsd:sequence>
            <xsd:element name="replaceAllPositions" type="Empty">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Indicates that this message replaces all previous
                  positions for this portfolio.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="definePosition" type="DefinePosition" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Used to specify a new position.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
          <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="definePosition" type="DefinePosition">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Used to specify a position, whether it is a new or
                  updated position.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="removePosition" type="PositionReference">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Used to remove a position from the portfolio.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
        </xsd:choice>
        <xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

PositionsMatchResults

Description:

Reports the results of the portfolio reconciliation operation. It states the matching results for multiple positions, supporting the match, mismatched, unmatched and alleged position results.

Figure:

Contents:

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

portfolio (exactly one occurrence; of the type PortfolioDefinition)

positionMatchResult (one or more occurrences; of the type PositionMatchResult)

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

party (one or more occurrences; of the type Party)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="PositionsMatchResults">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Reports the results of the portfolio reconciliation operation. It
      states the matching results for multiple positions, supporting
      the match, mismatched, unmatched and alleged position results.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="ResponseMessage">
      <xsd:sequence>
        <xsd:element name="portfolio" type="PortfolioDefinition">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Contains the portfolio definition.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="positionMatchResult" type="PositionMatchResult" maxOccurs="unbounded"/>
        <xsd:element name="matchCompleted" type="xsd:boolean">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Flag indicating whether the Matching Service has finished
              sending all matching results.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

RequestPortfolio

Description:

A type defining the content model for a message requesting a portfolio (for reconciliation purposes).

Figure:

Contents:

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

asOfDate (zero or one occurrence; with locally defined content) ...


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

Or


party (zero or more occurrences; of the type Party)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="RequestPortfolio">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model for a message requesting a
      portfolio (for reconciliation purposes).
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="RequestMessage">
      <xsd:sequence>
        <xsd:element name="asOfDate" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date for which this request desires positions and
              valuations.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice>
          <xsd:element name="portfolioName" type="xsd:normalizedString">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The name of the portfolio that is requested.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="requestedPositions" type="RequestedPositions">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The name of the data set (portfolio, product type,
                etc.) that this request corresponds to. Describes the
                desired report.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:element name="party" type="Party" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

StepReference

Description:

Reference to a Schedule's Step.

Figure:

Contents:

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

Attribute: href (xsd:IDREF) - required

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="StepReference">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Reference to a Schedule's Step.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Reference">
      <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="Step"/>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

TradeCashflowsAsserted

Description:

Message for assertion of payments to be reconciled. Notification message that submits cashflows that need to be reconciled per payment date at the trade level.

Figure:

Contents:

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

asOfDate (zero or one occurrence; of the type xsd:dateTime)

tradeCashflowsId (exactly one occurrence; of the type TradeCashflowsId)

tradeIdentifyingItems (exactly one occurrence; of the type TradeIdentifyingItems)

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

payment (one or more occurrences; of the type PaymentMatching)

matchId (zero or one occurrence; of the type MatchId)

party (one or more occurrences; of the type Party)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="TradeCashflowsAsserted">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Message for assertion of payments to be reconciled. Notification
      message that submits cashflows that need to be reconciled per
      payment date at the trade level.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="NotificationMessage">
      <xsd:sequence>
        <xsd:group ref="TradeCashflowsDefinition.model"/>
        <xsd:group ref="TradeCashflows.model"/>
        <xsd:element name="matchId" type="MatchId" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A unique identifier assigned by either party, or matching
              service, as agreed, to each set of matched cashflows.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              One party element for each of the principal parties and
              any other party that is referenced.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

TradeCashflowsId

Description:

An identifier used to identify the collection of cashflows for a particular trade on a particular day.

Figure:

Contents:

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

Attribute: tradeCashflowsIdScheme (xsd:anyURI)

Used by:

Schema Fragment:

<xsd:complexType name="TradeCashflowsId">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An identifier used to identify the collection of cashflows for a
      particular trade on a particular day.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:normalizedString">
      <xsd:attribute name="tradeCashflowsIdScheme" type="xsd:anyURI"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

TradeCashflowsMatchResult

Description:

Message for sending match results. Response message that returns the status of the set of cashflows (more than one in the case of cross-currency swaps) that have been reconciled.

Figure:

Contents:

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

status (exactly one occurrence; of the type TradeCashflowsStatus)


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

party (one or more occurrences; of the type Party)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="TradeCashflowsMatchResult">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Message for sending match results. Response message that returns
      the status of the set of cashflows (more than one in the case of
      cross-currency swaps) that have been reconciled.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="ResponseMessage">
      <xsd:sequence>
        <xsd:element name="status" type="TradeCashflowsStatus">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Reconciliation status of the set of cashflows.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice>
          <xsd:sequence>
            <xsd:element name="assertedCashflow" type="AssertedCashflow">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Cashflow (or set of cashflows for cross-currency
                  swap) asserted by one of the parties.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="proposedMatch" type="TradeCashflowsProposedMatch" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  "Other side's" cashflow that meets the minimimum
                  matching criteria and is proposed as match to the
                  cashflow that is being asserted.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
          <xsd:element name="allegedCashflow" type="AllegedCashflow">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Cashflow (or set of cashflows for cross-currency swap)
                asserted by the "other side's" party.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              One party element for each of the principal parties and
              any other party that is referenced.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

TradeCashflowsProposedMatch

Description:

"Other side's" cashflow that meets the minimimum matching criteria and is proposed as match to the cash flow that is being asserted.

Figure:

Contents:

tradeCashflowsId (exactly one occurrence; of the type TradeCashflowsId)

tradeIdentifyingItems (exactly one occurrence; of the type TradeIdentifyingItems)

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

payment (one or more occurrences; of the type PaymentMatching)

matchId (exactly one occurrence; of the type MatchId)

difference (zero or more occurrences; of the type TradeDifference)

Used by:

Schema Fragment:

<xsd:complexType name="TradeCashflowsProposedMatch">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      "Other side's" cashflow that meets the minimimum matching
      criteria and is proposed as match to the cash flow that is being
      asserted.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:group ref="IdAndTradeCashflows.model"/>
    <xsd:element name="matchId" type="MatchId">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A unique identifier assigned by the matching service to each
          set of matched cashflows.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="difference" type="TradeDifference" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type used to record the details of a difference between two
          sides of a payment.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

TradeCashflowsStatus

Description:

An coding scheme used to describe the matching status of a TradeCashFlows element.

Figure:

Contents:

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

Attribute: tradeCashflowsStatusScheme (xsd:anyURI)

Used by:

Schema Fragment:

<xsd:complexType name="TradeCashflowsStatus">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An coding scheme used to describe the matching status of a
      TradeCashFlows element.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:normalizedString">
      <xsd:attribute name="tradeCashflowsStatusScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/trade-cashflows-status-1-0"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

TradeDetails

Description:

Summary trade economic details used to help identify a trade where no shared trade ID is available.

Figure:

Contents:

tradeDate (exactly one occurrence; of the type IdentifiedDate)

effectiveDate (exactly one occurrence; of the type AdjustableDate2)

terminationDate (exactly one occurrence; of the type AdjustableDate2)

productType (zero or one occurrence; of the type ProductType)

underlyer (zero or more occurrences; of the type TradeUnderlyer)

notional (zero or more occurrences; of the type CashflowNotional)

Used by:

Schema Fragment:

<xsd:complexType name="TradeDetails">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Summary trade economic details used to help identify a trade
      where no shared trade ID is available.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="tradeDate" type="IdentifiedDate">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The trade date.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="effectiveDate" type="AdjustableDate2">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The earliest of all the effective dates of all constituent
          streams.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="terminationDate" type="AdjustableDate2">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The latest of all of the termination dates of the constituent
          streams.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="productType" type="ProductType" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A classification of the type of product. FpML does not define
          domain values for this element.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="underlyer" type="TradeUnderlyer" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The set of underlyers to the trade that can be used in
          computing the trade's cashflows. If this information is
          needed to identify the trade, all of the trade's underlyers
          should be specified, whether or not they figure into the
          cashflow calculation. Otherwise, only those underlyers used
          to compute this particular cashflow need be supplied.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="notional" type="CashflowNotional" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The notional or notionals in effect on the last day of the
          last calculation period in each stream.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

TradeIdentifyingItems

Description:

Data elements that can be used to identify the trade for which cashflows are being communicated. This includes both explicit trade identifiers and summary economic details.

Figure:

Contents:

partyTradeIdentifier (one or more occurrences; of the type PartyTradeIdentifier)

tradeDetails (zero or one occurrence; of the type TradeDetails)

Used by:

Schema Fragment:

<xsd:complexType name="TradeIdentifyingItems">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Data elements that can be used to identify the trade for which
      cashflows are being communicated. This includes both explicit
      trade identifiers and summary economic details.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="partyTradeIdentifier" type="PartyTradeIdentifier" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Structure defining one or more trade identifiers allocated to
          the trade by a party. It is expected that for external
          communication of trade there will be only one tradeId sent in
          the document per party.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="tradeDetails" type="TradeDetails" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Structure that holds some trade-specific elements for
          identifying the trade only in the case of trades that have
          not been negotiated through electronic platforms and for
          which the counterparty's trade ID has not been captured.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

TradeUnderlyer

Description:

The underlying asset/index/reference price etc. whose rate/price may be observed to compute the value of the cashflow. It can be an index, fixed rate, listed security, quoted currency pair, or a reference entity (for credit derivatives).

Figure:

Contents:


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

Or

Or

Or


Attribute: id (xsd:ID)

Used by:

Schema Fragment:

<xsd:complexType name="TradeUnderlyer">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The underlying asset/index/reference price etc. whose rate/price
      may be observed to compute the value of the cashflow. It can be
      an index, fixed rate, listed security, quoted currency pair, or a
      reference entity (for credit derivatives).
    </xsd:documentation>
  </xsd:annotation>
  <xsd:choice>
    <xsd:element name="floatingRate" type="FloatingRate">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A floating rate.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="fixedRate" type="Schedule">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The fixed rate or fixed rate schedule expressed as explicit
          fixed rates and dates. In the case of a schedule, the step
          dates may be subject to adjustment in accordance with any
          adjustments specified in calculationPeriodDatesAdjustments.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element ref="underlyingAsset">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Define the underlying asset when it is a listed security.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="referenceEntity" type="LegalEntity">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The corporate or sovereign entity on which you are buying or
          selling protection and any successor that assumes all or
          substantially all of its contractual and other obligations.
          It is vital to use the correct legal name of the entity and
          to be careful not to choose a subsidiary if you really want
          to trade protection on a parent company. Please note,
          Reference Entities cannot be senior or subordinated. It is
          the obligations of the Reference Entities that can be senior
          or subordinated. ISDA 2003 Term: Reference Entity
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:choice>
  <xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>

TradeUnderlyerReference

Description:

Reference to a trade underlyer component.

Figure:

Contents:

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

Attribute: href (xsd:IDREF) - required

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="TradeUnderlyerReference">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Reference to a trade underlyer component.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Reference">
      <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="TradeUnderlyer"/>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

UnderlyerReferenceUnits

Description:

Figure:

Contents:

underlyerReference (exactly one occurrence; of the type TradeUnderlyerReference)

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

Used by:

Schema Fragment:

<xsd:complexType name="UnderlyerReferenceUnits">
  <xsd:sequence>
    <xsd:element name="underlyerReference" type="TradeUnderlyerReference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Reference to the underlyer defined within the
          calculationElements structure.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="quantity" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Amount of units.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

UnprocessedPosition

Description:

A type describing the situation when an entire position change cannot be processed. It includes the position identification information and the reason that the position change could not be processed.

Figure:

Contents:

positionId (exactly one occurrence; of the type PositionId)

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

reason (zero or more occurrences; of the type Reason)

Used by:

Schema Fragment:

<xsd:complexType name="UnprocessedPosition">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type describing the situation when an entire position change
      cannot be processed. It includes the position identification
      information and the reason that the position change could not be
      processed.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:group ref="PositionIdAndVersion.model"/>
    <xsd:element name="reason" type="Reason" minOccurs="0" maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:complexType>

Global Elements

The schema does not contain any global elements.


Groups

DefinitionAndCashflows.model

Description:

Figure:

Contents:

asOfDate (zero or one occurrence; of the type xsd:dateTime)

tradeCashflowsId (exactly one occurrence; of the type TradeCashflowsId)

tradeIdentifyingItems (exactly one occurrence; of the type TradeIdentifyingItems)

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

payment (one or more occurrences; of the type PaymentMatching)

Used by:

Schema Fragment:

<xsd:group name="DefinitionAndCashflows.model">
  <xsd:sequence>
    <xsd:group ref="TradeCashflowsDefinition.model"/>
    <xsd:group ref="TradeCashflows.model" minOccurs="0"/>
  </xsd:sequence>
</xsd:group>

IdAndTradeCashflows.model

Description:

Figure:

Contents:

tradeCashflowsId (exactly one occurrence; of the type TradeCashflowsId)

tradeIdentifyingItems (exactly one occurrence; of the type TradeIdentifyingItems)

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

payment (one or more occurrences; of the type PaymentMatching)

Used by:

Schema Fragment:

<xsd:group name="IdAndTradeCashflows.model">
  <xsd:sequence>
    <xsd:element name="tradeCashflowsId" type="TradeCashflowsId">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Unique identifier assigned by either party to a set of
          cashflows.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:group ref="TradeCashflows.model" minOccurs="0"/>
  </xsd:sequence>
</xsd:group>

PositionWithoutId.model

Description:

A group specifying the position model without including position identification elements.

Figure:

Contents:

reportingRoles (zero or one occurrence; of the type ReportingRoles)

constituent (exactly one occurrence; of the type PositionConstituent)

scheduledDate (zero or more occurrences; of the type ScheduledDate)

valuation (zero or more occurrences; of the type AssetValuation)

Used by:

Schema Fragment:

<xsd:group name="PositionWithoutId.model">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A group specifying the position model without including position
      identification elements.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="reportingRoles" type="ReportingRoles" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Information about the roles of the parties with respect to
          reporting the positions.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="constituent" type="PositionConstituent">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The components that create this position.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="scheduledDate" type="ScheduledDate" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Position level schedule date, such as final payment dates, in
          a simple and flexible format.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="valuation" type="AssetValuation" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Valuation reported for the position, such as NPV or accrued
          interest. The asset/object references in the valuations
          should refer to the deal or components of the deal in the
          position, e.g. legs, streams, or underlyers.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:group>

TradeCashflows.model

Description:

A group describing the cashflows owing on a particular adjustedPaymentDate for a specific trade.

Figure:

Contents:

tradeIdentifyingItems (exactly one occurrence; of the type TradeIdentifyingItems)

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

payment (one or more occurrences; of the type PaymentMatching)

Used by:

Schema Fragment:

<xsd:group name="TradeCashflows.model">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A group describing the cashflows owing on a particular
      adjustedPaymentDate for a specific trade.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="tradeIdentifyingItems" type="TradeIdentifyingItems">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Structure that holds reference to the trade through the
          tradeId and optionally some trade-specific elements for
          identifying the trade in the case of trades that have not
          been negotiated through electronic platforms and for which
          the counterparty's trade ID has not been captured.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="adjustedPaymentDate" type="xsd:date">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The adjusted date in which the payments are being
          paid/received.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="payment" type="PaymentMatching" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Specifies the payment that is exposed to the matching
          process. Usually there will be a single payment but for
          cross-currency swaps a different payment per currency shall
          be provided.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:group>

TradeCashflowsDefinition.model

Description:

Figure:

Contents:

asOfDate (zero or one occurrence; of the type xsd:dateTime)

tradeCashflowsId (exactly one occurrence; of the type TradeCashflowsId)

Used by:

Schema Fragment:

<xsd:group name="TradeCashflowsDefinition.model">
  <xsd:sequence>
    <xsd:element name="asOfDate" type="xsd:dateTime" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The date and time at which the set of cashflows was defined.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="tradeCashflowsId" type="TradeCashflowsId">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Unique identifier assigned by the party asserting the set of
          cashflows to be reconciled.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:group>

Full XML Schema

<xsd:schema ecore:nsPrefix="fpml" ecore:package="org.fpml" ecore:documentRoot="FpML" targetNamespace="http://www.fpml.org/2007/FpML-4-3" version="$Revision: 2710 $" attributeFormDefault="unqualified" elementFormDefault="qualified">
  <xsd:include schemaLocation="fpml-reporting-4-3.xsd"/>
  <xsd:complexType name="AllegedCashflow">
    <xsd:sequence>
      <xsd:group ref="DefinitionAndCashflows.model"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="AssertedCashflow">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that defines a cashflow (or set of cashflows for
        cross-currency swap) asserted by one of the parties.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:group ref="DefinitionAndCashflows.model"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="AssertedPosition">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that defines a position asserted by one of the parties.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:group ref="PositionIdAndVersion.model"/>
      <xsd:group ref="PositionWithoutId.model" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CancelTradeCashflows">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Message for cancellation of payments to be reconciled. A
        message sent to indicate that previously asserted
        TradeCashFlows are no longer in effect. For example, this may
        be caused by a trade's being terminated or assigned after a
        TradeCashflowsAsserted message has been sent but before the
        payment date.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NotificationMessage">
        <xsd:sequence>
          <xsd:group ref="IdAndTradeCashflows.model"/>
          <xsd:element name="matchId" type="MatchId" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A unique identifier assigned by matching service to
                each set of matched cashflows.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                One party element for each of the principal parties and
                any other party that is referenced.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="CalculationDetails">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A cashflow component with optional calculation details that
        explain how the cashflow amount was computed.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="grossCashflow" type="GrossCashflow" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Payment details of this cash flow component, including
            currency, amount and payer/payee.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="observationElements" type="CashflowObservation" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The underlyer rate or price observation(s) used to compute
            the amount of this cashflow component.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="calculationElements" type="CashflowCalculationElements" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CashflowCalculationElements">
    <xsd:sequence>
      <xsd:element name="numberOfUnits" type="UnderlyerReferenceUnits" minOccurs="0"/>
      <xsd:element name="notional" type="CashflowNotional" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Identifies the notional in effect for this calculation
            period.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="underlyer" type="TradeUnderlyer" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The underlyer(s) used to calculate the amount of this
            cashflow component. The underlyer(s) will remain unaltered
            from the values specified in the underlying transaction
            (i.e. the Fixed Rate on a Credit Default Swap).
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="calculatedRate" type="CashflowFixing" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The computed rate(s) or price(s) used to calculate the
            amount of this cashflow component. These computed rates or
            prices may include averaging and/or various types of rate
            treatment rules.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="calculationPeriod" type="CashflowCalculationPeriod" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The period details for calculation/accrual periods that
            comprise this cashflow component.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CashflowCalculationPeriod">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The period calculation details for a calculation/accrual
        period. This will include information about the dates and
        duration of the accrual period, the rate fixing(s), the
        notional in effect, and the amount of the accrual.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="calculatedRateReference" type="CashflowFixingReference" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference to the fixing details defined somewhere in the
            document.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="adjustedStartDate" type="xsd:date" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Date that defines the beginning of the calculation period.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="adjustedEndDate" type="xsd:date" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Date that defines the end of the calculation period.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="numberOfDays" type="xsd:positiveInteger" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The number of days from the adjusted effective / start date
            to the adjusted termination / end date calculated in
            accordance with the applicable day count fraction.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="fixedRateStepReference" type="StepReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference to the fixed rate schedule's step in order to
            identify the calculation period fixed rate.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="dayCountFraction" type="DayCountFraction" minOccurs="0">
        <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:element>
      <xsd:element name="dayCountYearFraction" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The year fraction value of the calculation period, result
            of applying the ISDA rules for day count fraction defined
            in the ISDA Annex.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="compoundingMethod" type="CompoundingMethodEnum" minOccurs="0">
        <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:element name="accruedAmount" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The amount of payment accrued during this accrual period.
            This is required only when there are multiple calculation
            periods within the same cashflow component, for example
            when the calculation period is shorter than the payment
            period.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CashflowFixing">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Details of the computation of a computed rate or price used to
        calculate the amount of a cashflow component. This computed
        rate or price may include averaging and/or various types of
        rate treatment rules. The details include all of the
        observations, the calculation parameters, and the resulting
        value.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="observationReference" type="CashflowObservationReference" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference to the observation details of a particular rate
            observation.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="calculatedValue" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The value computed based on averaging the underlying
            observation and applying any spreads, multipliers, and cap
            and floors values. average or treated value computed based
            on the underlyer observations, following the calculation
            rules.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="multiplier" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A rate multiplier to apply to the floating rate. The
            multiplier can be a positive or negative decimal. This
            element should only be included if the multiplier is not
            equal to 1 (one).
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="spread" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The ISDA Spread, if any, which applies for the calculation
            period. It also defines spread as price. 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="capValue" type="Strike" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The cap rate or price, if any, which applies to the
            floating rate for the calculation period. The cap rate
            (strike) is only required where the floating rate on a swap
            stream is capped at a certain strike level. 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="floorValue" type="Strike" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The floor rate or price, if any, which applies to the
            floating rate for the calculation period. The floor rate
            (strike) is only required where the floating rate on a swap
            stream is floored at a certain strike level. The floor rate
            is assumed to be exclusive of any spread and is a per annum
            rate, expressed as a decimal. The floor 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="CashflowFixingReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining a reference to a cash flow fixing component
        defined somewhere in the document.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="CashflowFixing"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="CashflowId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An identifier used to identify a single component cashflow.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:normalizedString">
        <xsd:attribute name="cashflowIdScheme" type="xsd:anyURI"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="CashflowNotional">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The notional/principal value/quantity/volume used to compute
        the cashflow.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:choice>
        <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="units" type="xsd:normalizedString">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The units in which an amount (not monetary) is
              denominated.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:element name="amount" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The quantity of notional (in currency or other units).
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID"/>
  </xsd:complexType>
  <xsd:complexType name="CashflowObservation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An observation of a rate or a price of an underlyer used in the
        computation of a cash flow amount.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="underlyerReference" type="TradeUnderlyerReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The underlyer whose rate or price is observed. Reference to
            an underlyer defined within the calculationElements
            structure.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="underlyingAsset" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            In cases where the underlying index is observed by
            observing the value of a specific security different from
            the index (typically a futures price), the specific
            security whose price was observed. For example, the
            underlying index might be NYMEX Crude Oil, and the
            underlying asset whose price is observed on a particular
            day might be CLU7. The index is specified via the
            underlyerReference, while the specific asset is specified
            via the underlyingAsset.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="observationDate" type="xsd:date">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The date when the rate is observed. Corresponds to
            adjustedFixingDate on the Interest Rate Derivatives
            subschema.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="observedValue" type="BasicQuotation" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The observed rate or price, together with descriptive
            information such as units.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="weight" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The factor used to weight the observation in computing a
            weighted average. This is typically based on 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 observate date is
            established for a single calculation period. If omitted all
            observations are weighted equally. For Equity Derivatives
            Products it defines the basket percentage.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" use="optional"/>
  </xsd:complexType>
  <xsd:complexType name="CashflowObservationReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Reference to a cash flow obervation component.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="CashflowObservation"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="DefinePosition">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that allows a position to be defined. It includes
        identification information (ID and version), trade information,
        etc.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Position">
        <xsd:sequence>
          <xsd:element name="forceMatch" type="PositionReference" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation>
                An optional reference to a position supplied by the
                matching party that is known to match this one.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="GrossCashflow">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A payment component owed from one party to the other for the
        cash flow date. This payment component should by of only a
        single type, e.g. a fee or a cashflow from a cashflow stream.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:sequence minOccurs="0">
        <xsd:element name="cashflowId" type="CashflowId">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Unique identifier for a cash flow.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:group ref="PayerReceiver.model"/>
        <xsd:element name="cashflowAmount" type="Money">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Cash flow amount in a given currency to be paid/received.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:element name="cashflowType" type="CashflowType" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Defines the type of cash flow. For instance, a type of fee,
            premium, principal exchange, leg fee.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="InitialPortfolioDefinition">
    <xsd:complexContent>
      <xsd:extension base="PortfolioDefinition">
        <xsd:sequence>
          <xsd:element name="newPortfolioDefinition" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Indicates whether it's a definition of a new portfolio
                (true) or an update to an existing one (false).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="MatchId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An identifier used to identify matched cashflows.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:normalizedString">
        <xsd:attribute name="matchIdScheme" type="xsd:anyURI"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="PaymentId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An identifier used to identify a matchable payment.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:normalizedString">
        <xsd:attribute name="paymentIdScheme" type="xsd:anyURI"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="PaymentMatching">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A global type describing the payment exposed to the matching
        process, along with its gross component(s) and calculation
        details.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="identifier" type="PaymentId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Unique identifier assigned by either party or matching
            service, as agreed, to a payment.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="PayerReceiver.model"/>
      <xsd:element name="paymentAmount" type="Money">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Payment amount in a given currency to be paid/received.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="calculationDetails" type="CalculationDetails" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The set of cash flow components with calculations that
            comprise this payment.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PortfolioDefinition">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The set of elements that identify a portfolio.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="portfolioName" type="xsd:normalizedString"/>
      <xsd:element name="asOfDate" type="xsd:date"/>
      <xsd:element name="definingParty" type="PartyReference"/>
      <xsd:element name="matchingParty" type="PartyReference" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PositionMatchResult">
    <xsd:sequence>
      <xsd:element name="status" type="PositionMatchStatus">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reconciliation status of the position.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:choice>
        <xsd:sequence>
          <xsd:element name="assertedPosition" type="AssertedPosition">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Position asserted by one of the parties.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="proposedMatch" type="PositionProposedMatch" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                "Other side's" position that meets the minimimum
                matching criteria and is proposed as match to the
                position that is being asserted.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:element name="allegedPosition" type="AssertedPosition">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Position asserted by the "other side's" party.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PositionMatchStatus">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A coding scheme used to describe the matching status of a
        position.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:normalizedString">
        <xsd:attribute name="positionStatusScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/position-status-1-0"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="PositionProposedMatch">
    <xsd:sequence>
      <xsd:group ref="PositionIdAndVersion.model"/>
      <xsd:group ref="PositionWithoutId.model" minOccurs="0"/>
      <xsd:element name="matchId" type="MatchId" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A unique identifier assigned by the matching service to
            each set of matched positions.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="difference" type="TradeDifference" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type used to record the details of a difference between
            two sides of a position.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PositionReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that allows referencing a position by ID and version.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:group ref="PositionIdAndVersion.model"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PositionsAcknowledged">
    <xsd:complexContent>
      <xsd:extension base="ResponseMessage">
        <xsd:sequence>
          <xsd:element name="portfolio" type="PortfolioDefinition">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Contains the portfolio definition.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="definedPosition" type="PositionReference"/>
            <xsd:element name="removedPosition" type="PositionReference"/>
            <xsd:element name="unprocessedPosition" type="UnprocessedPosition"/>
          </xsd:choice>
          <xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="PositionsAsserted">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Request that a portfolio be defined, either by replacing any
        pre-existing definition, or by updating or removing individual
        positions.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="RequestMessage">
        <xsd:sequence>
          <xsd:element name="portfolio" type="InitialPortfolioDefinition">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Contains the portfolio definition.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="submissionsComplete" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Indicates whether all portfolio updates have been
                submitted for this as-of date
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice>
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Either start from scratch and define new positions, or
                just update and remove positions
              </xsd:documentation>
            </xsd:annotation>
            <xsd:sequence>
              <xsd:element name="replaceAllPositions" type="Empty">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Indicates that this message replaces all previous
                    positions for this portfolio.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="definePosition" type="DefinePosition" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Used to specify a new position.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="unbounded">
              <xsd:element name="definePosition" type="DefinePosition">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Used to specify a position, whether it is a new or
                    updated position.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="removePosition" type="PositionReference">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Used to remove a position from the portfolio.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:choice>
          <xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="PositionsMatchResults">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Reports the results of the portfolio reconciliation operation.
        It states the matching results for multiple positions,
        supporting the match, mismatched, unmatched and alleged
        position results.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ResponseMessage">
        <xsd:sequence>
          <xsd:element name="portfolio" type="PortfolioDefinition">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Contains the portfolio definition.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="positionMatchResult" type="PositionMatchResult" maxOccurs="unbounded"/>
          <xsd:element name="matchCompleted" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Flag indicating whether the Matching Service has
                finished sending all matching results.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="RequestPortfolio">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model for a message requesting a
        portfolio (for reconciliation purposes).
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="RequestMessage">
        <xsd:sequence>
          <xsd:element name="asOfDate" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date for which this request desires positions and
                valuations.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice>
            <xsd:element name="portfolioName" type="xsd:normalizedString">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The name of the portfolio that is requested.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="requestedPositions" type="RequestedPositions">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The name of the data set (portfolio, product type,
                  etc.) that this request corresponds to. Describes the
                  desired report.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:element name="party" type="Party" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="StepReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Reference to a Schedule's Step.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="Step"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="TradeCashflowsAsserted">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Message for assertion of payments to be reconciled.
        Notification message that submits cashflows that need to be
        reconciled per payment date at the trade level.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NotificationMessage">
        <xsd:sequence>
          <xsd:group ref="TradeCashflowsDefinition.model"/>
          <xsd:group ref="TradeCashflows.model"/>
          <xsd:element name="matchId" type="MatchId" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A unique identifier assigned by either party, or
                matching service, as agreed, to each set of matched
                cashflows.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                One party element for each of the principal parties and
                any other party that is referenced.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="TradeCashflowsId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An identifier used to identify the collection of cashflows for
        a particular trade on a particular day.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:normalizedString">
        <xsd:attribute name="tradeCashflowsIdScheme" type="xsd:anyURI"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="TradeCashflowsMatchResult">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Message for sending match results. Response message that
        returns the status of the set of cashflows (more than one in
        the case of cross-currency swaps) that have been reconciled.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ResponseMessage">
        <xsd:sequence>
          <xsd:element name="status" type="TradeCashflowsStatus">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Reconciliation status of the set of cashflows.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice>
            <xsd:sequence>
              <xsd:element name="assertedCashflow" type="AssertedCashflow">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Cashflow (or set of cashflows for cross-currency
                    swap) asserted by one of the parties.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="proposedMatch" type="TradeCashflowsProposedMatch" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    "Other side's" cashflow that meets the minimimum
                    matching criteria and is proposed as match to the
                    cashflow that is being asserted.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
            <xsd:element name="allegedCashflow" type="AllegedCashflow">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Cashflow (or set of cashflows for cross-currency
                  swap) asserted by the "other side's" party.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                One party element for each of the principal parties and
                any other party that is referenced.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="TradeCashflowsProposedMatch">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        "Other side's" cashflow that meets the minimimum matching
        criteria and is proposed as match to the cash flow that is
        being asserted.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:group ref="IdAndTradeCashflows.model"/>
      <xsd:element name="matchId" type="MatchId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A unique identifier assigned by the matching service to
            each set of matched cashflows.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="difference" type="TradeDifference" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type used to record the details of a difference between
            two sides of a payment.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="TradeCashflowsStatus">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An coding scheme used to describe the matching status of a
        TradeCashFlows element.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:normalizedString">
        <xsd:attribute name="tradeCashflowsStatusScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/trade-cashflows-status-1-0"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="TradeDetails">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Summary trade economic details used to help identify a trade
        where no shared trade ID is available.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="tradeDate" type="IdentifiedDate">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The trade date.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="effectiveDate" type="AdjustableDate2">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The earliest of all the effective dates of all constituent
            streams.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="terminationDate" type="AdjustableDate2">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The latest of all of the termination dates of the
            constituent streams.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="productType" type="ProductType" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A classification of the type of product. FpML does not
            define domain values for this element.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="underlyer" type="TradeUnderlyer" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The set of underlyers to the trade that can be used in
            computing the trade's cashflows. If this information is
            needed to identify the trade, all of the trade's underlyers
            should be specified, whether or not they figure into the
            cashflow calculation. Otherwise, only those underlyers used
            to compute this particular cashflow need be supplied.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="notional" type="CashflowNotional" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The notional or notionals in effect on the last day of the
            last calculation period in each stream.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="TradeIdentifyingItems">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Data elements that can be used to identify the trade for which
        cashflows are being communicated. This includes both explicit
        trade identifiers and summary economic details.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="partyTradeIdentifier" type="PartyTradeIdentifier" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Structure defining one or more trade identifiers allocated
            to the trade by a party. It is expected that for external
            communication of trade there will be only one tradeId sent
            in the document per party.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="tradeDetails" type="TradeDetails" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Structure that holds some trade-specific elements for
            identifying the trade only in the case of trades that have
            not been negotiated through electronic platforms and for
            which the counterparty's trade ID has not been captured.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="TradeUnderlyer">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The underlying asset/index/reference price etc. whose
        rate/price may be observed to compute the value of the
        cashflow. It can be an index, fixed rate, listed security,
        quoted currency pair, or a reference entity (for credit
        derivatives).
      </xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="floatingRate" type="FloatingRate">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A floating rate.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="fixedRate" type="Schedule">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The fixed rate or fixed rate schedule expressed as explicit
            fixed rates and dates. In the case of a schedule, the step
            dates may be subject to adjustment in accordance with any
            adjustments specified in calculationPeriodDatesAdjustments.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="underlyingAsset">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Define the underlying asset when it is a listed security.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="referenceEntity" type="LegalEntity">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The corporate or sovereign entity on which you are buying
            or selling protection and any successor that assumes all or
            substantially all of its contractual and other obligations.
            It is vital to use the correct legal name of the entity and
            to be careful not to choose a subsidiary if you really want
            to trade protection on a parent company. Please note,
            Reference Entities cannot be senior or subordinated. It is
            the obligations of the Reference Entities that can be
            senior or subordinated. ISDA 2003 Term: Reference Entity
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
    <xsd:attribute name="id" type="xsd:ID"/>
  </xsd:complexType>
  <xsd:complexType name="TradeUnderlyerReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Reference to a trade underlyer component.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="TradeUnderlyer"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="UnderlyerReferenceUnits">
    <xsd:sequence>
      <xsd:element name="underlyerReference" type="TradeUnderlyerReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Reference to the underlyer defined within the
            calculationElements structure.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="quantity" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Amount of units.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="UnprocessedPosition">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type describing the situation when an entire position change
        cannot be processed. It includes the position identification
        information and the reason that the position change could not
        be processed.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:group ref="PositionIdAndVersion.model"/>
      <xsd:element name="reason" type="Reason" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:group name="DefinitionAndCashflows.model">
    <xsd:sequence>
      <xsd:group ref="TradeCashflowsDefinition.model"/>
      <xsd:group ref="TradeCashflows.model" minOccurs="0"/>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="IdAndTradeCashflows.model">
    <xsd:sequence>
      <xsd:element name="tradeCashflowsId" type="TradeCashflowsId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Unique identifier assigned by either party to a set of
            cashflows.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="TradeCashflows.model" minOccurs="0"/>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="PositionWithoutId.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A group specifying the position model without including
        position identification elements.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="reportingRoles" type="ReportingRoles" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Information about the roles of the parties with respect to
            reporting the positions.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="constituent" type="PositionConstituent">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The components that create this position.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="scheduledDate" type="ScheduledDate" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Position level schedule date, such as final payment dates,
            in a simple and flexible format.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="valuation" type="AssetValuation" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Valuation reported for the position, such as NPV or accrued
            interest. The asset/object references in the valuations
            should refer to the deal or components of the deal in the
            position, e.g. legs, streams, or underlyers.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="TradeCashflows.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A group describing the cashflows owing on a particular
        adjustedPaymentDate for a specific trade.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="tradeIdentifyingItems" type="TradeIdentifyingItems">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Structure that holds reference to the trade through the
            tradeId and optionally some trade-specific elements for
            identifying the trade in the case of trades that have not
            been negotiated through electronic platforms and for which
            the counterparty's trade ID has not been captured.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="adjustedPaymentDate" type="xsd:date">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The adjusted date in which the payments are being
            paid/received.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="payment" type="PaymentMatching" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Specifies the payment that is exposed to the matching
            process. Usually there will be a single payment but for
            cross-currency swaps a different payment per currency shall
            be provided.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="TradeCashflowsDefinition.model">
    <xsd:sequence>
      <xsd:element name="asOfDate" type="xsd:dateTime" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The date and time at which the set of cashflows was
            defined.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="tradeCashflowsId" type="TradeCashflowsId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Unique identifier assigned by the party asserting the set
            of cashflows to be reconciled.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
</xsd:schema>