# FpML 4.2 Trial Recommendation

## 10 September 2021

## Doc Component Definitions

### Version: 4.2

### This Version:

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

### Latest Version:

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

### Previous Version:

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

### Errata for this Version:

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

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

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
    QueryParameterValue
  Global Complex Types
    Account
    AccountId
    Allocation
    Allocations
    AllocationTradeIdentifier
    Amendment
    Approval
    Approvals
    BestFitTrade
    BlockTradeIdentifier
    ChangeContract
    ChangeContractSize
    Collateral
    Contract
    ContractHeader
    ContractId
    ContractIdentifier
    ContractNovation
    ContractReference
    ContractTermination
    CreditDerivativesNotices
    DataDocument
    Document
    Event
    EventId
    FirstPeriodStartDate
    Increase
    IndependentAmount
    LinkId
    Party
    PartyId
    PartyPortfolioName
    PartyRole
    PartyTradeIdentifier
    PartyTradeIdentifiers
    PartyTradeInformation
    PaymentDetail
    PaymentRule
    PercentageRule
    Portfolio
    PortfolioName
    QueryParameter
    QueryParameterId
    QueryParameterOperator
    QueryPortfolio
    Strategy
    Trade
    TradeDifference
    TradeHeader
    TradeId
    TradeIdentifier
    Trader
    TradeSide
    Validation
    VersionedContractId
    VersionedTradeId
  Global Elements
    event
    strategy
  Groups
    AccountReferenceOrPartyReference.model
    AllocationContent.model
    AmendmentDetails.model
    CalculationAgent.model
    ContractNovationDetails.model
    ContractOrContractReference.model
    IncreaseDetails.model
    TradeOrTradeReference.model
    Validation.model
    VersionHistory.model
  Schema Listing

# Global Simple Types

## QueryParameterValue

### Description:

A type representing a value corresponding to an identifier for a parameter describing a query portfolio.

### Contents:

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

### Used by:

### Schema Fragment:

    <xsd:simpleType name="QueryParameterValue">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type representing a value corresponding to an identifier for a
          parameter describing a query portfolio.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:restriction base="xsd:string"/>
    </xsd:simpleType>

# Global Complex Types

## Account

### Description:

A generic account that represents any party's account at another party. Parties may be identified by the account at another party.

### Figure:

### Contents:

accountId (exactly one occurrence; of the type AccountId)

- An account identifier. For example an Account number.

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

- The name by which the account is known.

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

- A reference to the party beneficiary of the account.

Attribute: id (xsd:ID) - required

### Used by:

- Party/account

### Schema Fragment:

    <xsd:complexType name="Account">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A generic account that represents any party's account at another
          party. Parties may be identified by the account at another party.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:sequence maxOccurs="unbounded">
          <xsd:element name="accountId" type="AccountId">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An account identifier. For example an Account number.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="accountName" type="xsd:normalizedString" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The name by which the account is known.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:element name="accountBeneficiary" type="PartyReference" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A reference to the party beneficiary of the account.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="required">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The unique identifier for the account within the document.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:attribute>
    </xsd:complexType>

## AccountId

### Description:

The data type used for party identifiers.

### Figure:

### Contents:

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

Attribute: accountIdScheme (xsd:anyURI)

### Used by:

- Account/accountId

### Schema Fragment:

    <xsd:complexType name="AccountId">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The data type used for party identifiers.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="accountIdScheme" type="xsd:anyURI">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The identifier scheme used with this accountId. A unique
                URI to determine the authoritative issuer of these
                identifiers.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## Allocation

### Description:

### Figure:

### Contents:

allocationTradeId (exactly one occurrence; of the type PartyTradeIdentifier)

- Unique ID for the allocation.

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

accountReference (exactly one occurrence; of the type AccountReference)

- Reference to the subaccount definition in the Party list.

Or

partyReference (exactly one occurrence; of the type PartyReference)

- Reference to the party definition.

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

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

- The fractional allocation (0.45 = 45%) of the notional and "block" fees to this particular client subaccount.

Or

allocatedNotional (exactly one occurrence; of the type Money)

- The notional allocation (amount and currency) to this particular client account.

collateral (zero or one occurrence; of the type Collateral)

- The sum that must be posted upfront to collateralize against counterparty credit risk.

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

- Special credit fee assessed to certain institutions.

approvals (zero or one occurrence; of the type Approvals)

- A container for approval states in the workflow.

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

- The date of the confirmation executed between the parties and intended to govern the allocated trade between those parties.

### Used by:

- Allocations/allocation

### Schema Fragment:

    <xsd:complexType name="Allocation">
      <xsd:sequence>
        <xsd:element name="allocationTradeId" type="PartyTradeIdentifier">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Unique ID for the allocation.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:group ref="AccountReferenceOrPartyReference.model"/>
        <xsd:choice>
          <xsd:element name="allocatedFraction" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The fractional allocation (0.45 = 45%) of the notional and
                "block" fees to this particular client subaccount.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="allocatedNotional" type="Money">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The notional allocation (amount and currency) to this
                particular client account.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:group ref="AllocationContent.model"/>
      </xsd:sequence>
    </xsd:complexType>

## Allocations

### Description:

### Figure:

### Contents:

allocation (one or more occurrences; of the type Allocation)

### Used by:

- RequestAllocation/allocations
- Trade/allocations

### Schema Fragment:

    <xsd:complexType name="Allocations">
      <xsd:sequence>
        <xsd:element name="allocation" type="Allocation" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>

## AllocationTradeIdentifier

### Description:

This type is used to identify that a trade id is referring to a bock trade.

### Figure:

### Contents:

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

- A type defining one or more trade identifiers allocated to the trade by a party. A link identifier allows the trade to be associated with other related trades, e.g. trades forming part of a larger structured transaction. It is expected that for external communication of trade there will be only one tradeId sent in the document per party.

blockTradeId (zero or one occurrence; of the type PartyTradeIdentifier)

- The trade id of the block trade. This is used by each one of the allocated trades to reference the block trade.

### Used by:

### Extension of:

- PartyTradeIdentifier

### Schema Fragment:

    <xsd:complexType name="AllocationTradeIdentifier">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          This type is used to identify that a trade id is referring to a
          bock trade.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="PartyTradeIdentifier">
          <xsd:sequence>
            <xsd:element name="blockTradeId" type="PartyTradeIdentifier" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The trade id of the block trade. This is used by each one
                  of the allocated trades to reference the block trade.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## Amendment

### Description:

An event type that defines the content of an Amendment transaction.

### Figure:

### Contents:

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

- A type defining the basic structure of FpML business events; it is refined by its derived types.

trade (exactly one occurrence; of the type Trade)

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

- The date on which the the parties enter into the Amendment transaction

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

- The date on which the Amendment becomes effective

payment (zero or one occurrence; of the type Payment)

- A payment for the right to amend the trade.

### Used by:

- AmendmentConfirmed/amendment
- RequestAmendmentConfirmation/amendment
- TradeAmendmentRequest/amendment
- TradeAmendmentResponse/amendment

### Extension of:

- Event

### Schema Fragment:

    <xsd:complexType name="Amendment">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An event type that defines the content of an Amendment
          transaction.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Event">
          <xsd:sequence>
            <xsd:element name="trade" type="Trade"/>
            <xsd:group ref="AmendmentDetails.model"/>
            <xsd:element name="payment" type="Payment" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A payment for the right to amend the trade.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## Approval

### Description:

A specific approval state in the workflow.

### Figure:

### Contents:

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

- The type of approval (e.g. "Credit").

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

- The current state of approval (.e.g preapproved, pending approval, etc.)

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

- The full name or identifiying ID of the relevant approver.

### Used by:

- Approvals/approval

### Schema Fragment:

    <xsd:complexType name="Approval">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A specific approval state in the workflow.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="type" type="xsd:normalizedString">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The type of approval (e.g. "Credit").
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="status" type="xsd:normalizedString">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The current state of approval (.e.g preapproved, pending
              approval, etc.)
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="approver" type="xsd:normalizedString" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The full name or identifiying ID of the relevant approver.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## Approvals

### Description:

### Figure:

### Contents:

approval (one or more occurrences; of the type Approval)

### Used by:

### Schema Fragment:

    <xsd:complexType name="Approvals">
      <xsd:sequence>
        <xsd:element name="approval" type="Approval" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>

## BestFitTrade

### Description:

A type used to record the differences between the current trade and another indicated trade.

### Figure:

### Contents:

tradeIdentifier (exactly one occurrence; of the type TradeIdentifier)

- The identifier for the trade compared against.

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

- An optional set of detailed difference records.

### Used by:

- TradeMismatched/bestFitTrade

### Schema Fragment:

    <xsd:complexType name="BestFitTrade">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type used to record the differences between the current trade
          and another indicated trade.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="tradeIdentifier" type="TradeIdentifier">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The identifier for the trade compared against.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="differences" type="TradeDifference" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An optional set of detailed difference records.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## BlockTradeIdentifier

### Description:

This type is used to identify that a trade id is referring to a bock trade.

### Figure:

### Contents:

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

- A type defining one or more trade identifiers allocated to the trade by a party. A link identifier allows the trade to be associated with other related trades, e.g. trades forming part of a larger structured transaction. It is expected that for external communication of trade there will be only one tradeId sent in the document per party.

allocationTradeId (zero or more occurrences; of the type PartyTradeIdentifier)

- The trade id of the allocated trade. This is used by the block trade to reference the allocated trade.

blockTradeId (zero or one occurrence; of the type PartyTradeIdentifier)

- The trade id of the parent trade for N-level allocations. This element is only used to model N-level allocations in which the trade acts as block and allocated trade at the same time.This basically means the ability to allocate a block trade to multiple allocation trades, and then allocate these in turn to other allocation trades (and so on if desired).

### Used by:

- RequestAllocation/blockTradeIdentifier

### Extension of:

- PartyTradeIdentifier

### Schema Fragment:

    <xsd:complexType name="BlockTradeIdentifier">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          This type is used to identify that a trade id is referring to a
          bock trade.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="PartyTradeIdentifier">
          <xsd:sequence>
            <xsd:element name="allocationTradeId" type="PartyTradeIdentifier" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The trade id of the allocated trade. This is used by the
                  block trade to reference the allocated trade.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="blockTradeId" type="PartyTradeIdentifier" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The trade id of the parent trade for N-level allocations.
                  This element is only used to model N-level allocations in
                  which the trade acts as block and allocated trade at the
                  same time.This basically means the ability to allocate a
                  block trade to multiple allocation trades, and then
                  allocate these in turn to other allocation trades (and so
                  on if desired).
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## ChangeContract

### Description:

Abstract base class for changes to a Contract

### Figure:

### Contents:

contractReference (exactly one occurrence; of the type ContractReference)

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

- The date on which the the parties enter into the change

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

- The date on which the change becomes effective

payment (zero or one occurrence; of the type Payment)

- Payment for the right to change the Contract

### Used by:

### Derived Types:

- ChangeContractSize
- ContractTermination

### Schema Fragment:

    <xsd:complexType name="ChangeContract" abstract="true">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Abstract base class for changes to a Contract
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="contractReference" type="ContractReference"/>
        <xsd:element name="date" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date on which the the parties enter into the change
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="effectiveDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date on which the change becomes effective
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="payment" type="Payment" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Payment for the right to change the Contract
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## ChangeContractSize

### Description:

Represent a change in Contract Size

### Figure:

### Contents:

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

- Abstract base class for changes to a Contract

There can be one occurance of the following structure;

### Used by:

- ContractIncreased/increase
- ContractPartialTermination/termination

### Extension of:

- ChangeContract

### Schema Fragment:

    <xsd:complexType name="ChangeContractSize">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Represent a change in Contract Size
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="ChangeContract">
          <xsd:choice>
            <xsd:sequence>
              <xsd:element name="changeInNotionalAmount" type="Money">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Specifies the fixed amount by which the Notional Amount
                    changes
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="outstandingNotionalAmount" type="Money">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Specifies the Notional amount after the Change
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
            <xsd:sequence>
              <xsd:element name="changeInNumberOfOptions" type="xsd:decimal">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Specifies the fixed amount by which the Number of
                    Options changes
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="outstandingNumberOfOptions" type="xsd:decimal">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Specifies the Number of Options after the Change.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
            <xsd:sequence>
              <xsd:element name="changeInNumberOfUnits" type="xsd:decimal">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Specifies the fixed amount by which the Number of Units
                    changes
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="outstandingNumberOfUnits" type="xsd:decimal">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Specifies the Number of Units
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:choice>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## Collateral

### Description:

A type for defining the obligations of the counterparty subject to credit support requirements

### Figure:

### Contents:

independentAmount (exactly one occurrence; of the type IndependentAmount)

- Independent Amount is an amount that usually less creditworthy counterparties are asked to provide. It can either be a fixed amount or a percentage of the Transaction's value. The Independent Amount can be: (i) transferred before any trading between the parties occurs (as a deposit at a third party's account or with the counterparty) or (ii) callable after trading has occurred (typically because a downgrade has occurred). In situation (i), the Independent Amount is not included in the calculation of Exposure, but in situation (ii), it is included in the calculation of Exposure. Thus, for situation (ii), the Independent Amount may be transferred along with any collateral call. Independent Amount is a defined term in the ISDA Credit Support Annex. ("with respect to a party, the amount specified as such for that party in Paragraph 13; if no amount is specified, zero")

### Used by:

- Contract/collateral
- Trade/collateral

### Schema Fragment:

    <xsd:complexType name="Collateral">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type for defining the obligations of the counterparty subject
          to credit support requirements
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="independentAmount" type="IndependentAmount">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Independent Amount is an amount that usually less
              creditworthy counterparties are asked to provide. It can
              either be a fixed amount or a percentage of the Transaction's
              value. The Independent Amount can be: (i) transferred before
              any trading between the parties occurs (as a deposit at a
              third party's account or with the counterparty) or (ii)
              callable after trading has occurred (typically because a
              downgrade has occurred). In situation (i), the Independent
              Amount is not included in the calculation of Exposure, but in
              situation (ii), it is included in the calculation of
              Exposure. Thus, for situation (ii), the Independent Amount
              may be transferred along with any collateral call.
              Independent Amount is a defined term in the ISDA Credit
              Support Annex. ("with respect to a party, the amount
              specified as such for that party in Paragraph 13; if no
              amount is specified, zero")
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## Contract

### Description:

### Figure:

### Contents:

header (exactly one occurrence; of the type ContractHeader)

product (exactly one occurrence; of the type Product)

- An abstract element used as a place holder for the substituting product elements.

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

- Other fees or additional payments associated with the contract, e.g. broker commissions, where one or more of the parties involved are not principal parties involved in the contract

calculationAgent (zero or one occurrence; of the type CalculationAgent)

- The ISDA Calculation Agent responsible for performing duties associated with an optional early termination

calculationAgentBusinessCenter (zero or one occurrence; of the type BusinessCenter)

- The city in which the office through which ISDA Calculation Agent is acting for purposes of the transaction is located The short-form confirm for a trade that is executed under a Sovereign or Asia Pacific Master Confirmation Agreement ( MCA ), does not need to specify the Calculation Agent. However, the confirm does need to specify the Calculation Agent City. This is due to the fact that the MCA sets the value for Calculation Agent but does not set the value for Calculation Agent City.

collateral (zero or one occurrence; of the type Collateral)

- Defines collateral obiligations of a Party

documentation (zero or one occurrence; of the type Documentation)

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

governingLaw (zero or one occurrence; of the type GoverningLaw)

- Governing Law applicable to this Contract

### Used by:

- ContractCreated/contract

### Schema Fragment:

    <xsd:complexType name="Contract">
      <xsd:sequence>
        <xsd:element name="header" type="ContractHeader"/>
        <xsd:element ref="product"/>
        <xsd:element name="otherPartyPayment" type="Payment" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Other fees or additional payments associated with the
              contract, e.g. broker commissions, where one or more of the
              parties involved are not principal parties involved in the
              contract
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:group ref="CalculationAgent.model"/>
        <xsd:element name="collateral" type="Collateral" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Defines collateral obiligations of a Party
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="documentation" type="Documentation" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Defines the definitions that govern the document and should
              include the year and type of definitions referenced, along
              with any relevant documentation (such as master agreement)
              and the date it was signed
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="governingLaw" type="GoverningLaw" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Governing Law applicable to this Contract
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## ContractHeader

### Description:

### Figure:

### Contents:

identifier (one or more occurrences; of the type ContractIdentifier)

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

### Used by:

- Contract/header

### Schema Fragment:

    <xsd:complexType name="ContractHeader">
      <xsd:sequence>
        <xsd:element name="identifier" type="ContractIdentifier" maxOccurs="unbounded"/>
        <xsd:element name="contractDate" type="xsd:date"/>
      </xsd:sequence>
    </xsd:complexType>

## ContractId

### Description:

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

### Figure:

### Contents:

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

Attribute: contractIdScheme (xsd:anyURI) - required

Attribute: id (xsd:ID)

### Used by:

- ContractIdentifier/contractId
- VersionedContractId/contractId

### Schema Fragment:

    <xsd:complexType name="ContractId">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A contact reference identifier allocated by a party. FpML does
          not define the domain values associated with this element. Note
          that the domain values for this element are not strictly an
          enumerated list.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="contractIdScheme" type="xsd:anyURI" use="required"/>
          <xsd:attribute name="id" type="xsd:ID"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## ContractIdentifier

### Description:

A type defining a contract identifier issued by the indicated party.

### Figure:

### Contents:

partyReference (exactly one occurrence; of the type PartyReference)

- A pointer style reference to a party identifier defined elsewhere in the document. The party referenced has allocated the contract identifier.

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

contractId (one or more occurrences; of the type ContractId)

Or

versionedContractId (one or more occurrences; of the type VersionedContractId)

Attribute: id (xsd:ID)

### Used by:

- ContractHeader/identifier
- ContractReference/identifier

### Schema Fragment:

    <xsd:complexType name="ContractIdentifier">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a contract identifier issued by the indicated
          party.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="partyReference" type="PartyReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A pointer style reference to a party identifier defined
              elsewhere in the document. The party referenced has allocated
              the contract identifier.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice>
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Where the legal activity is to agree a contract of variation
              then the business process should be to modify a contract.
              This is a contract in its own right and not a version of a
              previous contract. Where the business process is to replace
              and supersede a contract then you have a new contract and a
              contract version should not be used
            </xsd:documentation>
          </xsd:annotation>
          <xsd:element name="contractId" type="ContractId" maxOccurs="unbounded"/>
          <xsd:element name="versionedContractId" type="VersionedContractId" maxOccurs="unbounded"/>
        </xsd:choice>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## ContractNovation

### Description:

Details of the Contract Novation

### Figure:

### Contents:

There can be one occurance of the following structure;

transferor (exactly one occurrence; of the type PartyReference)

- A pointer style reference to a party identifier defined elsewhere in the document. In a three-way novation the party referenced is the Transferor (outgoing party) in the novation. The Transferor means a party which transfers by novation to a Transferee all of its rights, liabilities, duties and obligations with respect to a Remaining Party. In a four-way novation the party referenced is Transferor 1 which transfers by novation to Transferee 1 all of its rights, liabilities, duties and obligations with respect to Transferor 2. ISDA 2004 Novation Term: Transferor (three-way novation) or Transferor 1 (four-way novation).

transferee (exactly one occurrence; of the type PartyReference)

- A pointer style reference to a party identifier defined elsewhere in the document. In a three-way novation the party referenced is the Transferee (incoming party) in the novation. Transferee means a party which accepts by way of novation all rights, liabilities, duties and obligations of a Transferor with respect to a Remaining Party. In a four-way novation the party referenced is Transferee 1 which accepts by way of novation the rights, liabilities, duties and obligations of Transferor 1. ISDA 2004 Novation Term: Transferee (three-way novation) or Transferee 1 (four-way novation).

remainingParty (exactly one occurrence; of the type PartyReference)

- A pointer style reference to a party identifier defined elsewhere in the document. In a three-way novation the party referenced is the Remaining Party in the novation. Remaining Party means a party which consents to a Transferor's transfer by novation and the acceptance thereof by the Transferee of all of the Transferor's rights, liabilities, duties and obligations with respect to such Remaining Party under and with respect of the Novated Amount of a transaction. In a four-way novation the party referenced is Transferor 2 per the ISDA definition and acts in the role of a Transferor. Transferor 2 transfers by novation to Transferee 2 all of its rights, liabilities, duties and obligations with respect to Transferor 1. ISDA 2004 Novation Term: Remaining Party (three-way novation) or Transferor 2 (four-way novation).

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

- A pointer style reference to a party identifier defined elsewhere in the document. This element is not applicable in a three-way novation and should be omitted. In a four-way novation the party referenced is Transferee 2. Transferee 2 means a party which accepts by way of novation the rights, liabilities, duties and obligations of Transferor 2. ISDA 2004 Novation Term: Transferee 2 (four-way novation).

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

- Specifies the date that one party's legal obligations with regard to a trade are transferred to another party. It corresponds to the Novation Date section of the 2004 ISDA Novation Definitions, section 1.16.

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

- Specifies the date the parties agree to assign or novate a Contract. If this element is not specified, the novationContractDate will be deemed to be the novationDate. It corresponds to the Novation Trade Date section of the 2004 ISDA Novation Definitions, section 1.17.

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

novatedAmount (exactly one occurrence; of the type Money)

- The amount which represents the portion of the Old Contract being novated.

Or

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

- The number of options which represent the portion of the Old Contract being novated.

Or

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

- The number of options which represent the portion of the Old Contract being novated.

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

- This element corresponds to the applicability of the Full First Calculation Period as defined in the 2004 ISDA Novation Definitions, section 1.20.

firstPeriodStartDate (zero or one occurrence; of the type FirstPeriodStartDate)

- Element that is used to be able to make sense of the “new transaction” without requiring reference back to the “old transaction”. In the case of interest rate products there are potentially 2 “first period start dates” to reference – one with respect to each party to the new transaction. For Credit Default Swaps there is just the one with respect to the party that is the fixed rate payer.

nonReliance (zero or one occurrence; of the type Empty)

- This element corresponds to the non-Reliance section in the 2004 ISDA Novation Definitions, section 2.1 (c) (i). The element appears in the instance document when non-Reliance is applicable.

creditDerivativesNotices (zero or one occurrence; of the type CreditDerivativesNotices)

- This element should be specified if one or more of either a Credit Event Notice, Notice of Publicly Available Information, Notice of Physical Settlement or Notice of Intended Physical Settlement, as applicable, has been delivered by or to the Transferor or the Remaining Party. The type of notice or notices that have been delivered should be indicated by setting the relevant boolean element value(s) to true. The absence of the element means that no Credit Event Notice, Notice of Publicly Available Information, Notice of Physical Settlement or Notice of Intended Physical Settlement, as applicable, has been delivered by or to the Transferor or the Remaining Party.

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

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

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

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

payment (zero or one occurrence; of the type Payment)

### Used by:

- ContractNovated/novation

### Schema Fragment:

    <xsd:complexType name="ContractNovation">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Details of the Contract Novation
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:group ref="ContractNovationDetails.model"/>
        <xsd:element name="payment" type="Payment" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>

## ContractReference

### Description:

### Figure:

### Contents:

identifier (one or more occurrences; of the type ContractIdentifier)

### Used by:

- ChangeContract/contractReference
- ContractReferenceMessage/contractReference

### Schema Fragment:

    <xsd:complexType name="ContractReference">
      <xsd:sequence>
        <xsd:element name="identifier" type="ContractIdentifier" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>

## ContractTermination

### Description:

Contract Full Termination

### Figure:

### Contents:

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

- Abstract base class for changes to a Contract

### Used by:

- ContractFullTermination/termination

### Extension of:

- ChangeContract

### Schema Fragment:

    <xsd:complexType name="ContractTermination">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Contract Full Termination
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="ChangeContract"/>
      </xsd:complexContent>
    </xsd:complexType>

## CreditDerivativesNotices

### Description:

### Figure:

### Contents:

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

- This element corresponds to the Credit Event Notice Delivered Under Old Transaction and Deemed Delivered Under New Transaction under the EXHIBIT C to 2004 ISDA Novation Definitions.

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

- This element corresponds to the Notice of Publicly Available Information Delivered Under Old Transaction and Deemed Delivered Under New Transaction under the EXHIBIT C to 2004 ISDA Novation Definitions.

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

- This element corresponds to the Notice of Intended Physical Settlement Delivered Under Old Transaction under the EXHIBIT C to 2004 ISDA Novation Definitions.

### Used by:

### Schema Fragment:

    <xsd:complexType name="CreditDerivativesNotices">
      <xsd:sequence>
        <xsd:element name="creditEvent" type="xsd:boolean">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              This element corresponds to the Credit Event Notice Delivered
              Under Old Transaction and Deemed Delivered Under New
              Transaction under the EXHIBIT C to 2004 ISDA Novation
              Definitions.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="publiclyAvailableInformation" type="xsd:boolean">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              This element corresponds to the Notice of Publicly Available
              Information Delivered Under Old Transaction and Deemed
              Delivered Under New Transaction under the EXHIBIT C to 2004
              ISDA Novation Definitions.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="physicalSettlement" type="xsd:boolean">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              This element corresponds to the Notice of Intended Physical
              Settlement Delivered Under Old Transaction under the EXHIBIT
              C to 2004 ISDA Novation Definitions.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## DataDocument

### Description:

A type defining a content model that is backwards compatible with older FpML releases and which can be used to contain sets of data without expressing any processing intention.

### Figure:

### Contents:

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

- The abstract base type from which all FpML compliant messages and documents must be derived.

validation (zero or more occurrences; of the type Validation)

There can be one occurance of the following structure;

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

- An entity having a role in a trade lifecycle. For example, the principal parties obligated to make payments from time to time during the term of the trade, but may include other parties involved in, or incidental to, the trade, such as parties acting in the role of novation transferor/transferee, broker, calculation agent, etc.

### Used by:

### Extension of:

- Document

### Derived Types:

- ValuationDocument

### Schema Fragment:

    <xsd:complexType name="DataDocument">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a content model that is backwards compatible with
          older FpML releases and which can be used to contain sets of data
          without expressing any processing intention.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Document">
          <xsd:sequence>
            <xsd:group ref="Validation.model"/>
            <xsd:choice>
              <xsd:sequence>
                <xsd:element name="trade" type="Trade" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation xml:lang="en">
                      The root element in an FpML trade document.
                    </xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
                <xsd:element name="portfolio" type="Portfolio" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation xml:lang="en">
                      An arbitary grouping of trade references (and
                      possibly other portfolios).
                    </xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
              <xsd:sequence>
                <xsd:element ref="event" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation xml:lang="en">
                      A business event.
                    </xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:choice>
            <xsd:element name="party" type="Party" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  An entity having a role in a trade lifecycle. For
                  example, the principal parties obligated to make payments
                  from time to time during the term of the trade, but may
                  include other parties involved in, or incidental to, the
                  trade, such as parties acting in the role of novation
                  transferor/transferee, broker, calculation agent, etc.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## Document

### Description:

The abstract base type from which all FpML compliant messages and documents must be derived.

### Figure:

### Contents:

### Used by:

### Derived Types:

- DataDocument
- Message

### Schema Fragment:

    <xsd:complexType name="Document" abstract="true">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The abstract base type from which all FpML compliant messages and
          documents must be derived.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:attributeGroup ref="StandardAttributes.atts"/>
    </xsd:complexType>

## Event

### Description:

A type defining the basic structure of FpML business events; it is refined by its derived types.

### Figure:

### Contents:

eventId (zero or more occurrences; of the type EventId)

### Used by:

### Derived Types:

- Amendment
- CreditEventNoticeDocument
- Increase
- Novation
- Termination

### Schema Fragment:

    <xsd:complexType name="Event" abstract="true">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the basic structure of FpML business events; it
          is refined by its derived types.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="eventId" type="EventId" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en"/>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## EventId

### Description:

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

### Figure:

### Contents:

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

Attribute: eventIdScheme (xsd:anyURI) - required

Attribute: id (xsd:ID)

### Used by:

- Event/eventId

### Schema Fragment:

    <xsd:complexType name="EventId">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An event reference identifier allocated by a party. FpML does not
          define the domain values associated with this element. Note that
          the domain values for this element are not strictly an enumerated
          list.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="eventIdScheme" use="required" type="xsd:anyURI"/>
          <xsd:attribute name="id" type="xsd:ID"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## FirstPeriodStartDate

### Description:

### Figure:

### Contents:

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

Attribute: href (xsd:IDREF) - required

### Used by:

### Schema Fragment:

    <xsd:complexType name="FirstPeriodStartDate">
      <xsd:simpleContent>
        <xsd:extension base="xsd:date">
          <xsd:attribute name="href" use="required" type="xsd:IDREF"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## Increase

### Description:

An event type that defines the content of an Increase transaction.

### Figure:

### Contents:

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

- A type defining the basic structure of FpML business events; it is refined by its derived types.

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

trade (exactly one occurrence; of the type Trade)

- An element that allows the full details of the trade to be used as a mechanism for identifying the trade for which the post-trade event pertains

Or

tradeReference (exactly one occurrence; of the type PartyTradeIdentifiers)

- A container since an individual trade can be referenced by two or more different partyTradeIdentifier elements - each allocated by a different party.

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

- The date on which the the parties enter into the Increase transaction

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

- The date on which the Increase becomes effective

There can be one occurance of the following structure;

payment (zero or one occurrence; of the type Payment)

- A payment for the right to increase the trade.

### Used by:

- IncreaseConfirmed/increase
- RequestIncreaseConfirmation/increase
- TradeIncreaseRequest/increase
- TradeIncreaseResponse/increase

### Extension of:

- Event

### Schema Fragment:

    <xsd:complexType name="Increase">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An event type that defines the content of an Increase
          transaction.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Event">
          <xsd:sequence>
            <xsd:group ref="TradeOrTradeReference.model"/>
            <xsd:group ref="IncreaseDetails.model"/>
            <xsd:element name="payment" type="Payment" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A payment for the right to increase the trade.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## IndependentAmount

### Description:

### Figure:

### Contents:

payerPartyReference (exactly one occurrence; of the type PartyOrAccountReference)

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

receiverPartyReference (exactly one occurrence; of the type PartyOrAccountReference)

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

paymentDetail (one or more occurrences; of the type PaymentDetail)

- A container element allowing a schedule of payments associated with the Independent Amount.

### Used by:

- Collateral/independentAmount

### Schema Fragment:

    <xsd:complexType name="IndependentAmount">
      <xsd:sequence>
        <xsd:group ref="PayerReceiver.model"/>
        <xsd:element name="paymentDetail" type="PaymentDetail" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A container element allowing a schedule of payments
              associated with the Independent Amount.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## LinkId

### Description:

The data type used for link identifiers.

### Figure:

### Contents:

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

Attribute: id (xsd:ID)

Attribute: linkIdScheme (xsd:anyURI) - required

### Used by:

- PartyTradeIdentifier/linkId

### Schema Fragment:

    <xsd:complexType name="LinkId">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The data type used for link identifiers.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="id" type="xsd:ID"/>
          <xsd:attribute name="linkIdScheme" type="xsd:anyURI" use="required"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## Party

### Description:

A type defining party information.

### Figure:

### Contents:

partyId (one or more occurrences; of the type PartyId)

- A party identifier, e.g. a S.W.I.F.T. bank identifier code (BIC).

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

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

account (zero or more occurrences; of the type Account)

- Accounts serviced by this party. These are not accounts where this party is beneficiary, but instead where services are provided by this party to the beneficiary party.

Attribute: id (xsd:ID) - required

### Used by:

- AcceptQuote/party
- AllocationAmended/party
- AllocationCancelled/party
- AllocationCreated/party
- AmendmentConfirmed/party
- CancelTradeCashflows/party
- CancelTradeConfirmation/party
- CancelTradeMatch/party
- ConfirmationCancelled/party
- ConfirmTrade/party
- ContractCreated/party
- ContractFullTermination/party
- ContractIncreased/party
- ContractNovated/party
- ContractPartialTermination/party
- ContractReferenceMessage/party
- CreditEventNotification/party
- DataDocument/party
- IncreaseConfirmed/party
- ModifyTradeConfirmation/party
- ModifyTradeMatch/party
- PositionReport/party
- QuoteAcceptanceConfirmed/party
- QuoteUpdated/party
- RequestAllocation/party
- RequestAmendmentConfirmation/party
- RequestIncreaseConfirmation/party
- RequestQuote/party
- RequestQuoteResponse/party
- RequestTerminationConfirmation/party
- RequestTradeConfirmation/party
- RequestTradeMatch/party
- RequestTradeStatus/party
- RequestValuationReport/party
- TerminationConfirmed/party
- TradeAffirmation/party
- TradeAffirmed/party
- TradeAlleged/party
- TradeAlreadyMatched/party
- TradeAlreadySubmitted/party
- TradeAmended/party
- TradeAmendmentRequest/party
- TradeAmendmentResponse/party
- TradeCancelled/party
- TradeCashflowsAsserted/party
- TradeCashflowsMatchResult/party
- TradeConfirmed/party
- TradeCreated/party
- TradeErrorResponse/party
- TradeIncreaseRequest/party
- TradeIncreaseResponse/party
- TradeMatched/party
- TradeMismatched/party
- TradeStatus/party
- TradeTerminationRequest/party
- TradeTerminationResponse/party
- TradeUnmatched/party
- ValuationReport/party

### Schema Fragment:

    <xsd:complexType name="Party">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining party information.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="partyId" type="PartyId" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A party identifier, e.g. a S.W.I.F.T. bank identifier code
              (BIC).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="partyName" type="xsd:normalizedString" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The name of the party. A free format string. FpML does not
              define usage rules for this element.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="account" type="Account" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Accounts serviced by this party. These are not accounts where
              this party is beneficiary, but instead where services are
              provided by this party to the beneficiary party.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="required">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The id uniquely identifying the Party within the document.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:attribute>
    </xsd:complexType>

## PartyId

### Description:

The data type used for party identifiers.

### Figure:

### Contents:

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

Attribute: partyIdScheme (xsd:anyURI)

### Used by:

- Party/partyId

### Schema Fragment:

    <xsd:complexType name="PartyId">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The data type used for party identifiers.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="partyIdScheme" type="xsd:anyURI" default="http://www.fpml.org/ext/iso9362"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## PartyPortfolioName

### Description:

A type to represent a portfolio name for a particular party.

### Figure:

### Contents:

partyReference (exactly one occurrence; of the type PartyReference)

- A pointer style reference to a party identifier defined elsewhere in the document. The party referenced has allocated the trade identifier.

portfolioName (one or more occurrences; of the type PortfolioName)

Attribute: id (xsd:ID)

### Used by:

- Portfolio/partyPortfolioName

### Schema Fragment:

    <xsd:complexType name="PartyPortfolioName">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type to represent a portfolio name for a particular party.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="partyReference" type="PartyReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A pointer style reference to a party identifier defined
              elsewhere in the document. The party referenced has allocated
              the trade identifier.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="portfolioName" type="PortfolioName" maxOccurs="unbounded"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## PartyRole

### Description:

A generic party role type. This can be extended to provide specialization of roles.

### Figure:

### Contents:

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

party (exactly one occurrence; of the type PartyReference)

- A reference to the party fulfilling this role.

Or

account (exactly one occurrence; of the type AccountReference)

- A reference to the account fulfilling this role.

### Used by:

- TradeSide/accountant
- TradeSide/beneficiary
- TradeSide/calculater
- TradeSide/confirmer
- TradeSide/creditor
- TradeSide/executor
- TradeSide/introducer
- TradeSide/orderer
- TradeSide/settler

### Schema Fragment:

    <xsd:complexType name="PartyRole">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A generic party role type. This can be extended to provide
          specialization of roles.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:choice>
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The party fulfilling this role can be identified either
            directly, or indirectly via the account used to fulfil this
            role.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:element name="party" type="PartyReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A reference to the party fulfilling this role.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="account" type="AccountReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A reference to the account fulfilling this role.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:complexType>

## PartyTradeIdentifier

### Description:

A type defining one or more trade identifiers allocated to the trade by a party. A link identifier allows the trade to be associated with other related trades, e.g. trades forming part of a larger structured transaction. It is expected that for external communication of trade there will be only one tradeId sent in the document per party.

### Figure:

### Contents:

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

- A type defining a trade identifier issued by the indicated party.

linkId (zero or more occurrences; of the type LinkId)

- A link identifier allowing the trade to be associated with other related trades, e.g. the linkId may contain a tradeId for an associated trade or several related trades may be given the same linkId. FpML does not define the domain values associated with this element. Note that the domain values for this element are not strictly an enumerated list.

### Used by:

- Allocation/allocationTradeId
- AllocationCancelled/partyTradeIdentifier
- AllocationTradeIdentifier/blockTradeId
- BlockTradeIdentifier/allocationTradeId
- BlockTradeIdentifier/blockTradeId
- CancelTradeConfirmation/partyTradeIdentifier
- CancelTradeMatch/partyTradeIdentifier
- ConfirmTrade/partyTradeIdentifier
- PartyTradeIdentifiers/partyTradeIdentifier
- TradeAmendment/originalTradeIdentifier
- TradeHeader/partyTradeIdentifier
- TradeIdentifyingItems/partyTradeIdentifier
- TradeValuationItem/partyTradeIdentifier

### Extension of:

- TradeIdentifier

### Derived Types:

- AllocationTradeIdentifier
- BlockTradeIdentifier

### Schema Fragment:

    <xsd:complexType name="PartyTradeIdentifier">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining one or more trade identifiers allocated to the
          trade by a party. A link identifier allows the trade to be
          associated with other related trades, e.g. trades forming part of
          a larger structured transaction. 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:complexContent>
        <xsd:extension base="TradeIdentifier">
          <xsd:sequence>
            <xsd:element name="linkId" type="LinkId" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A link identifier allowing the trade to be associated
                  with other related trades, e.g. the linkId may contain a
                  tradeId for an associated trade or several related trades
                  may be given the same linkId. FpML does not define the
                  domain values associated with this element. Note that the
                  domain values for this element are not strictly an
                  enumerated list.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## PartyTradeIdentifiers

### Description:

A type containing multiple partyTradeIdentifier.

### Figure:

### Contents:

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

### Used by:

- ContractCreated/tradeReference
- PositionConstituent/tradeReference

### Schema Fragment:

    <xsd:complexType name="PartyTradeIdentifiers">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type containing multiple partyTradeIdentifier.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="partyTradeIdentifier" type="PartyTradeIdentifier" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>

## PartyTradeInformation

### Description:

A type defining additional information that may be recorded against a trade.

### Figure:

### Contents:

partyReference (exactly one occurrence; of the type PartyReference)

- Identifies that party that has ownership of this information.

trader (zero or more occurrences; of the type Trader)

- Identifies the person or persons who assumed the role of trader for this trade.

### Used by:

- TradeHeader/partyTradeInformation

### Schema Fragment:

    <xsd:complexType name="PartyTradeInformation">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining additional information that may be recorded
          against a trade.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="partyReference" type="PartyReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Identifies that party that has ownership of this information.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="trader" type="Trader" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Identifies the person or persons who assumed the role of
              trader for this trade.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## PaymentDetail

### Description:

### Figure:

### Contents:

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

adjustablePaymentDate (exactly one occurrence; of the type AdjustableDate2)

- A fixed amount payment date that shall be subject to adjustment in accordance with the applicable business day convention if it would otherwise fall on a day that is not a business day. The applicable business day convention and business day are those specified in the dateAdjustments element within the generalTerms component. ISDA 2003 Term: Fixed Rate Payer Payment Date

Or

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

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

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

paymentAmount (exactly one occurrence; of the type Money)

- A fixed payment amount.

### Used by:

- IndependentAmount/paymentDetail

### Schema Fragment:

    <xsd:complexType name="PaymentDetail">
      <xsd:sequence>
        <xsd:choice minOccurs="0">
          <xsd:element name="adjustablePaymentDate" type="AdjustableDate2">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A fixed amount payment date that shall be subject to
                adjustment in accordance with the applicable business day
                convention if it would otherwise fall on a day that is not
                a business day. The applicable business day convention and
                business day are those specified in the dateAdjustments
                element within the generalTerms component. ISDA 2003 Term:
                Fixed Rate Payer Payment Date
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="adjustedPaymentDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The adjusted payment date. This date should already be
                adjusted for any applicable business day convention. This
                component is not intended for use in trade confirmation but
                may be specified to allow the fee structure to also serve
                as a cashflow type component.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:choice>
          <xsd:element name="paymentAmount" type="Money">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A fixed payment amount.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:sequence>
            <xsd:element name="paymentRule" type="PaymentRule">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A type defining the calculation rule.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="paymentAmount" type="Money" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A fixed payment amount.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:choice>
      </xsd:sequence>
    </xsd:complexType>

## PaymentRule

### Description:

The abstract base type from which all calculation rules of the independent amount must be derived.

### Figure:

### Contents:

### Used by:

- PaymentDetail/paymentRule

### Derived Types:

- PercentageRule

### Schema Fragment:

    <xsd:complexType name="PaymentRule" abstract="true">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The abstract base type from which all calculation rules of the
          independent amount must be derived.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:complexType>

## PercentageRule

### Description:

A type defining a content model for a calculation rule defined as percentage of the notional amount.

### Figure:

### Contents:

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

- The abstract base type from which all calculation rules of the independent amount must be derived.

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

- A percentage of the notional amount.

notionalAmountReference (exactly one occurrence; of the type NotionalAmountReference)

- A reference to the notional amount.

### Used by:

### Extension of:

- PaymentRule

### Schema Fragment:

    <xsd:complexType name="PercentageRule">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a content model for a calculation rule defined as
          percentage of the notional amount.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="PaymentRule">
          <xsd:sequence>
            <xsd:element name="paymentPercent" type="xsd:decimal">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A percentage of the notional amount.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="notionalAmountReference" type="NotionalAmountReference">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A reference to the notional amount.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## Portfolio

### Description:

A type representing an arbitary grouping of trade references.

### Figure:

### Contents:

partyPortfolioName (zero or one occurrence; of the type PartyPortfolioName)

- The name of the portfolio together with the party that gave the name.

tradeId (zero or more occurrences; of the type TradeId)

portfolio (zero or more occurrences; of the type Portfolio)

- An arbitary grouping of trade references (and possibly other portfolios).

Attribute: id (xsd:ID)

### Used by:

- DataDocument/portfolio
- Portfolio/portfolio

### Derived Types:

- QueryPortfolio

### Schema Fragment:

    <xsd:complexType name="Portfolio">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type representing an arbitary grouping of trade references.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="partyPortfolioName" type="PartyPortfolioName" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The name of the portfolio together with the party that gave
              the name.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="tradeId" type="TradeId" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element name="portfolio" type="Portfolio" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An arbitary grouping of trade references (and possibly other
              portfolios).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## PortfolioName

### Description:

The data type used for portfolio names.

### Figure:

### Contents:

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

Attribute: id (xsd:ID)

Attribute: portfolioNameScheme (xsd:anyURI)

### Used by:

- PartyPortfolioName/portfolioName

### Schema Fragment:

    <xsd:complexType name="PortfolioName">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The data type used for portfolio names.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="id" type="xsd:ID"/>
          <xsd:attribute name="portfolioNameScheme" type="xsd:anyURI"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## QueryParameter

### Description:

A type representing criteria for defining a query portfolio. The criteria are made up of a QueryParameterId, QueryParameterValue and QueryParameterOperator.

### Figure:

### Contents:

queryParameterId (exactly one occurrence; of the type QueryParameterId)

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

queryParameterOperator (zero or one occurrence; of the type QueryParameterOperator)

### Used by:

- QueryPortfolio/queryParameter

### Schema Fragment:

    <xsd:complexType name="QueryParameter">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type representing criteria for defining a query portfolio. The
          criteria are made up of a QueryParameterId, QueryParameterValue
          and QueryParameterOperator.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="queryParameterId" type="QueryParameterId"/>
        <xsd:element name="queryParameterValue" type="xsd:normalizedString" minOccurs="0"/>
        <xsd:element name="queryParameterOperator" type="QueryParameterOperator" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>

## QueryParameterId

### Description:

A type representing an identifier for a parameter describing a query portfolio. An identifier can be anything from a product name like swap to a termination date.

### Figure:

### Contents:

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

Attribute: queryParameterIdScheme (xsd:anyURI) - required

Attribute: id (xsd:ID)

### Used by:

- QueryParameter/queryParameterId

### Schema Fragment:

    <xsd:complexType name="QueryParameterId">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type representing an identifier for a parameter describing a
          query portfolio. An identifier can be anything from a product
          name like swap to a termination date.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="queryParameterIdScheme" type="xsd:anyURI" use="required"/>
          <xsd:attribute name="id" type="xsd:ID"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## QueryParameterOperator

### Description:

A type representing an operator describing the relationship of a value to its corresponding identifier for a parameter describing a query portfolio. Possible relationships include equals, not equals, less than, greater than. Possible operators are listed in the queryParameterOperatorScheme.

### Figure:

### Contents:

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

Attribute: queryParameterOperatorScheme (xsd:anyURI)

Attribute: id (xsd:ID)

### Used by:

- QueryParameter/queryParameterOperator

### Schema Fragment:

    <xsd:complexType name="QueryParameterOperator">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type representing an operator describing the relationship of a
          value to its corresponding identifier for a parameter describing
          a query portfolio. Possible relationships include equals, not
          equals, less than, greater than. Possible operators are listed in
          the queryParameterOperatorScheme.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="queryParameterOperatorScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/query-parameter-operator-1-0"/>
          <xsd:attribute name="id" type="xsd:ID"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## QueryPortfolio

### Description:

A type representing a portfolio obtained by querying the set of trades held in a repository. It contains trades matching the intersection of all criteria specified using one or more queryParameters or trades matching the union of two or more child queryPortfolios.

### Figure:

### Contents:

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

- A type representing an arbitary grouping of trade references.

queryParameter (one or more occurrences; of the type QueryParameter)

### Used by:

### Extension of:

- Portfolio

### Schema Fragment:

    <xsd:complexType name="QueryPortfolio">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type representing a portfolio obtained by querying the set of
          trades held in a repository. It contains trades matching the
          intersection of all criteria specified using one or more
          queryParameters or trades matching the union of two or more child
          queryPortfolios.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Portfolio">
          <xsd:sequence>
            <xsd:element name="queryParameter" type="QueryParameter" maxOccurs="unbounded"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## Strategy

### Description:

A type defining a group of products making up a single trade.

### Figure:

### Contents:

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

- The base type which all FpML products extend.

premiumProductReference (zero or one occurrence; of the type ProductReference)

- Indicates which product within a strategy represents the premium payment.

product (one or more occurrences; of the type Product)

- An abstract element used as a place holder for the substituting product elements.

### Used by:

### Extension of:

- Product

### Schema Fragment:

    <xsd:complexType name="Strategy">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a group of products making up a single trade.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="Product">
          <xsd:sequence>
            <xsd:element name="premiumProductReference" type="ProductReference" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Indicates which product within a strategy represents the
                  premium payment.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element ref="product" maxOccurs="unbounded"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## Trade

### Description:

A type definiting an FpML trade.

### Figure:

### Contents:

tradeHeader (exactly one occurrence; of the type TradeHeader)

- The information on the trade which is not product specific, e.g. trade date.

product (exactly one occurrence; of the type Product)

- An abstract element used as a place holder for the substituting product elements.

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

- Other fees or additional payments associated with the trade, e.g. broker commissions, where one or more of the parties involved are not principal parties involved in the trade.

brokerPartyReference (zero or more occurrences; of the type PartyReference)

- Identifies that party (or parties) that brokered this trade.

calculationAgent (zero or one occurrence; of the type CalculationAgent)

- The ISDA Calculation Agent responsible for performing duties associated with an optional early termination

calculationAgentBusinessCenter (zero or one occurrence; of the type BusinessCenter)

- The city in which the office through which ISDA Calculation Agent is acting for purposes of the transaction is located The short-form confirm for a trade that is executed under a Sovereign or Asia Pacific Master Confirmation Agreement ( MCA ), does not need to specify the Calculation Agent. However, the confirm does need to specify the Calculation Agent City. This is due to the fact that the MCA sets the value for Calculation Agent but does not set the value for Calculation Agent City.

collateral (zero or one occurrence; of the type Collateral)

- Defines collateral obiligations of a Party

documentation (zero or one occurrence; of the type Documentation)

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

governingLaw (zero or one occurrence; of the type GoverningLaw)

- TBA

allocations (zero or one occurrence; of the type Allocations)

- "Short-form" representation of allocations in which the key block economics are stated once within the trade structure, and the allocation data is contained in this allocations structure.

tradeSide (zero or one occurrence; of the type TradeSide)

- The parties to the Trade are grouped into Trade Sides. Each Trade has as many as two sides. Each side is a buyer or receiver of each leg or stream.

Attribute: id (xsd:ID)

### Used by:

- AcceptQuote/trade
- AllocationCancelled/trade
- AllocationCreated/trade
- Amendment/trade
- DataDocument/trade
- ModifyTradeConfirmation/trade
- ModifyTradeMatch/trade
- PositionConstituent/trade
- QuoteAcceptanceConfirmed/trade
- RequestTradeConfirmation/trade
- RequestTradeMatch/trade
- TradeAffirmation/trade
- TradeAmended/trade
- TradeAmendment/amendedTrade
- TradeAmendment/originalTrade
- TradeCancelled/trade
- TradeConfirmed/trade
- TradeCreated/trade
- TradeValuationItem/trade

### Schema Fragment:

    <xsd:complexType name="Trade">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type definiting an FpML trade.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="tradeHeader" type="TradeHeader">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The information on the trade which is not product specific,
              e.g. trade date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element ref="product"/>
        <xsd:element name="otherPartyPayment" type="Payment" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Other fees or additional payments associated with the trade,
              e.g. broker commissions, where one or more of the parties
              involved are not principal parties involved in the trade.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="brokerPartyReference" type="PartyReference" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Identifies that party (or parties) that brokered this trade.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:group ref="CalculationAgent.model"/>
        <xsd:element name="collateral" type="Collateral" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Defines collateral obiligations of a Party
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="documentation" type="Documentation" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Defines the definitions that govern the document and should
              include the year and type of definitions referenced, along
              with any relevant documentation (such as master agreement)
              and the date it was signed.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="governingLaw" type="GoverningLaw" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              TBA
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="allocations" type="Allocations" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              "Short-form" representation of allocations in which the key
              block economics are stated once within the trade structure,
              and the allocation data is contained in this allocations
              structure.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="tradeSide" type="TradeSide" minOccurs="0" maxOccurs="2">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The parties to the Trade are grouped into Trade Sides. Each
              Trade has as many as two sides. Each side is a buyer or
              receiver of each leg or stream.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## TradeDifference

### Description:

A type used to record the details of a difference between two business objects/

### Figure:

### Contents:

differenceType (exactly one occurrence; of the type DifferenceTypeEnum)

- The type of difference that exists.

differenceSeverity (exactly one occurrence; of the type DifferenceSeverityEnum)

- An indication of the severity of the difference.

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

- The name of the element affected.

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

- XPath to the element in the base object.

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

- The valie of the element in the base object.

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

- XPath to the element in the other object.

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

- Value of the element in the other trade.

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

- Element(s) that are missing in the other trade.

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

- Element(s) that are extraneous in the other object.

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

- A human readable description of the problem.

### Used by:

- BestFitTrade/differences
- TradeCashflowsProposedMatch/difference
- TradeMatched/differences

### Schema Fragment:

    <xsd:complexType name="TradeDifference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type used to record the details of a difference between two
          business objects/
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="differenceType" type="DifferenceTypeEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The type of difference that exists.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="differenceSeverity" type="DifferenceSeverityEnum">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An indication of the severity of the difference.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="element" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The name of the element affected.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="basePath" type="xsd:string" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              XPath to the element in the base object.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="baseValue" type="xsd:string" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The valie of the element in the base object.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="otherPath" type="xsd:string" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              XPath to the element in the other object.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="otherValue" type="xsd:string" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Value of the element in the other trade.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="missingElement" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Element(s) that are missing in the other trade.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="extraElement" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Element(s) that are extraneous in the other object.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="message" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A human readable description of the problem.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## TradeHeader

### Description:

A type defining trade related information which is not product specific.

### Figure:

### Contents:

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

- The trade reference identifier(s) allocated to the trade by the parties involved.

partyTradeInformation (zero or more occurrences; of the type PartyTradeInformation)

- Additional trade information that may be provided by each involved party.

tradeDate (exactly one occurrence; of the type IdentifiedDate)

- The trade date.

### Used by:

- Trade/tradeHeader

### Schema Fragment:

    <xsd:complexType name="TradeHeader">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining trade related information which is not product
          specific.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="partyTradeIdentifier" type="PartyTradeIdentifier" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The trade reference identifier(s) allocated to the trade by
              the parties involved.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="partyTradeInformation" type="PartyTradeInformation" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Additional trade information that may be provided by each
              involved party.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="tradeDate" type="IdentifiedDate">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The trade date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## TradeId

### Description:

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

### Figure:

### Contents:

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

Attribute: tradeIdScheme (xsd:anyURI) - required

Attribute: id (xsd:ID)

### Used by:

- Portfolio/tradeId
- TradeIdentifier/tradeId
- VersionedTradeId/tradeId

### Schema Fragment:

    <xsd:complexType name="TradeId">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A trade reference identifier allocated by a party. FpML does not
          define the domain values associated with this element. Note that
          the domain values for this element are not strictly an enumerated
          list.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="tradeIdScheme" type="xsd:anyURI" use="required"/>
          <xsd:attribute name="id" type="xsd:ID"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## TradeIdentifier

### Description:

A type defining a trade identifier issued by the indicated party.

### Figure:

### Contents:

partyReference (exactly one occurrence; of the type PartyReference)

- A pointer style reference to a party identifier defined elsewhere in the document. The party referenced has allocated the trade identifier.

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

tradeId (exactly one occurrence; of the type TradeId)

Or

versionedTradeId (exactly one occurrence; of the type VersionedTradeId)

Attribute: id (xsd:ID)

### Used by:

- BestFitTrade/tradeIdentifier
- ConfirmationCancelled/tradeIdentifier
- RequestTradeStatus/tradeIdentifier
- TradeAffirmed/tradeIdentifier
- TradeAlleged/bestFitTradeId
- TradeAlleged/tradeIdentifier
- TradeAlreadyMatched/tradeIdentifier
- TradeAlreadySubmitted/tradeIdentifier
- TradeCancelled/tradeIdentifier
- TradeMatched/tradeIdentifier
- TradeMismatched/tradeIdentifier
- TradeStatusItem/tradeIdentifier
- TradeUnmatched/bestFitTradeId
- TradeUnmatched/tradeIdentifier

### Derived Types:

- PartyTradeIdentifier

### Schema Fragment:

    <xsd:complexType name="TradeIdentifier">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining a trade identifier issued by the indicated party.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="partyReference" type="PartyReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A pointer style reference to a party identifier defined
              elsewhere in the document. The party referenced has allocated
              the trade identifier.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="tradeId" type="TradeId"/>
          <xsd:element name="versionedTradeId" type="VersionedTradeId"/>
        </xsd:choice>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:complexType>

## Trader

### Description:

### Figure:

### Contents:

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

Attribute: traderScheme (xsd:anyURI) - optional

### Used by:

- PartyTradeInformation/trader

### Schema Fragment:

    <xsd:complexType name="Trader">
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="traderScheme" type="xsd:anyURI" use="optional"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## TradeSide

### Description:

The parties to the trade form into sides. Each side has defined roles in the lifecyle of the trade fulfilled by parties. Each party role is given in the likely order they would be filled during the lifecycle of a trade.

### Figure:

### Contents:

orderer (zero or one occurrence; of the type PartyRole)

- The Party placing the order. This could be a fund manager acting on behalf of a client, or a hedge fund acting on it's own behalf. This is the role with the investment discretion.

introducer (zero or one occurrence; of the type PartyRole)

- Party that can relay an order directly to the trading floor at a firm. This is potentially a different firm, but may be the same as that taking the order. In effect the introducer is the first dealer to take the order. The reason an introducing dealer may forward a trade is sometime because it doesn't have the capacity to execute effectively but does have the relationship with the Orderer. Introducing Party is an industry standard term. This is semantically equivalent to the FIX and ISO20022 Introducing Firm.

executor (zero or one occurrence; of the type PartyRole)

- The Party executing or striking the trade. Executing Party is an industry standard term. This is semantically equivalent to the FIX and ISO20022 Executing Firm or Trader.

confirmer (zero or one occurrence; of the type PartyRole)

- The party that undertakes the confirmation process for this Trade Side. The confirmer essentially manages the matching and affirmation of trades. This is often the creditor or is increasingly outsourced to service providers such as Swapswire.

creditor (exactly one occurrence; of the type PartyRole)

- The party whose name appears on the contract as being responsible for credit of the trade. This is the party in the Trade Side the credit risk is against. For example if a hedge fund was to trade in the name of it's prime broker, then the prime broker would be the creditor.

calculater (zero or one occurrence; of the type PartyRole)

- The calculater is the Party that calculates, negotiates, and agrees the values to be paid at each payment date.

settler (zero or one occurrence; of the type PartyRole)

- The Settler is the party that makes the payments. Increasingly this is a service that can be externalized from the other roles. An example of a settlement service provide is SwapClear.

beneficiary (zero or one occurrence; of the type PartyRole)

- The party that suffers the economic effect of the trade. This is usually referred to as the primary Principal in FIX and ISO20022 - which is slightly confusing in that there are potentially many Princiapal/Agency relationships. The beneficiary may be distinct from the creditor - an example is a Hedge Fund trading in the name of it's Prime Broker.

accountant (zero or more occurrences; of the type PartyRole)

- The Accountants for the trade. There are potentially many accountants. This is known in FIX and ISO20022 for Collective Investment Vehicles as the Third Party Administrator (TPA), however all trades for all parties have at least one party accounting for the trade.

Attribute: id (xsd:ID) - required

### Used by:

- Trade/tradeSide

### Schema Fragment:

    <xsd:complexType name="TradeSide">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The parties to the trade form into sides. Each side has defined
          roles in the lifecyle of the trade fulfilled by parties. Each
          party role is given in the likely order they would be filled
          during the lifecycle of a trade.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Agency relations occur when one Party undertakes one role and
            another undertakes a different role. For example a Fund would
            be Beneficiary, use a Fund Manager as Orderer, use a trading
            firm as Introducer, and a broker as Executor, but give up
            Clearing to their prime broker. All roles always exist. An
            absent element means the role isn't stated.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:element name="orderer" type="PartyRole" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The Party placing the order. This could be a fund manager
              acting on behalf of a client, or a hedge fund acting on it's
              own behalf. This is the role with the investment discretion.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="introducer" type="PartyRole" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Party that can relay an order directly to the trading floor
              at a firm. This is potentially a different firm, but may be
              the same as that taking the order. In effect the introducer
              is the first dealer to take the order. The reason an
              introducing dealer may forward a trade is sometime because it
              doesn't have the capacity to execute effectively but does
              have the relationship with the Orderer. Introducing Party is
              an industry standard term. This is semantically equivalent to
              the FIX and ISO20022 Introducing Firm.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="executor" type="PartyRole" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The Party executing or striking the trade. Executing Party is
              an industry standard term. This is semantically equivalent to
              the FIX and ISO20022 Executing Firm or Trader.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="confirmer" type="PartyRole" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The party that undertakes the confirmation process for this
              Trade Side. The confirmer essentially manages the matching
              and affirmation of trades. This is often the creditor or is
              increasingly outsourced to service providers such as
              Swapswire.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="creditor" type="PartyRole">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The party whose name appears on the contract as being
              responsible for credit of the trade. This is the party in the
              Trade Side the credit risk is against. For example if a hedge
              fund was to trade in the name of it's prime broker, then the
              prime broker would be the creditor.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="calculater" type="PartyRole" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The calculater is the Party that calculates, negotiates, and
              agrees the values to be paid at each payment date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="settler" type="PartyRole" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The Settler is the party that makes the payments.
              Increasingly this is a service that can be externalized from
              the other roles. An example of a settlement service provide
              is SwapClear.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="beneficiary" type="PartyRole" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The party that suffers the economic effect of the trade. This
              is usually referred to as the primary Principal in FIX and
              ISO20022 - which is slightly confusing in that there are
              potentially many Princiapal/Agency relationships. The
              beneficiary may be distinct from the creditor - an example is
              a Hedge Fund trading in the name of it's Prime Broker.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="accountant" type="PartyRole" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The Accountants for the trade. There are potentially many
              accountants. This is known in FIX and ISO20022 for Collective
              Investment Vehicles as the Third Party Administrator (TPA),
              however all trades for all parties have at least one party
              accounting for the trade.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="required"/>
    </xsd:complexType>

## Validation

### Description:

A reference identifying a rule within a validation scheme.

### Figure:

### Contents:

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

Attribute: validationScheme (xsd:anyURI)

### Used by:

- Reason/validationRuleId

### Schema Fragment:

    <xsd:complexType name="Validation">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A reference identifying a rule within a validation scheme.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:simpleContent>
        <xsd:extension base="xsd:normalizedString">
          <xsd:attribute name="validationScheme" type="xsd:anyURI"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

## VersionedContractId

### Description:

Contract Id with Version Support

### Figure:

### Contents:

contractId (exactly one occurrence; of the type ContractId)

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

- The version number

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

- Optionally it is possible to specify a version effective date when a versionId is supplied.

### Used by:

- ContractIdentifier/versionedContractId

### Schema Fragment:

    <xsd:complexType name="VersionedContractId">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Contract Id with Version Support
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="contractId" type="ContractId"/>
        <xsd:group ref="VersionHistory.model"/>
      </xsd:sequence>
    </xsd:complexType>

## VersionedTradeId

### Description:

Trade Id with Version Support

### Figure:

### Contents:

tradeId (exactly one occurrence; of the type TradeId)

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

- The version number

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

- Optionally it is possible to specify a version effective date when a versionId is supplied.

### Used by:

- TradeIdentifier/versionedTradeId

### Schema Fragment:

    <xsd:complexType name="VersionedTradeId">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Trade Id with Version Support
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="tradeId" type="TradeId"/>
        <xsd:group ref="VersionHistory.model"/>
      </xsd:sequence>
    </xsd:complexType>

# Global Elements

## event

### Description:

An abstract global element used as a basis for substition of event types

### Figure:

### Contents:

Element event is defined by the complex type Event

### Used by:

- DataDocument

### Substituted by:

- creditEventNotice

### Schema Fragment:

    <xsd:element name="event" type="Event" abstract="true">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An abstract global element used as a basis for substition of
          event types
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>

## strategy

### Description:

A strategy product.

### Figure:

### Contents:

Element strategy is defined by the complex type Strategy

### Used by:

### Schema Fragment:

    <xsd:element name="strategy" type="Strategy" substitutionGroup="product">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A strategy product.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>

# Groups

## AccountReferenceOrPartyReference.model

### Description:

### Figure:

### Contents:

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

accountReference (exactly one occurrence; of the type AccountReference)

- Reference to the subaccount definition in the Party list.

Or

partyReference (exactly one occurrence; of the type PartyReference)

- Reference to the party definition.

### Used by:

- Allocation

### Schema Fragment:

    <xsd:group name="AccountReferenceOrPartyReference.model">
      <xsd:choice>
        <xsd:element name="accountReference" type="AccountReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Reference to the subaccount definition in the Party list.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="partyReference" type="PartyReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Reference to the party definition.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:group>

## AllocationContent.model

### Description:

### Figure:

### Contents:

collateral (zero or one occurrence; of the type Collateral)

- The sum that must be posted upfront to collateralize against counterparty credit risk.

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

- Special credit fee assessed to certain institutions.

approvals (zero or one occurrence; of the type Approvals)

- A container for approval states in the workflow.

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

- The date of the confirmation executed between the parties and intended to govern the allocated trade between those parties.

### Used by:

- Allocation

### Schema Fragment:

    <xsd:group name="AllocationContent.model">
      <xsd:sequence>
        <xsd:element name="collateral" type="Collateral" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The sum that must be posted upfront to collateralize against
              counterparty credit risk.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="creditChargeAmount" type="Money" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Special credit fee assessed to certain institutions.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="approvals" type="Approvals" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A container for approval states in the workflow.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="masterConfirmationDate" type="xsd:date" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date of the confirmation executed between the parties and
              intended to govern the allocated trade between those parties.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:group>

## AmendmentDetails.model

### Description:

### Figure:

### Contents:

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

- The date on which the the parties enter into the Amendment transaction

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

- The date on which the Amendment becomes effective

### Used by:

- Amendment

### Schema Fragment:

    <xsd:group name="AmendmentDetails.model">
      <xsd:sequence>
        <xsd:element name="amendmentTradeDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date on which the the parties enter into the Amendment
              transaction
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="amendmentEffectiveDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date on which the Amendment becomes effective
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:group>

## CalculationAgent.model

### Description:

### Figure:

### Contents:

calculationAgent (zero or one occurrence; of the type CalculationAgent)

- The ISDA Calculation Agent responsible for performing duties associated with an optional early termination

calculationAgentBusinessCenter (zero or one occurrence; of the type BusinessCenter)

- The city in which the office through which ISDA Calculation Agent is acting for purposes of the transaction is located The short-form confirm for a trade that is executed under a Sovereign or Asia Pacific Master Confirmation Agreement ( MCA ), does not need to specify the Calculation Agent. However, the confirm does need to specify the Calculation Agent City. This is due to the fact that the MCA sets the value for Calculation Agent but does not set the value for Calculation Agent City.

### Used by:

- Contract
- Trade

### Schema Fragment:

    <xsd:group name="CalculationAgent.model">
      <xsd:sequence>
        <xsd:element name="calculationAgent" type="CalculationAgent" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The ISDA Calculation Agent responsible for performing duties
              associated with an optional early termination
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="calculationAgentBusinessCenter" type="BusinessCenter" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The city in which the office through which ISDA Calculation
              Agent is acting for purposes of the transaction is located
              The short-form confirm for a trade that is executed under a
              Sovereign or Asia Pacific Master Confirmation Agreement ( MCA
              ), does not need to specify the Calculation Agent. However,
              the confirm does need to specify the Calculation Agent City.
              This is due to the fact that the MCA sets the value for
              Calculation Agent but does not set the value for Calculation
              Agent City.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:group>

## ContractNovationDetails.model

### Description:

### Figure:

### Contents:

There can be one occurance of the following structure;

transferor (exactly one occurrence; of the type PartyReference)

- A pointer style reference to a party identifier defined elsewhere in the document. In a three-way novation the party referenced is the Transferor (outgoing party) in the novation. The Transferor means a party which transfers by novation to a Transferee all of its rights, liabilities, duties and obligations with respect to a Remaining Party. In a four-way novation the party referenced is Transferor 1 which transfers by novation to Transferee 1 all of its rights, liabilities, duties and obligations with respect to Transferor 2. ISDA 2004 Novation Term: Transferor (three-way novation) or Transferor 1 (four-way novation).

transferee (exactly one occurrence; of the type PartyReference)

- A pointer style reference to a party identifier defined elsewhere in the document. In a three-way novation the party referenced is the Transferee (incoming party) in the novation. Transferee means a party which accepts by way of novation all rights, liabilities, duties and obligations of a Transferor with respect to a Remaining Party. In a four-way novation the party referenced is Transferee 1 which accepts by way of novation the rights, liabilities, duties and obligations of Transferor 1. ISDA 2004 Novation Term: Transferee (three-way novation) or Transferee 1 (four-way novation).

remainingParty (exactly one occurrence; of the type PartyReference)

- A pointer style reference to a party identifier defined elsewhere in the document. In a three-way novation the party referenced is the Remaining Party in the novation. Remaining Party means a party which consents to a Transferor's transfer by novation and the acceptance thereof by the Transferee of all of the Transferor's rights, liabilities, duties and obligations with respect to such Remaining Party under and with respect of the Novated Amount of a transaction. In a four-way novation the party referenced is Transferor 2 per the ISDA definition and acts in the role of a Transferor. Transferor 2 transfers by novation to Transferee 2 all of its rights, liabilities, duties and obligations with respect to Transferor 1. ISDA 2004 Novation Term: Remaining Party (three-way novation) or Transferor 2 (four-way novation).

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

- A pointer style reference to a party identifier defined elsewhere in the document. This element is not applicable in a three-way novation and should be omitted. In a four-way novation the party referenced is Transferee 2. Transferee 2 means a party which accepts by way of novation the rights, liabilities, duties and obligations of Transferor 2. ISDA 2004 Novation Term: Transferee 2 (four-way novation).

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

- Specifies the date that one party's legal obligations with regard to a trade are transferred to another party. It corresponds to the Novation Date section of the 2004 ISDA Novation Definitions, section 1.16.

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

- Specifies the date the parties agree to assign or novate a Contract. If this element is not specified, the novationContractDate will be deemed to be the novationDate. It corresponds to the Novation Trade Date section of the 2004 ISDA Novation Definitions, section 1.17.

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

novatedAmount (exactly one occurrence; of the type Money)

- The amount which represents the portion of the Old Contract being novated.

Or

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

- The number of options which represent the portion of the Old Contract being novated.

Or

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

- The number of options which represent the portion of the Old Contract being novated.

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

- This element corresponds to the applicability of the Full First Calculation Period as defined in the 2004 ISDA Novation Definitions, section 1.20.

firstPeriodStartDate (zero or one occurrence; of the type FirstPeriodStartDate)

- Element that is used to be able to make sense of the “new transaction” without requiring reference back to the “old transaction”. In the case of interest rate products there are potentially 2 “first period start dates” to reference – one with respect to each party to the new transaction. For Credit Default Swaps there is just the one with respect to the party that is the fixed rate payer.

nonReliance (zero or one occurrence; of the type Empty)

- This element corresponds to the non-Reliance section in the 2004 ISDA Novation Definitions, section 2.1 (c) (i). The element appears in the instance document when non-Reliance is applicable.

creditDerivativesNotices (zero or one occurrence; of the type CreditDerivativesNotices)

- This element should be specified if one or more of either a Credit Event Notice, Notice of Publicly Available Information, Notice of Physical Settlement or Notice of Intended Physical Settlement, as applicable, has been delivered by or to the Transferor or the Remaining Party. The type of notice or notices that have been delivered should be indicated by setting the relevant boolean element value(s) to true. The absence of the element means that no Credit Event Notice, Notice of Publicly Available Information, Notice of Physical Settlement or Notice of Intended Physical Settlement, as applicable, has been delivered by or to the Transferor or the Remaining Party.

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

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

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

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

### Used by:

- ContractNovation

### Schema Fragment:

    <xsd:group name="ContractNovationDetails.model">
      <xsd:sequence>
        <xsd:choice>
          <xsd:choice>
            <xsd:element name="newContractReference" type="ContractReference">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Indicates a reference to the new Contract between the
                  transferee and the remaining party.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="newContract" type="Contract">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Indicates the new Contract between the transferee and the
                  remaining party.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:sequence>
            <xsd:choice>
              <xsd:element name="oldContractReference" type="ContractReference">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Indicates a reference to the original contract between
                    the transferor and the remaining party.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="oldContract" type="Contract">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Indicates the original Contract between the transferor
                    and the remaining party.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="0">
              <xsd:element name="newContractReference" type="ContractReference"/>
              <xsd:element name="newContract" type="Contract"/>
            </xsd:choice>
          </xsd:sequence>
        </xsd:choice>
        <xsd:element name="transferor" type="PartyReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A pointer style reference to a party identifier defined
              elsewhere in the document. In a three-way novation the party
              referenced is the Transferor (outgoing party) in the
              novation. The Transferor means a party which transfers by
              novation to a Transferee all of its rights, liabilities,
              duties and obligations with respect to a Remaining Party. In
              a four-way novation the party referenced is Transferor 1
              which transfers by novation to Transferee 1 all of its
              rights, liabilities, duties and obligations with respect to
              Transferor 2. ISDA 2004 Novation Term: Transferor (three-way
              novation) or Transferor 1 (four-way novation).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="transferee" type="PartyReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A pointer style reference to a party identifier defined
              elsewhere in the document. In a three-way novation the party
              referenced is the Transferee (incoming party) in the
              novation. Transferee means a party which accepts by way of
              novation all rights, liabilities, duties and obligations of a
              Transferor with respect to a Remaining Party. In a four-way
              novation the party referenced is Transferee 1 which accepts
              by way of novation the rights, liabilities, duties and
              obligations of Transferor 1. ISDA 2004 Novation Term:
              Transferee (three-way novation) or Transferee 1 (four-way
              novation).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="remainingParty" type="PartyReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A pointer style reference to a party identifier defined
              elsewhere in the document. In a three-way novation the party
              referenced is the Remaining Party in the novation. Remaining
              Party means a party which consents to a Transferor's transfer
              by novation and the acceptance thereof by the Transferee of
              all of the Transferor's rights, liabilities, duties and
              obligations with respect to such Remaining Party under and
              with respect of the Novated Amount of a transaction. In a
              four-way novation the party referenced is Transferor 2 per
              the ISDA definition and acts in the role of a Transferor.
              Transferor 2 transfers by novation to Transferee 2 all of its
              rights, liabilities, duties and obligations with respect to
              Transferor 1. ISDA 2004 Novation Term: Remaining Party
              (three-way novation) or Transferor 2 (four-way novation).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="otherRemainingParty" type="PartyReference" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A pointer style reference to a party identifier defined
              elsewhere in the document. This element is not applicable in
              a three-way novation and should be omitted. In a four-way
              novation the party referenced is Transferee 2. Transferee 2
              means a party which accepts by way of novation the rights,
              liabilities, duties and obligations of Transferor 2. ISDA
              2004 Novation Term: Transferee 2 (four-way novation).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="novationDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the date that one party's legal obligations with
              regard to a trade are transferred to another party. It
              corresponds to the Novation Date section of the 2004 ISDA
              Novation Definitions, section 1.16.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="novationContractDate" type="xsd:date" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the date the parties agree to assign or novate a
              Contract. If this element is not specified, the
              novationContractDate will be deemed to be the novationDate.
              It corresponds to the Novation Trade Date section of the 2004
              ISDA Novation Definitions, section 1.17.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice>
          <xsd:element name="novatedAmount" type="Money">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The amount which represents the portion of the Old Contract
                being novated.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="novatedNumberOfOptions" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The number of options which represent the portion of the
                Old Contract being novated.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="novatedNumberOfUnits" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The number of options which represent the portion of the
                Old Contract being novated.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:element name="fullFirstCalculationPeriod" type="xsd:boolean" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              This element corresponds to the applicability of the Full
              First Calculation Period as defined in the 2004 ISDA Novation
              Definitions, section 1.20.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="firstPeriodStartDate" type="FirstPeriodStartDate" minOccurs="0" maxOccurs="2">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Element that is used to be able to make sense of the “new
              transaction” without requiring reference back to the “old
              transaction”. In the case of interest rate products there are
              potentially 2 “first period start dates” to reference – one
              with respect to each party to the new transaction. For Credit
              Default Swaps there is just the one with respect to the party
              that is the fixed rate payer.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="nonReliance" type="Empty" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              This element corresponds to the non-Reliance section in the
              2004 ISDA Novation Definitions, section 2.1 (c) (i). The
              element appears in the instance document when non-Reliance is
              applicable.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="creditDerivativesNotices" type="CreditDerivativesNotices" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              This element should be specified if one or more of either a
              Credit Event Notice, Notice of Publicly Available
              Information, Notice of Physical Settlement or Notice of
              Intended Physical Settlement, as applicable, has been
              delivered by or to the Transferor or the Remaining Party. The
              type of notice or notices that have been delivered should be
              indicated by setting the relevant boolean element value(s) to
              true. The absence of the element means that no Credit Event
              Notice, Notice of Publicly Available Information, Notice of
              Physical Settlement or Notice of Intended Physical
              Settlement, as applicable, has been delivered by or to the
              Transferor or the Remaining Party.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="contractualDefinitions" type="ContractualDefinitions" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The definitions (such as those published by ISDA) that will
              define the terms of the novation transaction.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="contractualTermsSupplement" type="ContractualTermsSupplement" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A contractual supplement (such as those published by ISDA)
              that will apply to the trade.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:group>

## ContractOrContractReference.model

### Description:

### Figure:

### Contents:

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

contract (exactly one occurrence; of the type Contract)

- An element that allows the full details of the contract to be used as a mechanism for identifying the contract

Or

contractReference (exactly one occurrence; of the type ContractReference)

- A container since an individual contract can be referenced by two or more different partyTradeIdentifier elements - each allocated by a different party.

### Used by:

### Schema Fragment:

    <xsd:group name="ContractOrContractReference.model">
      <xsd:choice>
        <xsd:element name="contract" type="Contract">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An element that allows the full details of the contract to be
              used as a mechanism for identifying the contract
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="contractReference" type="ContractReference">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A container since an individual contract can be referenced by
              two or more different partyTradeIdentifier elements - each
              allocated by a different party.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:group>

## IncreaseDetails.model

### Description:

### Figure:

### Contents:

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

- The date on which the the parties enter into the Increase transaction

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

- The date on which the Increase becomes effective

There can be one occurance of the following structure;

### Used by:

- Increase

### Schema Fragment:

    <xsd:group name="IncreaseDetails.model">
      <xsd:sequence>
        <xsd:element name="increaseTradeDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date on which the the parties enter into the Increase
              transaction
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="increaseEffectiveDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The date on which the Increase becomes effective
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice>
          <xsd:sequence>
            <xsd:element name="increaseInNotionalAmount" type="Money">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Specifies the fixed amount by which the Notional
                  increases due to the Increase transaction.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="outstandingNotionalAmount" type="Money">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Specifies the Notional amount after the Increase.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
          <xsd:sequence>
            <xsd:element name="increaseInNumberOfOptions" type="xsd:decimal">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Specifies the fixed amount by which the Number of Options
                  increases due to the Increase transaction.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="outstandingNumberOfOptions" type="xsd:decimal">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Specifies the Number of Options after the Increase.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:choice>
      </xsd:sequence>
    </xsd:group>

## TradeOrTradeReference.model

### Description:

### Figure:

### Contents:

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

trade (exactly one occurrence; of the type Trade)

- An element that allows the full details of the trade to be used as a mechanism for identifying the trade for which the post-trade event pertains

Or

tradeReference (exactly one occurrence; of the type PartyTradeIdentifiers)

- A container since an individual trade can be referenced by two or more different partyTradeIdentifier elements - each allocated by a different party.

### Used by:

- AffectedTransactions
- Increase
- Termination
- TradeErrorResponse

### Schema Fragment:

    <xsd:group name="TradeOrTradeReference.model">
      <xsd:choice>
        <xsd:element name="trade" type="Trade">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An element that allows the full details of the trade to be
              used as a mechanism for identifying the trade for which the
              post-trade event pertains
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="tradeReference" type="PartyTradeIdentifiers">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A container since an individual trade can be referenced by
              two or more different partyTradeIdentifier elements - each
              allocated by a different party.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:group>

## Validation.model

### Description:

### Figure:

### Contents:

validation (zero or more occurrences; of the type Validation)

### Used by:

- DataDocument
- NotificationMessage
- RequestMessage
- ResponseMessage

### Schema Fragment:

    <xsd:group name="Validation.model">
      <xsd:sequence>
        <xsd:element name="validation" type="Validation" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:group>

## VersionHistory.model

### Description:

### Figure:

### Contents:

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

- The version number

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

- Optionally it is possible to specify a version effective date when a versionId is supplied.

### Used by:

- VersionedContractId
- VersionedTradeId

### Schema Fragment:

    <xsd:group name="VersionHistory.model">
      <xsd:sequence>
        <xsd:element name="version" type="xsd:nonNegativeInteger">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The version number
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="effectiveDate" type="IdentifiedDate" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Optionally it is possible to specify a version effective date
              when a versionId is supplied.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:group>

# Full XML Schema

    <xsd:schema targetNamespace="http://www.fpml.org/2005/FpML-4-2" elementFormDefault="qualified" attributeFormDefault="unqualified" version="$Revision: 14520 $">
      <xsd:include schemaLocation="fpml-shared-4-2.xsd"/>
      <xsd:simpleType name="QueryParameterValue">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type representing a value corresponding to an identifier for
            a parameter describing a query portfolio.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string"/>
      </xsd:simpleType>
      <xsd:complexType name="Account">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A generic account that represents any party's account at
            another party. Parties may be identified by the account at
            another party.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:sequence maxOccurs="unbounded">
            <xsd:element name="accountId" type="AccountId">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  An account identifier. For example an Account number.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="accountName" type="xsd:normalizedString" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The name by which the account is known.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
          <xsd:element name="accountBeneficiary" type="PartyReference" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A reference to the party beneficiary of the account.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID" use="required">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The unique identifier for the account within the document.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:complexType>
      <xsd:complexType name="AccountId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The data type used for party identifiers.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="accountIdScheme" type="xsd:anyURI">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The identifier scheme used with this accountId. A unique
                  URI to determine the authoritative issuer of these
                  identifiers.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:attribute>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="Allocation">
        <xsd:sequence>
          <xsd:element name="allocationTradeId" type="PartyTradeIdentifier">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Unique ID for the allocation.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:group ref="AccountReferenceOrPartyReference.model"/>
          <xsd:choice>
            <xsd:element name="allocatedFraction" type="xsd:decimal">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The fractional allocation (0.45 = 45%) of the notional
                  and "block" fees to this particular client subaccount.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="allocatedNotional" type="Money">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The notional allocation (amount and currency) to this
                  particular client account.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:group ref="AllocationContent.model"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="Allocations">
        <xsd:sequence>
          <xsd:element name="allocation" type="Allocation" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AllocationTradeIdentifier">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            This type is used to identify that a trade id is referring to a
            bock trade.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="PartyTradeIdentifier">
            <xsd:sequence>
              <xsd:element name="blockTradeId" type="PartyTradeIdentifier" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The trade id of the block trade. This is used by each
                    one of the allocated trades to reference the block
                    trade.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Amendment">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An event type that defines the content of an Amendment
            transaction.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Event">
            <xsd:sequence>
              <xsd:element name="trade" type="Trade"/>
              <xsd:group ref="AmendmentDetails.model"/>
              <xsd:element name="payment" type="Payment" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A payment for the right to amend the trade.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Approval">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A specific approval state in the workflow.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="type" type="xsd:normalizedString">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The type of approval (e.g. "Credit").
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="status" type="xsd:normalizedString">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The current state of approval (.e.g preapproved, pending
                approval, etc.)
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="approver" type="xsd:normalizedString" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The full name or identifiying ID of the relevant approver.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="Approvals">
        <xsd:sequence>
          <xsd:element name="approval" type="Approval" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="BestFitTrade">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type used to record the differences between the current trade
            and another indicated trade.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="tradeIdentifier" type="TradeIdentifier">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The identifier for the trade compared against.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="differences" type="TradeDifference" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An optional set of detailed difference records.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="BlockTradeIdentifier">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            This type is used to identify that a trade id is referring to a
            bock trade.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="PartyTradeIdentifier">
            <xsd:sequence>
              <xsd:element name="allocationTradeId" type="PartyTradeIdentifier" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The trade id of the allocated trade. This is used by
                    the block trade to reference the allocated trade.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="blockTradeId" type="PartyTradeIdentifier" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The trade id of the parent trade for N-level
                    allocations. This element is only used to model N-level
                    allocations in which the trade acts as block and
                    allocated trade at the same time.This basically means
                    the ability to allocate a block trade to multiple
                    allocation trades, and then allocate these in turn to
                    other allocation trades (and so on if desired).
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="ChangeContract" abstract="true">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Abstract base class for changes to a Contract
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="contractReference" type="ContractReference"/>
          <xsd:element name="date" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date on which the the parties enter into the change
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="effectiveDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date on which the change becomes effective
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="payment" type="Payment" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Payment for the right to change the Contract
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ChangeContractSize">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Represent a change in Contract Size
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="ChangeContract">
            <xsd:choice>
              <xsd:sequence>
                <xsd:element name="changeInNotionalAmount" type="Money">
                  <xsd:annotation>
                    <xsd:documentation xml:lang="en">
                      Specifies the fixed amount by which the Notional
                      Amount changes
                    </xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
                <xsd:element name="outstandingNotionalAmount" type="Money">
                  <xsd:annotation>
                    <xsd:documentation xml:lang="en">
                      Specifies the Notional amount after the Change
                    </xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
              <xsd:sequence>
                <xsd:element name="changeInNumberOfOptions" type="xsd:decimal">
                  <xsd:annotation>
                    <xsd:documentation xml:lang="en">
                      Specifies the fixed amount by which the Number of
                      Options changes
                    </xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
                <xsd:element name="outstandingNumberOfOptions" type="xsd:decimal">
                  <xsd:annotation>
                    <xsd:documentation xml:lang="en">
                      Specifies the Number of Options after the Change.
                    </xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
              <xsd:sequence>
                <xsd:element name="changeInNumberOfUnits" type="xsd:decimal">
                  <xsd:annotation>
                    <xsd:documentation xml:lang="en">
                      Specifies the fixed amount by which the Number of
                      Units changes
                    </xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
                <xsd:element name="outstandingNumberOfUnits" type="xsd:decimal">
                  <xsd:annotation>
                    <xsd:documentation xml:lang="en">
                      Specifies the Number of Units
                    </xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:choice>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Collateral">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type for defining the obligations of the counterparty subject
            to credit support requirements
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="independentAmount" type="IndependentAmount">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Independent Amount is an amount that usually less
                creditworthy counterparties are asked to provide. It can
                either be a fixed amount or a percentage of the
                Transaction's value. The Independent Amount can be: (i)
                transferred before any trading between the parties occurs
                (as a deposit at a third party's account or with the
                counterparty) or (ii) callable after trading has occurred
                (typically because a downgrade has occurred). In situation
                (i), the Independent Amount is not included in the
                calculation of Exposure, but in situation (ii), it is
                included in the calculation of Exposure. Thus, for
                situation (ii), the Independent Amount may be transferred
                along with any collateral call. Independent Amount is a
                defined term in the ISDA Credit Support Annex. ("with
                respect to a party, the amount specified as such for that
                party in Paragraph 13; if no amount is specified, zero")
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="Contract">
        <xsd:sequence>
          <xsd:element name="header" type="ContractHeader"/>
          <xsd:element ref="product"/>
          <xsd:element name="otherPartyPayment" type="Payment" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Other fees or additional payments associated with the
                contract, e.g. broker commissions, where one or more of the
                parties involved are not principal parties involved in the
                contract
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:group ref="CalculationAgent.model"/>
          <xsd:element name="collateral" type="Collateral" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Defines collateral obiligations of a Party
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="documentation" type="Documentation" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Defines the definitions that govern the document and should
                include the year and type of definitions referenced, along
                with any relevant documentation (such as master agreement)
                and the date it was signed
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="governingLaw" type="GoverningLaw" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Governing Law applicable to this Contract
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ContractHeader">
        <xsd:sequence>
          <xsd:element name="identifier" type="ContractIdentifier" maxOccurs="unbounded"/>
          <xsd:element name="contractDate" type="xsd:date"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ContractId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A contact reference identifier allocated by a party. FpML does
            not define the domain values associated with this element. Note
            that the domain values for this element are not strictly an
            enumerated list.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="contractIdScheme" type="xsd:anyURI" use="required"/>
            <xsd:attribute name="id" type="xsd:ID"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="ContractIdentifier">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a contract identifier issued by the indicated
            party.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="partyReference" type="PartyReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A pointer style reference to a party identifier defined
                elsewhere in the document. The party referenced has
                allocated the contract identifier.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice>
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Where the legal activity is to agree a contract of
                variation then the business process should be to modify a
                contract. This is a contract in its own right and not a
                version of a previous contract. Where the business process
                is to replace and supersede a contract then you have a new
                contract and a contract version should not be used
              </xsd:documentation>
            </xsd:annotation>
            <xsd:element name="contractId" type="ContractId" maxOccurs="unbounded"/>
            <xsd:element name="versionedContractId" type="VersionedContractId" maxOccurs="unbounded"/>
          </xsd:choice>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="ContractNovation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Details of the Contract Novation
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:group ref="ContractNovationDetails.model"/>
          <xsd:element name="payment" type="Payment" minOccurs="0"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ContractReference">
        <xsd:sequence>
          <xsd:element name="identifier" type="ContractIdentifier" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ContractTermination">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Contract Full Termination
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="ChangeContract"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="CreditDerivativesNotices">
        <xsd:sequence>
          <xsd:element name="creditEvent" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                This element corresponds to the Credit Event Notice
                Delivered Under Old Transaction and Deemed Delivered Under
                New Transaction under the EXHIBIT C to 2004 ISDA Novation
                Definitions.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="publiclyAvailableInformation" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                This element corresponds to the Notice of Publicly
                Available Information Delivered Under Old Transaction and
                Deemed Delivered Under New Transaction under the EXHIBIT C
                to 2004 ISDA Novation Definitions.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="physicalSettlement" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                This element corresponds to the Notice of Intended Physical
                Settlement Delivered Under Old Transaction under the
                EXHIBIT C to 2004 ISDA Novation Definitions.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="DataDocument">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a content model that is backwards compatible
            with older FpML releases and which can be used to contain sets
            of data without expressing any processing intention.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Document">
            <xsd:sequence>
              <xsd:group ref="Validation.model"/>
              <xsd:choice>
                <xsd:sequence>
                  <xsd:element name="trade" type="Trade" minOccurs="0" maxOccurs="unbounded">
                    <xsd:annotation>
                      <xsd:documentation xml:lang="en">
                        The root element in an FpML trade document.
                      </xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                  <xsd:element name="portfolio" type="Portfolio" minOccurs="0" maxOccurs="unbounded">
                    <xsd:annotation>
                      <xsd:documentation xml:lang="en">
                        An arbitary grouping of trade references (and
                        possibly other portfolios).
                      </xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                </xsd:sequence>
                <xsd:sequence>
                  <xsd:element ref="event" maxOccurs="unbounded">
                    <xsd:annotation>
                      <xsd:documentation xml:lang="en">
                        A business event.
                      </xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                </xsd:sequence>
              </xsd:choice>
              <xsd:element name="party" type="Party" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    An entity having a role in a trade lifecycle. For
                    example, the principal parties obligated to make
                    payments from time to time during the term of the
                    trade, but may include other parties involved in, or
                    incidental to, the trade, such as parties acting in the
                    role of novation transferor/transferee, broker,
                    calculation agent, etc.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Document" abstract="true">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The abstract base type from which all FpML compliant messages
            and documents must be derived.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:attributeGroup ref="StandardAttributes.atts"/>
      </xsd:complexType>
      <xsd:complexType name="Event" abstract="true">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the basic structure of FpML business events; it
            is refined by its derived types.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="eventId" type="EventId" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en"/>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="EventId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An event reference identifier allocated by a party. FpML does
            not define the domain values associated with this element. Note
            that the domain values for this element are not strictly an
            enumerated list.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="eventIdScheme" use="required" type="xsd:anyURI"/>
            <xsd:attribute name="id" type="xsd:ID"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="FirstPeriodStartDate">
        <xsd:simpleContent>
          <xsd:extension base="xsd:date">
            <xsd:attribute name="href" use="required" type="xsd:IDREF"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="Increase">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An event type that defines the content of an Increase
            transaction.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Event">
            <xsd:sequence>
              <xsd:group ref="TradeOrTradeReference.model"/>
              <xsd:group ref="IncreaseDetails.model"/>
              <xsd:element name="payment" type="Payment" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A payment for the right to increase the trade.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="IndependentAmount">
        <xsd:sequence>
          <xsd:group ref="PayerReceiver.model"/>
          <xsd:element name="paymentDetail" type="PaymentDetail" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A container element allowing a schedule of payments
                associated with the Independent Amount.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="LinkId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The data type used for link identifiers.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="id" type="xsd:ID"/>
            <xsd:attribute name="linkIdScheme" type="xsd:anyURI" use="required"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="Party">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining party information.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="partyId" type="PartyId" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A party identifier, e.g. a S.W.I.F.T. bank identifier code
                (BIC).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="partyName" type="xsd:normalizedString" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The name of the party. A free format string. FpML does not
                define usage rules for this element.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="account" type="Account" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Accounts serviced by this party. These are not accounts
                where this party is beneficiary, but instead where services
                are provided by this party to the beneficiary party.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID" use="required">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The id uniquely identifying the Party within the document.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:complexType>
      <xsd:complexType name="PartyId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The data type used for party identifiers.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="partyIdScheme" type="xsd:anyURI" default="http://www.fpml.org/ext/iso9362"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="PartyPortfolioName">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type to represent a portfolio name for a particular party.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="partyReference" type="PartyReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A pointer style reference to a party identifier defined
                elsewhere in the document. The party referenced has
                allocated the trade identifier.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="portfolioName" type="PortfolioName" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="PartyRole">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A generic party role type. This can be extended to provide
            specialization of roles.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The party fulfilling this role can be identified either
              directly, or indirectly via the account used to fulfil this
              role.
            </xsd:documentation>
          </xsd:annotation>
          <xsd:element name="party" type="PartyReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A reference to the party fulfilling this role.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="account" type="AccountReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A reference to the account fulfilling this role.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
      <xsd:complexType name="PartyTradeIdentifier">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining one or more trade identifiers allocated to the
            trade by a party. A link identifier allows the trade to be
            associated with other related trades, e.g. trades forming part
            of a larger structured transaction. 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:complexContent>
          <xsd:extension base="TradeIdentifier">
            <xsd:sequence>
              <xsd:element name="linkId" type="LinkId" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A link identifier allowing the trade to be associated
                    with other related trades, e.g. the linkId may contain
                    a tradeId for an associated trade or several related
                    trades may be given the same linkId. FpML does not
                    define the domain values associated with this element.
                    Note that the domain values for this element are not
                    strictly an enumerated list.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="PartyTradeIdentifiers">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type containing multiple partyTradeIdentifier.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="partyTradeIdentifier" type="PartyTradeIdentifier" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="PartyTradeInformation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining additional information that may be recorded
            against a trade.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="partyReference" type="PartyReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Identifies that party that has ownership of this
                information.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="trader" type="Trader" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Identifies the person or persons who assumed the role of
                trader for this trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="PaymentDetail">
        <xsd:sequence>
          <xsd:choice minOccurs="0">
            <xsd:element name="adjustablePaymentDate" type="AdjustableDate2">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A fixed amount payment date that shall be subject to
                  adjustment in accordance with the applicable business day
                  convention if it would otherwise fall on a day that is
                  not a business day. The applicable business day
                  convention and business day are those specified in the
                  dateAdjustments element within the generalTerms
                  component. ISDA 2003 Term: Fixed Rate Payer Payment Date
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="adjustedPaymentDate" type="xsd:date">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The adjusted payment date. This date should already be
                  adjusted for any applicable business day convention. This
                  component is not intended for use in trade confirmation
                  but may be specified to allow the fee structure to also
                  serve as a cashflow type component.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:choice>
            <xsd:element name="paymentAmount" type="Money">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A fixed payment amount.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:sequence>
              <xsd:element name="paymentRule" type="PaymentRule">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A type defining the calculation rule.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="paymentAmount" type="Money" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A fixed payment amount.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:choice>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="PaymentRule" abstract="true">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The abstract base type from which all calculation rules of the
            independent amount must be derived.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:complexType>
      <xsd:complexType name="PercentageRule">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a content model for a calculation rule defined
            as percentage of the notional amount.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="PaymentRule">
            <xsd:sequence>
              <xsd:element name="paymentPercent" type="xsd:decimal">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A percentage of the notional amount.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="notionalAmountReference" type="NotionalAmountReference">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A reference to the notional amount.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Portfolio">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type representing an arbitary grouping of trade references.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="partyPortfolioName" type="PartyPortfolioName" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The name of the portfolio together with the party that gave
                the name.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="tradeId" type="TradeId" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element name="portfolio" type="Portfolio" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An arbitary grouping of trade references (and possibly
                other portfolios).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="PortfolioName">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The data type used for portfolio names.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="id" type="xsd:ID"/>
            <xsd:attribute name="portfolioNameScheme" type="xsd:anyURI"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="QueryParameter">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type representing criteria for defining a query portfolio.
            The criteria are made up of a QueryParameterId,
            QueryParameterValue and QueryParameterOperator.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="queryParameterId" type="QueryParameterId"/>
          <xsd:element name="queryParameterValue" type="xsd:normalizedString" minOccurs="0"/>
          <xsd:element name="queryParameterOperator" type="QueryParameterOperator" minOccurs="0"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="QueryParameterId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type representing an identifier for a parameter describing a
            query portfolio. An identifier can be anything from a product
            name like swap to a termination date.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="queryParameterIdScheme" type="xsd:anyURI" use="required"/>
            <xsd:attribute name="id" type="xsd:ID"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="QueryParameterOperator">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type representing an operator describing the relationship of
            a value to its corresponding identifier for a parameter
            describing a query portfolio. Possible relationships include
            equals, not equals, less than, greater than. Possible operators
            are listed in the queryParameterOperatorScheme.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="queryParameterOperatorScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/query-parameter-operator-1-0"/>
            <xsd:attribute name="id" type="xsd:ID"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="QueryPortfolio">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type representing a portfolio obtained by querying the set of
            trades held in a repository. It contains trades matching the
            intersection of all criteria specified using one or more
            queryParameters or trades matching the union of two or more
            child queryPortfolios.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Portfolio">
            <xsd:sequence>
              <xsd:element name="queryParameter" type="QueryParameter" maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Strategy">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a group of products making up a single trade.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="Product">
            <xsd:sequence>
              <xsd:element name="premiumProductReference" type="ProductReference" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Indicates which product within a strategy represents
                    the premium payment.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="product" maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Trade">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type definiting an FpML trade.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="tradeHeader" type="TradeHeader">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The information on the trade which is not product specific,
                e.g. trade date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element ref="product"/>
          <xsd:element name="otherPartyPayment" type="Payment" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Other fees or additional payments associated with the
                trade, e.g. broker commissions, where one or more of the
                parties involved are not principal parties involved in the
                trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="brokerPartyReference" type="PartyReference" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Identifies that party (or parties) that brokered this
                trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:group ref="CalculationAgent.model"/>
          <xsd:element name="collateral" type="Collateral" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Defines collateral obiligations of a Party
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="documentation" type="Documentation" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Defines the definitions that govern the document and should
                include the year and type of definitions referenced, along
                with any relevant documentation (such as master agreement)
                and the date it was signed.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="governingLaw" type="GoverningLaw" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                TBA
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="allocations" type="Allocations" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                "Short-form" representation of allocations in which the key
                block economics are stated once within the trade structure,
                and the allocation data is contained in this allocations
                structure.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="tradeSide" type="TradeSide" minOccurs="0" maxOccurs="2">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The parties to the Trade are grouped into Trade Sides. Each
                Trade has as many as two sides. Each side is a buyer or
                receiver of each leg or stream.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="TradeDifference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type used to record the details of a difference between two
            business objects/
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="differenceType" type="DifferenceTypeEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The type of difference that exists.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="differenceSeverity" type="DifferenceSeverityEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An indication of the severity of the difference.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="element" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The name of the element affected.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="basePath" type="xsd:string" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                XPath to the element in the base object.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="baseValue" type="xsd:string" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The valie of the element in the base object.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="otherPath" type="xsd:string" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                XPath to the element in the other object.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="otherValue" type="xsd:string" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Value of the element in the other trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="missingElement" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Element(s) that are missing in the other trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="extraElement" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Element(s) that are extraneous in the other object.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="message" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A human readable description of the problem.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="TradeHeader">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining trade related information which is not product
            specific.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="partyTradeIdentifier" type="PartyTradeIdentifier" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The trade reference identifier(s) allocated to the trade by
                the parties involved.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="partyTradeInformation" type="PartyTradeInformation" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Additional trade information that may be provided by each
                involved party.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="tradeDate" type="IdentifiedDate">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The trade date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="TradeId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A trade reference identifier allocated by a party. FpML does
            not define the domain values associated with this element. Note
            that the domain values for this element are not strictly an
            enumerated list.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="tradeIdScheme" type="xsd:anyURI" use="required"/>
            <xsd:attribute name="id" type="xsd:ID"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="TradeIdentifier">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining a trade identifier issued by the indicated
            party.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="partyReference" type="PartyReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A pointer style reference to a party identifier defined
                elsewhere in the document. The party referenced has
                allocated the trade identifier.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice maxOccurs="unbounded">
            <xsd:element name="tradeId" type="TradeId"/>
            <xsd:element name="versionedTradeId" type="VersionedTradeId"/>
          </xsd:choice>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:complexType>
      <xsd:complexType name="Trader">
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="traderScheme" type="xsd:anyURI" use="optional"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="TradeSide">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The parties to the trade form into sides. Each side has defined
            roles in the lifecyle of the trade fulfilled by parties. Each
            party role is given in the likely order they would be filled
            during the lifecycle of a trade.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Agency relations occur when one Party undertakes one role and
              another undertakes a different role. For example a Fund would
              be Beneficiary, use a Fund Manager as Orderer, use a trading
              firm as Introducer, and a broker as Executor, but give up
              Clearing to their prime broker. All roles always exist. An
              absent element means the role isn't stated.
            </xsd:documentation>
          </xsd:annotation>
          <xsd:element name="orderer" type="PartyRole" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The Party placing the order. This could be a fund manager
                acting on behalf of a client, or a hedge fund acting on
                it's own behalf. This is the role with the investment
                discretion.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="introducer" type="PartyRole" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Party that can relay an order directly to the trading floor
                at a firm. This is potentially a different firm, but may be
                the same as that taking the order. In effect the introducer
                is the first dealer to take the order. The reason an
                introducing dealer may forward a trade is sometime because
                it doesn't have the capacity to execute effectively but
                does have the relationship with the Orderer. Introducing
                Party is an industry standard term. This is semantically
                equivalent to the FIX and ISO20022 Introducing Firm.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="executor" type="PartyRole" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The Party executing or striking the trade. Executing Party
                is an industry standard term. This is semantically
                equivalent to the FIX and ISO20022 Executing Firm or
                Trader.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="confirmer" type="PartyRole" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The party that undertakes the confirmation process for this
                Trade Side. The confirmer essentially manages the matching
                and affirmation of trades. This is often the creditor or is
                increasingly outsourced to service providers such as
                Swapswire.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="creditor" type="PartyRole">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The party whose name appears on the contract as being
                responsible for credit of the trade. This is the party in
                the Trade Side the credit risk is against. For example if a
                hedge fund was to trade in the name of it's prime broker,
                then the prime broker would be the creditor.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="calculater" type="PartyRole" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The calculater is the Party that calculates, negotiates,
                and agrees the values to be paid at each payment date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="settler" type="PartyRole" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The Settler is the party that makes the payments.
                Increasingly this is a service that can be externalized
                from the other roles. An example of a settlement service
                provide is SwapClear.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="beneficiary" type="PartyRole" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The party that suffers the economic effect of the trade.
                This is usually referred to as the primary Principal in FIX
                and ISO20022 - which is slightly confusing in that there
                are potentially many Princiapal/Agency relationships. The
                beneficiary may be distinct from the creditor - an example
                is a Hedge Fund trading in the name of it's Prime Broker.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="accountant" type="PartyRole" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The Accountants for the trade. There are potentially many
                accountants. This is known in FIX and ISO20022 for
                Collective Investment Vehicles as the Third Party
                Administrator (TPA), however all trades for all parties
                have at least one party accounting for the trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:ID" use="required"/>
      </xsd:complexType>
      <xsd:complexType name="Validation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference identifying a rule within a validation scheme.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
          <xsd:extension base="xsd:normalizedString">
            <xsd:attribute name="validationScheme" type="xsd:anyURI"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
      <xsd:complexType name="VersionedContractId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Contract Id with Version Support
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="contractId" type="ContractId"/>
          <xsd:group ref="VersionHistory.model"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="VersionedTradeId">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Trade Id with Version Support
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="tradeId" type="TradeId"/>
          <xsd:group ref="VersionHistory.model"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:attributeGroup name="StandardAttributes.atts">
        <xsd:attribute name="version" use="required">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Indicate which version of the FpML Schema an FpML message
              adheres to.
            </xsd:documentation>
          </xsd:annotation>
          <xsd:simpleType>
            <xsd:restriction base="xsd:token">
              <xsd:enumeration value="4-0"/>
              <xsd:enumeration value="4-1"/>
              <xsd:enumeration value="4-2"/>
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute name="expectedBuild" type="xsd:positiveInteger">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The message creator can send the build number of the schema
              on which they built the messages against.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <xsd:attribute name="actualBuild" fixed="13" type="xsd:positiveInteger">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Taken from the schemas that the recipient validated against.
              Every time there is a change on the schema, validation rules,
              or examples within a version the actual build number is
              incremented. If no changes have been made between releases
              within a version (i.e. from Trial Recommendation to
              Recommendation) the actual build number stays the same.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:attributeGroup>
      <xsd:element name="event" type="Event" abstract="true">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An abstract global element used as a basis for substition of
            event types
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="strategy" type="Strategy" substitutionGroup="product">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A strategy product.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group name="AccountReferenceOrPartyReference.model">
        <xsd:choice>
          <xsd:element name="accountReference" type="AccountReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Reference to the subaccount definition in the Party list.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="partyReference" type="PartyReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Reference to the party definition.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
      </xsd:group>
      <xsd:group name="AllocationContent.model">
        <xsd:sequence>
          <xsd:element name="collateral" type="Collateral" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The sum that must be posted upfront to collateralize
                against counterparty credit risk.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="creditChargeAmount" type="Money" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Special credit fee assessed to certain institutions.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="approvals" type="Approvals" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A container for approval states in the workflow.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="masterConfirmationDate" type="xsd:date" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date of the confirmation executed between the parties
                and intended to govern the allocated trade between those
                parties.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:group>
      <xsd:group name="AmendmentDetails.model">
        <xsd:sequence>
          <xsd:element name="amendmentTradeDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date on which the the parties enter into the Amendment
                transaction
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="amendmentEffectiveDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date on which the Amendment becomes effective
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:group>
      <xsd:group name="CalculationAgent.model">
        <xsd:sequence>
          <xsd:element name="calculationAgent" type="CalculationAgent" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The ISDA Calculation Agent responsible for performing
                duties associated with an optional early termination
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="calculationAgentBusinessCenter" type="BusinessCenter" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The city in which the office through which ISDA Calculation
                Agent is acting for purposes of the transaction is located
                The short-form confirm for a trade that is executed under a
                Sovereign or Asia Pacific Master Confirmation Agreement (
                MCA ), does not need to specify the Calculation Agent.
                However, the confirm does need to specify the Calculation
                Agent City. This is due to the fact that the MCA sets the
                value for Calculation Agent but does not set the value for
                Calculation Agent City.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:group>
      <xsd:group name="ContractNovationDetails.model">
        <xsd:sequence>
          <xsd:choice>
            <xsd:choice>
              <xsd:element name="newContractReference" type="ContractReference">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Indicates a reference to the new Contract between the
                    transferee and the remaining party.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="newContract" type="Contract">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Indicates the new Contract between the transferee and
                    the remaining party.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
            <xsd:sequence>
              <xsd:choice>
                <xsd:element name="oldContractReference" type="ContractReference">
                  <xsd:annotation>
                    <xsd:documentation xml:lang="en">
                      Indicates a reference to the original contract
                      between the transferor and the remaining party.
                    </xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
                <xsd:element name="oldContract" type="Contract">
                  <xsd:annotation>
                    <xsd:documentation xml:lang="en">
                      Indicates the original Contract between the
                      transferor and the remaining party.
                    </xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:choice>
              <xsd:choice minOccurs="0">
                <xsd:element name="newContractReference" type="ContractReference"/>
                <xsd:element name="newContract" type="Contract"/>
              </xsd:choice>
            </xsd:sequence>
          </xsd:choice>
          <xsd:element name="transferor" type="PartyReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A pointer style reference to a party identifier defined
                elsewhere in the document. In a three-way novation the
                party referenced is the Transferor (outgoing party) in the
                novation. The Transferor means a party which transfers by
                novation to a Transferee all of its rights, liabilities,
                duties and obligations with respect to a Remaining Party.
                In a four-way novation the party referenced is Transferor 1
                which transfers by novation to Transferee 1 all of its
                rights, liabilities, duties and obligations with respect to
                Transferor 2. ISDA 2004 Novation Term: Transferor
                (three-way novation) or Transferor 1 (four-way novation).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="transferee" type="PartyReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A pointer style reference to a party identifier defined
                elsewhere in the document. In a three-way novation the
                party referenced is the Transferee (incoming party) in the
                novation. Transferee means a party which accepts by way of
                novation all rights, liabilities, duties and obligations of
                a Transferor with respect to a Remaining Party. In a
                four-way novation the party referenced is Transferee 1
                which accepts by way of novation the rights, liabilities,
                duties and obligations of Transferor 1. ISDA 2004 Novation
                Term: Transferee (three-way novation) or Transferee 1
                (four-way novation).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="remainingParty" type="PartyReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A pointer style reference to a party identifier defined
                elsewhere in the document. In a three-way novation the
                party referenced is the Remaining Party in the novation.
                Remaining Party means a party which consents to a
                Transferor's transfer by novation and the acceptance
                thereof by the Transferee of all of the Transferor's
                rights, liabilities, duties and obligations with respect to
                such Remaining Party under and with respect of the Novated
                Amount of a transaction. In a four-way novation the party
                referenced is Transferor 2 per the ISDA definition and acts
                in the role of a Transferor. Transferor 2 transfers by
                novation to Transferee 2 all of its rights, liabilities,
                duties and obligations with respect to Transferor 1. ISDA
                2004 Novation Term: Remaining Party (three-way novation) or
                Transferor 2 (four-way novation).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="otherRemainingParty" type="PartyReference" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A pointer style reference to a party identifier defined
                elsewhere in the document. This element is not applicable
                in a three-way novation and should be omitted. In a
                four-way novation the party referenced is Transferee 2.
                Transferee 2 means a party which accepts by way of novation
                the rights, liabilities, duties and obligations of
                Transferor 2. ISDA 2004 Novation Term: Transferee 2
                (four-way novation).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="novationDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the date that one party's legal obligations with
                regard to a trade are transferred to another party. It
                corresponds to the Novation Date section of the 2004 ISDA
                Novation Definitions, section 1.16.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="novationContractDate" type="xsd:date" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the date the parties agree to assign or novate a
                Contract. If this element is not specified, the
                novationContractDate will be deemed to be the novationDate.
                It corresponds to the Novation Trade Date section of the
                2004 ISDA Novation Definitions, section 1.17.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice>
            <xsd:element name="novatedAmount" type="Money">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The amount which represents the portion of the Old
                  Contract being novated.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="novatedNumberOfOptions" type="xsd:decimal">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The number of options which represent the portion of the
                  Old Contract being novated.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="novatedNumberOfUnits" type="xsd:decimal">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The number of options which represent the portion of the
                  Old Contract being novated.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:element name="fullFirstCalculationPeriod" type="xsd:boolean" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                This element corresponds to the applicability of the Full
                First Calculation Period as defined in the 2004 ISDA
                Novation Definitions, section 1.20.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="firstPeriodStartDate" type="FirstPeriodStartDate" minOccurs="0" maxOccurs="2">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Element that is used to be able to make sense of the “new
                transaction” without requiring reference back to the “old
                transaction”. In the case of interest rate products there
                are potentially 2 “first period start dates” to reference –
                one with respect to each party to the new transaction. For
                Credit Default Swaps there is just the one with respect to
                the party that is the fixed rate payer.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="nonReliance" type="Empty" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                This element corresponds to the non-Reliance section in the
                2004 ISDA Novation Definitions, section 2.1 (c) (i). The
                element appears in the instance document when non-Reliance
                is applicable.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="creditDerivativesNotices" type="CreditDerivativesNotices" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                This element should be specified if one or more of either a
                Credit Event Notice, Notice of Publicly Available
                Information, Notice of Physical Settlement or Notice of
                Intended Physical Settlement, as applicable, has been
                delivered by or to the Transferor or the Remaining Party.
                The type of notice or notices that have been delivered
                should be indicated by setting the relevant boolean element
                value(s) to true. The absence of the element means that no
                Credit Event Notice, Notice of Publicly Available
                Information, Notice of Physical Settlement or Notice of
                Intended Physical Settlement, as applicable, has been
                delivered by or to the Transferor or the Remaining Party.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="contractualDefinitions" type="ContractualDefinitions" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The definitions (such as those published by ISDA) that will
                define the terms of the novation transaction.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="contractualTermsSupplement" type="ContractualTermsSupplement" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A contractual supplement (such as those published by ISDA)
                that will apply to the trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:group>
      <xsd:group name="ContractOrContractReference.model">
        <xsd:choice>
          <xsd:element name="contract" type="Contract">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An element that allows the full details of the contract to
                be used as a mechanism for identifying the contract
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="contractReference" type="ContractReference">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A container since an individual contract can be referenced
                by two or more different partyTradeIdentifier elements -
                each allocated by a different party.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
      </xsd:group>
      <xsd:group name="IncreaseDetails.model">
        <xsd:sequence>
          <xsd:element name="increaseTradeDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date on which the the parties enter into the Increase
                transaction
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="increaseEffectiveDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The date on which the Increase becomes effective
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice>
            <xsd:sequence>
              <xsd:element name="increaseInNotionalAmount" type="Money">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Specifies the fixed amount by which the Notional
                    increases due to the Increase transaction.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="outstandingNotionalAmount" type="Money">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Specifies the Notional amount after the Increase.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
            <xsd:sequence>
              <xsd:element name="increaseInNumberOfOptions" type="xsd:decimal">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Specifies the fixed amount by which the Number of
                    Options increases due to the Increase transaction.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="outstandingNumberOfOptions" type="xsd:decimal">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Specifies the Number of Options after the Increase.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:choice>
        </xsd:sequence>
      </xsd:group>
      <xsd:group name="TradeOrTradeReference.model">
        <xsd:choice>
          <xsd:element name="trade" type="Trade">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An element that allows the full details of the trade to be
                used as a mechanism for identifying the trade for which the
                post-trade event pertains
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="tradeReference" type="PartyTradeIdentifiers">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A container since an individual trade can be referenced by
                two or more different partyTradeIdentifier elements - each
                allocated by a different party.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
      </xsd:group>
      <xsd:group name="Validation.model">
        <xsd:sequence>
          <xsd:element name="validation" type="Validation" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:group>
      <xsd:group name="VersionHistory.model">
        <xsd:sequence>
          <xsd:element name="version" type="xsd:nonNegativeInteger">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The version number
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="effectiveDate" type="IdentifiedDate" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Optionally it is possible to specify a version effective
                date when a versionId is supplied.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:group>
    </xsd:schema>