FpML 4.0 Working Draft #1

4 April 2003

Main Component Definitions

Version: 4.0

This Version:

http://www.fpml.org/spec/2003/wd-fpml-4-0-2003-04-04

Latest Version:

http://www.fpml.org/spec/2003/wd-fpml-4-0-2003-04-04

Previous Version:

n/a

Errata for this Version:

http://www.fpml.org/spec/errata/wd-fpml-4-0-2003-04-04-errata.html


Copyright © 2002-2003. All rights reserved.
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


XSL Schema Processing Developed By:

Andrew Jacobs, Senior Consultant, IBM.
e-mail: andrew_jacobs@uk.ibm.com


XSL Schema Processing Also Supported By:

Brian Lynn, Founder and CTO, Gem Soup LLC.
e-mail: brian.lynn@gemsoup.com


Contents

Global Elements
additionalData
bestFitTradeId
conversationId
copyTo
creationTimestamp
expiryTimestamp
FpML
inReplyTo
linkId
location
messageId
otherPartyPayment
party
partyId
partyName
partyPortfolioName
partyTradeIdentifier
portfolio
portfolioName
premiumProductReference
reason
reasonCode
sendTo
sentBy
strategy
trade
tradeDate
tradeHeader
tradeId
tradeIdentifier
tradeStatusItem
tradeStatusValue

Global Complex Types
CancelTradeConfirmation
CancelTradeMatch
ComfirmationCancelled
ConfirmTrade
DataDocument
Document
Message
MessageHeader
MessageRejected
ModifyTradeConfirmation
ModifyTradeMatch
NotificationMessage
NotificationMessageHeader
Party
PartyPortfolioName
PartyTradeIdentifier
Portfolio
Reason
RequestMessage
RequestMessageHeader
RequestTradeConfirmation
RequestTradeMatch
RequestTradeStatus
ResponseMessage
ResponseMessageHeader
Strategy
Trade
TradeAffirmation
TradeAffirmed
TradeAlleged
TradeAlreadyMatched
TradeAlreadySubmitted
TradeConfirmed
TradeDate
TradeHeader
TradeIdentifier
TradeMatched
TradeMismatched
TradeNotFound
TradeStatus
TradeStatusItem
TradeStatusValue
TradeUnmatched

Global Simple Types
ConversationId
LinkId
MessageId
PartyId
PortfolioName
TradeId

Global Elements

additionalData

Description:

Any string of additional data that may help the message processor, for example in a rejection message this might contain the text of the original request (within a CDATA section).

Figure:

No SVG plugin installed

Contents:

Element additionalData is defined by the simple type xsd:string

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="additionalData" type="xsd:string">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Any string of additional data that may help the message
      processor, for example in a rejection message this might contain
      the text of the original request (within a CDATA section).
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

bestFitTradeId

Description:

A trade identifier for a transaction that closely resembles the characteristics of the trade under consideration.

Figure:

No SVG plugin installed

Contents:

Element bestFitTradeId is defined by the complex type TradeIdentifier

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="bestFitTradeId" type="TradeIdentifier">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A trade identifier for a transaction that closely resembles the
      characteristics of the trade under consideration.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

conversationId

Description:

A unique identifier created by the initiator of a conversation allowing a group of message exchanges to be recognized as related.

Figure:

No SVG plugin installed

Contents:

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

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="conversationId">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A unique identifier created by the initiator of a conversation
      allowing a group of message exchanges to be recognized as
      related.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="ConversationId">
        <xsd:attribute name="conversationIdScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

copyTo

Description:

A unique identifier (within the specified coding scheme) giving the details of some party to whom a copy of this message will be sent for reference.

Figure:

No SVG plugin installed

Contents:

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

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="copyTo">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A unique identifier (within the specified coding scheme) giving
      the details of some party to whom a copy of this message will be
      sent for reference.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="PartyId">
        <xsd:attribute name="partyIdScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

creationTimestamp

Description:

The date and time (on the source system) when this message instance was created.

Figure:

No SVG plugin installed

Contents:

Element creationTimestamp is defined by the simple type xsd:dateTime

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="creationTimestamp" type="xsd:dateTime">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The date and time (on the source system) when this message
      instance was created.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

expiryTimestamp

Description:

The date and time (on the source system) when this message instance will be considered expired.

Figure:

No SVG plugin installed

Contents:

Element expiryTimestamp is defined by the simple type xsd:dateTime

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="expiryTimestamp" type="xsd:dateTime">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The date and time (on the source system) when this message
      instance will be considered expired.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

FpML

Description:

The FpML element forms the root for any conforming FpML instance document. The actual structure of the document is determined by setting the 'type' attribute to an appropriate derived subtype of the complex type Document.

Figure:

No SVG plugin installed

Contents:

Element FpML is defined by the complex type Document

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="FpML" type="Document">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The FpML element forms the root for any conforming FpML instance
      document. The actual structure of the document is determined by
      setting the 'type' attribute to an appropriate derived subtype of
      the complex type Document.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

inReplyTo

Description:

A copy of the unique message identifier (within it own coding scheme) to which this message is responding.

Figure:

No SVG plugin installed

Contents:

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

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="inReplyTo">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A copy of the unique message identifier (within it own coding
      scheme) to which this message is responding.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="MessageId">
        <xsd:attribute name="messageIdScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

linkId

Description:

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.

Figure:

No SVG plugin installed

Contents:

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

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="linkId">
  <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:complexType>
    <xsd:simpleContent>
      <xsd:extension base="LinkId">
        <xsd:attribute name="id" type="xsd:ID"/>
        <xsd:attribute name="linkIdScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

location

Description:

An XPath expression indicating the location of the problem within the subject message.

Figure:

No SVG plugin installed

Contents:

Element location is defined by the simple type xsd:string

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="location" type="xsd:string">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An XPath expression indicating the location of the problem within
      the subject message.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

messageId

Description:

A unique identifier (within its coding scheme) assigned to the message by its creating party.

Figure:

No SVG plugin installed

Contents:

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

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="messageId">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A unique identifier (within its coding scheme) assigned to the
      message by its creating party.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="MessageId">
        <xsd:attribute name="messageIdScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

otherPartyPayment

Description:

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.

Figure:

No SVG plugin installed

Contents:

Element otherPartyPayment is defined by the complex type Payment

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="otherPartyPayment" type="Payment">
  <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>

party

Description:

The parties obligated to make payments from time to time during the term of the trade. This will include, at a minimum, the principal parties involved in the swap or forward rate agreement. Other parties paying or receiving fees, commissions etc. must also be specified if referenced in other party payments.

Figure:

No SVG plugin installed

Contents:

Element party is defined by the complex type Party

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="party" type="Party">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The parties obligated to make payments from time to time during
      the term of the trade. This will include, at a minimum, the
      principal parties involved in the swap or forward rate agreement.
      Other parties paying or receiving fees, commissions etc. must
      also be specified if referenced in other party payments.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

partyId

Description:

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

Figure:

No SVG plugin installed

Contents:

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

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="partyId">
  <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:complexType>
    <xsd:simpleContent>
      <xsd:extension base="PartyId">
        <xsd:attribute name="partyIdScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

partyName

Description:

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

Figure:

No SVG plugin installed

Contents:

Element partyName is defined by the simple type xsd:string

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="partyName" type="xsd:string">
  <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>

partyPortfolioName

Description:

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

Figure:

No SVG plugin installed

Contents:

Element partyPortfolioName is defined by the complex type PartyPortfolioName

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="partyPortfolioName" type="PartyPortfolioName">
  <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>

partyTradeIdentifier

Description:

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

Figure:

No SVG plugin installed

Contents:

Element partyTradeIdentifier is defined by the complex type PartyTradeIdentifier

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="partyTradeIdentifier" type="PartyTradeIdentifier">
  <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>

portfolio

Description:

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

Figure:

No SVG plugin installed

Contents:

Element portfolio is defined by the complex type Portfolio

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="portfolio" type="Portfolio">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An arbitary grouping of trade references (and possibly other
      portfolios).
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

portfolioName

Description:

The name of a portfolio.

Figure:

No SVG plugin installed

Contents:

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

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="portfolioName">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The name of a portfolio.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="PortfolioName">
        <xsd:attribute name="id" type="xsd:ID"/>
        <xsd:attribute name="portfolioNameScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

premiumProductReference

Description:

Indicates which product within a strategy represents the premium payment.

Figure:

No SVG plugin installed

Contents:

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="premiumProductReference">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Indicates which product within a strategy represents the premium
      payment.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:attribute name="href" use="required" type="xsd:IDREF"/>
  </xsd:complexType>
</xsd:element>

reason

Description:

An instance of the Reason type used to record the nature of any errors associated with a message.

Figure:

No SVG plugin installed

Contents:

Element reason is defined by the complex type Reason

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="reason" type="Reason">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An instance of the Reason type used to record the nature of any
      errors associated with a message.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

reasonCode

Description:

A machine interpretable error code.

Figure:

No SVG plugin installed

Contents:

Element reasonCode is defined by the simple type xsd:string

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="reasonCode" type="xsd:string">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A machine interpretable error code.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

sendTo

Description:

A unique identifier (within its coding scheme) indicating an intended recipent of a message.

Figure:

No SVG plugin installed

Contents:

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

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="sendTo">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A unique identifier (within its coding scheme) indicating an
      intended recipent of a message.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="PartyId">
        <xsd:attribute name="partyIdScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

sentBy

Description:

The unique identifier (within its coding scheme) for the originator of a message instance.

Figure:

No SVG plugin installed

Contents:

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

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="sentBy">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The unique identifier (within its coding scheme) for the
      originator of a message instance.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="PartyId">
        <xsd:attribute name="partyIdScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

strategy

Description:

A strategy product.

Figure:

No SVG plugin installed

Contents:

Element strategy is defined by the complex type Strategy

Used by:

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

trade

Description:

The root element in an FpML trade document.

Figure:

No SVG plugin installed

Contents:

Element trade is defined by the complex type Trade

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="trade" type="Trade">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The root element in an FpML trade document.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

tradeDate

Description:

The trade date.

Figure:

No SVG plugin installed

Contents:

Element tradeDate is defined by the complex type TradeDate

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="tradeDate" type="TradeDate">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The trade date.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

tradeHeader

Description:

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

Figure:

No SVG plugin installed

Contents:

Element tradeHeader is defined by the complex type TradeHeader

Used by:

Substituted by:

Schema Fragment:

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

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:

No SVG plugin installed

Contents:

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

Used by:

Substituted by:

Schema Fragment:

<xsd:element 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:complexType>
    <xsd:simpleContent>
      <xsd:extension base="TradeId">
        <xsd:attribute name="id" type="xsd:ID"/>
        <xsd:attribute name="tradeIdScheme" type="xsd:normalizedString"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

tradeIdentifier

Description:

An instance of a unique trade identifier.

Figure:

No SVG plugin installed

Contents:

Element tradeIdentifier is defined by the complex type TradeIdentifier

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="tradeIdentifier" type="TradeIdentifier">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      An instance of a unique trade identifier.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

tradeStatusItem

Description:

A collection of data values describing the state of the given trade.

Figure:

No SVG plugin installed

Contents:

Element tradeStatusItem is defined by the complex type TradeStatusItem

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="tradeStatusItem" type="TradeStatusItem">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A collection of data values describing the state of the given
      trade.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

tradeStatusValue

Description:

The trade status value.

Figure:

No SVG plugin installed

Contents:

Element tradeStatusValue is defined by the complex type TradeStatusValue

Used by:

Substituted by:

Schema Fragment:

<xsd:element name="tradeStatusValue" type="TradeStatusValue">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The trade status value.
    </xsd:documentation>
  </xsd:annotation>
</xsd:element>

Global Complex Types

CancelTradeConfirmation

Description:

A type defining the content model for a message requesting that a previously requested TradeConfirmation process be cancelled.

Figure:

No SVG plugin installed

Contents:

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

partyTradeIdentifier (exactly one occurance; of the type PartyTradeIdentifier)

party (exactly one occurance; of the type Party)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="CancelTradeConfirmation">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model for a message requesting that a
      previously requested TradeConfirmation process be cancelled.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="RequestMessage">
      <xsd:sequence>
        <xsd:element ref="partyTradeIdentifier"/>
        <xsd:element ref="party"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

CancelTradeMatch

Description:

A type defining the content model for a message requesting that a previously requested TradeMatch process be cancelled.

Figure:

No SVG plugin installed

Contents:

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

partyTradeIdentifier (exactly one occurance; of the type PartyTradeIdentifier)

party (exactly one occurance; of the type Party)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="CancelTradeMatch">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model for a message requesting that a
      previously requested TradeMatch process be cancelled.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="RequestMessage">
      <xsd:sequence>
        <xsd:element ref="partyTradeIdentifier"/>
        <xsd:element ref="party"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

ComfirmationCancelled

Description:

A typed defining the content model for the message generated in reponse to a CancelConfirmation request under normal circumstances.

Figure:

No SVG plugin installed

Contents:

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

tradeIdentifier (exactly one occurance; of the type TradeIdentifier)

party (exactly one occurance; of the type Party)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="ComfirmationCancelled">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A typed defining the content model for the message generated in
      reponse to a CancelConfirmation request under normal
      circumstances.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="ResponseMessage">
      <xsd:sequence>
        <xsd:element ref="tradeIdentifier"/>
        <xsd:element ref="party"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

ConfirmTrade

Description:

A type defining the content model for a message that indicates acceptance of a previously matched trade.

Figure:

No SVG plugin installed

Contents:

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

partyTradeIdentifier (exactly one occurance; of the type PartyTradeIdentifier)

party (exactly one occurance; of the type Party)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="ConfirmTrade">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model for a message that indicates
      acceptance of a previously matched trade.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="RequestMessage">
      <xsd:sequence>
        <xsd:element ref="partyTradeIdentifier"/>
        <xsd:element ref="party"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</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:

No SVG plugin installed

Contents:

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

trade (zero or more occurances; of the type Trade)

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

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

Used by:

Derived Types:

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:element ref="trade" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="portfolio" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="party" minOccurs="0" maxOccurs="unbounded"/>
      </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:

No SVG plugin installed

Contents:

Used by:

Derived Types:

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"/>
</xsd:complexType>

Message

Description:

A type defining the basic structure of all FpML messages which is refined by its derived types.

Figure:

No SVG plugin installed

Contents:

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

header (exactly one occurance; of the type MessageHeader)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="Message" abstract="true">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the basic structure of all FpML messages which is
      refined by its derived types.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="Document">
      <xsd:sequence>
        <xsd:element name="header" type="MessageHeader">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The generic definition of header in the Message type
              contains all the possible header information items and is
              specialised by restriction in derived classes.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

MessageHeader

Description:

A type defining the content model for a generic message header that is refined by its derived classes.

Figure:

No SVG plugin installed

Contents:

conversationId (zero or one occurance; with locally defined content)

messageId (exactly one occurance; with locally defined content)

inReplyTo (zero or one occurance; with locally defined content)

sentBy (exactly one occurance; with locally defined content)

sendTo (zero or more occurances; with locally defined content)

copyTo (zero or more occurances; with locally defined content)

creationTimestamp (exactly one occurance; of the type xsd:dateTime)

expiryTimestamp (zero or one occurance; of the type xsd:dateTime)

dsig:Signature (zero or more occurances; defined in an imported schema)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="MessageHeader">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model for a generic message header
      that is refined by its derived classes.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="conversationId" minOccurs="0"/>
    <xsd:element ref="messageId"/>
    <xsd:element ref="inReplyTo" minOccurs="0"/>
    <xsd:element ref="sentBy"/>
    <xsd:element ref="sendTo" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="copyTo" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="creationTimestamp"/>
    <xsd:element ref="expiryTimestamp" minOccurs="0"/>
    <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:complexType>

MessageRejected

Description:

A type defining the content for a standard message sent when a recipient cannot interpret or process an earlier message.

Figure:

No SVG plugin installed

Contents:

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

reason (one or more occurances; of the type Reason)

additionalData (zero or one occurance; of the type xsd:string)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="MessageRejected">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content for a standard message sent when a
      recipient cannot interpret or process an earlier message.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="NotificationMessage">
      <xsd:sequence>
        <xsd:element ref="reason" maxOccurs="unbounded"/>
        <xsd:element ref="additionalData" minOccurs="0"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

ModifyTradeConfirmation

Description:

A type defining the content model for a message requesting that the details of a trade previously sent for confirmation be changed.

Figure:

No SVG plugin installed

Contents:

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

trade (exactly one occurance; of the type Trade)

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="ModifyTradeConfirmation">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model for a message requesting that
      the details of a trade previously sent for confirmation be
      changed.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="RequestMessage">
      <xsd:sequence>
        <xsd:element ref="trade"/>
        <xsd:element ref="party" minOccurs="2" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

ModifyTradeMatch

Description:

A type defining the content of a message requesting that the details of a trade previously sent for matching be modified.

Figure:

No SVG plugin installed

Contents:

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

trade (exactly one occurance; of the type Trade)

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="ModifyTradeMatch">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content of a message requesting that the
      details of a trade previously sent for matching be modified.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="RequestMessage">
      <xsd:sequence>
        <xsd:element ref="trade"/>
        <xsd:element ref="party" minOccurs="2" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

NotificationMessage

Description:

A type defining the basic content for a message sent to inform another system that some 'business event' has occured. Notifications are not expected to be replied to.

Figure:

No SVG plugin installed

Contents:

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

header (exactly one occurance; of the type NotificationMessageHeader)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="NotificationMessage">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the basic content for a message sent to inform
      another system that some 'business event' has occured.
      Notifications are not expected to be replied to.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:restriction base="Message">
      <xsd:sequence>
        <xsd:element name="header" type="NotificationMessageHeader">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Overrides the definition of header in the Message type to
              make it specific to NotificationMessage instances.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attributeGroup ref="StandardAttributes"/>
    </xsd:restriction>
  </xsd:complexContent>
</xsd:complexType>

NotificationMessageHeader

Description:

A type that refines the generic message header to match the requirements of a NotificationMessage.

Figure:

No SVG plugin installed

Contents:

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

messageId (exactly one occurance; with locally defined content)

sentBy (exactly one occurance; with locally defined content)

sendTo (zero or more occurances; with locally defined content)

copyTo (zero or more occurances; with locally defined content)

creationTimestamp (exactly one occurance; of the type xsd:dateTime)

expiryTimestamp (zero or one occurance; of the type xsd:dateTime)

dsig:Signature (zero or more occurances; defined in an imported schema)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="NotificationMessageHeader">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type that refines the generic message header to match the
      requirements of a NotificationMessage.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:restriction base="MessageHeader">
      <xsd:sequence>
        <xsd:element ref="messageId"/>
        <xsd:element ref="sentBy"/>
        <xsd:element ref="sendTo" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="copyTo" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="creationTimestamp"/>
        <xsd:element ref="expiryTimestamp" minOccurs="0"/>
        <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:restriction>
  </xsd:complexContent>
</xsd:complexType>

Party

Description:

A type defining party identifier information.

Figure:

No SVG plugin installed

Contents:

partyId (exactly one occurance; with locally defined content)

partyName (zero or one occurance; of the type xsd:string)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="Party">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining party identifier information.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="partyId"/>
    <xsd:element ref="partyName" minOccurs="0"/>
  </xsd:sequence>
  <xsd:attribute name="id" use="required" type="xsd:ID"/>
</xsd:complexType>

PartyPortfolioName

Description:

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

Figure:

No SVG plugin installed

Contents:

partyReference (exactly one occurance; with locally defined content)

portfolioName (one or more occurances; with locally defined content)

Used by:

Derived Types:

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 ref="partyReference"/>
    <xsd:element ref="portfolioName" maxOccurs="unbounded"/>
  </xsd:sequence>
  <xsd:attribute name="id" type="xsd:ID"/>
</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:

No SVG plugin installed

Contents:

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

linkId (zero or more occurances; with locally defined content)

Used by:

Derived Types:

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 ref="linkId" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

Portfolio

Description:

A type representing an arbitary grouping of trade references.

Figure:

No SVG plugin installed

Contents:

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

tradeId (zero or more occurances; with locally defined content)

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

Used by:

Derived Types:

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 ref="partyPortfolioName" minOccurs="0"/>
    <xsd:element ref="tradeId" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="portfolio" minOccurs="0" maxOccurs="unbounded"/>
  </xsd:sequence>
  <xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>

Reason

Description:

A type defining a content model for describing the nature and possible location of a error within a previous message.

Figure:

No SVG plugin installed

Contents:

reasonCode (exactly one occurance; of the type xsd:string)

location (zero or one occurance; of the type xsd:string)

description (zero or one occurance; of the type xsd:string)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="Reason">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining a content model for describing the nature and
      possible location of a error within a previous message.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="reasonCode"/>
    <xsd:element ref="location" minOccurs="0"/>
    <xsd:element ref="description" minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

RequestMessage

Description:

A type defining the basic content of a message that requests the receiver to perform some business operation determined by the message type and its content.

Figure:

No SVG plugin installed

Contents:

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

header (exactly one occurance; of the type RequestMessageHeader)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="RequestMessage" abstract="true">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the basic content of a message that requests the
      receiver to perform some business operation determined by the
      message type and its content.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:restriction base="Message">
      <xsd:sequence>
        <xsd:element name="header" type="RequestMessageHeader">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Overrides the definition of header in the Message type to
              make it specific to RequestMessage instances.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attributeGroup ref="StandardAttributes"/>
    </xsd:restriction>
  </xsd:complexContent>
</xsd:complexType>

RequestMessageHeader

Description:

A type refining the generic message header content to make it specific to request messages.

Figure:

No SVG plugin installed

Contents:

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

conversationId (zero or one occurance; with locally defined content)

messageId (exactly one occurance; with locally defined content)

sentBy (exactly one occurance; with locally defined content)

sendTo (zero or more occurances; with locally defined content)

copyTo (zero or more occurances; with locally defined content)

creationTimestamp (exactly one occurance; of the type xsd:dateTime)

expiryTimestamp (zero or one occurance; of the type xsd:dateTime)

dsig:Signature (zero or more occurances; defined in an imported schema)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="RequestMessageHeader">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type refining the generic message header content to make it
      specific to request messages.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:restriction base="MessageHeader">
      <xsd:sequence>
        <xsd:element ref="conversationId" minOccurs="0"/>
        <xsd:element ref="messageId"/>
        <xsd:element ref="sentBy"/>
        <xsd:element ref="sendTo" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="copyTo" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="creationTimestamp"/>
        <xsd:element ref="expiryTimestamp" minOccurs="0"/>
        <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:restriction>
  </xsd:complexContent>
</xsd:complexType>

RequestTradeConfirmation

Description:

A type defining the content model for a message requesting that the contained trade be put forward for matching and confirmation.

Figure:

No SVG plugin installed

Contents:

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

trade (exactly one occurance; of the type Trade)

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="RequestTradeConfirmation">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model for a message requesting that
      the contained trade be put forward for matching and confirmation.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="RequestMessage">
      <xsd:sequence>
        <xsd:element ref="trade"/>
        <xsd:element ref="party" minOccurs="2" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

RequestTradeMatch

Description:

A type defining the content model for a message requesting that the contained trade be put forward for matching.

Figure:

No SVG plugin installed

Contents:

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

trade (exactly one occurance; of the type Trade)

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="RequestTradeMatch">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model for a message requesting that
      the contained trade be put forward for matching.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="RequestMessage">
      <xsd:sequence>
        <xsd:element ref="trade"/>
        <xsd:element ref="party" minOccurs="2" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

RequestTradeStatus

Description:

A type defining the content model for a message allowing one party to query the status of one or many trades previously sent to another party.

Figure:

No SVG plugin installed

Contents:

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

tradeIdentifier (one or more occurances; of the type TradeIdentifier)

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="RequestTradeStatus">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model for a message allowing one
      party to query the status of one or many trades previously sent
      to another party.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="RequestMessage">
      <xsd:sequence>
        <xsd:element ref="tradeIdentifier" maxOccurs="unbounded"/>
        <xsd:element ref="party" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

ResponseMessage

Description:

A type refining the generic message content model to make it specific to response messages.

Figure:

No SVG plugin installed

Contents:

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

header (exactly one occurance; of the type ResponseMessageHeader)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="ResponseMessage">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type refining the generic message content model to make it
      specific to response messages.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:restriction base="Message">
      <xsd:sequence>
        <xsd:element name="header" type="ResponseMessageHeader">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Overrides the definition of header in the Message type to
              make it specific to ResponseMessage instances.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:attributeGroup ref="StandardAttributes"/>
    </xsd:restriction>
  </xsd:complexContent>
</xsd:complexType>

ResponseMessageHeader

Description:

A type refining the generic message header to make it specific to response messages.

Figure:

No SVG plugin installed

Contents:

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

conversationId (zero or one occurance; with locally defined content)

messageId (exactly one occurance; with locally defined content)

inReplyTo (exactly one occurance; with locally defined content)

sentBy (exactly one occurance; with locally defined content)

sendTo (zero or more occurances; with locally defined content)

copyTo (zero or more occurances; with locally defined content)

creationTimestamp (exactly one occurance; of the type xsd:dateTime)

expiryTimestamp (zero or one occurance; of the type xsd:dateTime)

dsig:Signature (zero or more occurances; defined in an imported schema)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="ResponseMessageHeader">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type refining the generic message header to make it specific to
      response messages.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:restriction base="MessageHeader">
      <xsd:sequence>
        <xsd:element ref="conversationId" minOccurs="0"/>
        <xsd:element ref="messageId"/>
        <xsd:element ref="inReplyTo"/>
        <xsd:element ref="sentBy"/>
        <xsd:element ref="sendTo" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="copyTo" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="creationTimestamp"/>
        <xsd:element ref="expiryTimestamp" minOccurs="0"/>
        <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:restriction>
  </xsd:complexContent>
</xsd:complexType>

Strategy

Description:

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

Figure:

No SVG plugin installed

Contents:

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

premiumProductReference (zero or one occurance; with locally defined content)

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

Used by:

Derived Types:

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 ref="premiumProductReference" minOccurs="0"/>
        <xsd:element ref="product" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

Trade

Description:

A type definiting an FpML trade.

Figure:

No SVG plugin installed

Contents:

tradeHeader (exactly one occurance; of the type TradeHeader)

product (exactly one occurance; of the type Product)

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

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

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

governingLaw (zero or one occurance; with locally defined content)

Used by:

Derived Types:

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 ref="tradeHeader"/>
    <xsd:element ref="product"/>
    <xsd:element ref="otherPartyPayment" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="calculationAgent" minOccurs="0"/>
    <xsd:element ref="documentation" minOccurs="0"/>
    <xsd:element ref="governingLaw" minOccurs="0"/>
  </xsd:sequence>
  <xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>

TradeAffirmation

Description:

A type defining the content model for a message that indicates that a trade is considered affirmed by the sender.

Figure:

No SVG plugin installed

Contents:

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

trade (exactly one occurance; of the type Trade)

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="TradeAffirmation">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model for a message that indicates
      that a trade is considered affirmed by the sender.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="NotificationMessage">
      <xsd:sequence>
        <xsd:element ref="trade"/>
        <xsd:element ref="party" minOccurs="2" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

TradeAffirmed

Description:

A type defining the content model for a message generated when a party confirms that a trade is affirmed.

Figure:

No SVG plugin installed

Contents:

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

tradeIdentifier (one or more occurances; of the type TradeIdentifier)

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="TradeAffirmed">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model for a message generated when a
      party confirms that a trade is affirmed.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="ResponseMessage">
      <xsd:sequence>
        <xsd:element ref="tradeIdentifier" maxOccurs="unbounded"/>
        <xsd:element ref="party" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

TradeAlleged

Description:

A type defining the content model for a message sent by a confirmation provider when it believes that one party has been tardy in providing its side of a transaction.

Figure:

No SVG plugin installed

Contents:

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

tradeIdentifier (exactly one occurance; of the type TradeIdentifier)

bestFitTradeId (zero or more occurances; of the type TradeIdentifier)

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="TradeAlleged">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model for a message sent by a
      confirmation provider when it believes that one party has been
      tardy in providing its side of a transaction.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="NotificationMessage">
      <xsd:sequence>
        <xsd:element ref="tradeIdentifier"/>
        <xsd:element ref="bestFitTradeId" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="party" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

TradeAlreadyMatched

Description:

A type defining the content model for a message sent by a confirmation provider when it believes that one party has repeated a request to confirm a trade.

Figure:

No SVG plugin installed

Contents:

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

tradeIdentifier (exactly one occurance; of the type TradeIdentifier)

party (exactly one occurance; of the type Party)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="TradeAlreadyMatched">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model for a message sent by a
      confirmation provider when it believes that one party has
      repeated a request to confirm a trade.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="ResponseMessage">
      <xsd:sequence>
        <xsd:element ref="tradeIdentifier"/>
        <xsd:element ref="party"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

TradeAlreadySubmitted

Description:

A type defining the content model for a message sent by a confirmation provider when it believes that one party has repeated a request to confirm a trade.

Figure:

No SVG plugin installed

Contents:

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

tradeIdentifier (exactly one occurance; of the type TradeIdentifier)

party (exactly one occurance; of the type Party)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="TradeAlreadySubmitted">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model for a message sent by a
      confirmation provider when it believes that one party has
      repeated a request to confirm a trade.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="ResponseMessage">
      <xsd:sequence>
        <xsd:element ref="tradeIdentifier"/>
        <xsd:element ref="party"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

TradeConfirmed

Description:

A type defining the content model of a message generated when a trade is determined to be confirmed.

Figure:

No SVG plugin installed

Contents:

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

trade (exactly one occurance; of the type Trade)

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="TradeConfirmed">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model of a message generated when a
      trade is determined to be confirmed.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="NotificationMessage">
      <xsd:sequence>
        <xsd:element ref="trade"/>
        <xsd:element ref="party" minOccurs="2" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

TradeDate

Description:

The type used to define the trade date for a transaction.

Figure:

No SVG plugin installed

Contents:

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="TradeDate">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The type used to define the trade date for a transaction.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:date">
      <xsd:attribute name="id" type="xsd:ID"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

TradeHeader

Description:

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

Figure:

No SVG plugin installed

Contents:

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

tradeDate (exactly one occurance; of the type TradeDate)

Used by:

Derived Types:

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 ref="partyTradeIdentifier" maxOccurs="unbounded"/>
    <xsd:element ref="tradeDate"/>
  </xsd:sequence>
</xsd:complexType>

TradeIdentifier

Description:

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

Figure:

No SVG plugin installed

Contents:

partyReference (exactly one occurance; with locally defined content)

tradeId (one or more occurances; with locally defined content)

Used by:

Derived Types:

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 ref="partyReference"/>
    <xsd:element ref="tradeId" maxOccurs="unbounded"/>
  </xsd:sequence>
  <xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>

TradeMatched

Description:

A type defining the content model for a message indicating that a correlation has been made between two transactions.

Figure:

No SVG plugin installed

Contents:

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

tradeIdentifier (one or more occurances; of the type TradeIdentifier)

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="TradeMatched">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model for a message indicating that a
      correlation has been made between two transactions.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="NotificationMessage">
      <xsd:sequence>
        <xsd:element ref="tradeIdentifier" maxOccurs="unbounded"/>
        <xsd:element ref="party" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

TradeMismatched

Description:

A type defining the content model of a message generated when a trade is determined to be mismatched.

Figure:

No SVG plugin installed

Contents:

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

tradeIdentifier (exactly one occurance; of the type TradeIdentifier)

bestFitTradeId (one or more occurances; of the type TradeIdentifier)

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="TradeMismatched">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model of a message generated when a
      trade is determined to be mismatched.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="NotificationMessage">
      <xsd:sequence>
        <xsd:element ref="tradeIdentifier"/>
        <xsd:element ref="bestFitTradeId" maxOccurs="unbounded"/>
        <xsd:element ref="party" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

TradeNotFound

Description:

A type defining the content model of a response message generated when an operation as requested on a trade unknown to the service.

Figure:

No SVG plugin installed

Contents:

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

tradeIdentifier (exactly one occurance; of the type TradeIdentifier)

party (exactly one occurance; of the type Party)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="TradeNotFound">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model of a response message generated
      when an operation as requested on a trade unknown to the service.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="ResponseMessage">
      <xsd:sequence>
        <xsd:element ref="tradeIdentifier"/>
        <xsd:element ref="party"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

TradeStatus

Description:

A type defining the content model for a message normally generated in response to a RequestTradeStatus request.

Figure:

No SVG plugin installed

Contents:

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

tradeStatusItem (one or more occurances; of the type TradeStatusItem)

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="TradeStatus">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model for a message normally
      generated in response to a RequestTradeStatus request.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="ResponseMessage">
      <xsd:sequence>
        <xsd:element ref="tradeStatusItem" maxOccurs="unbounded"/>
        <xsd:element ref="party" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

TradeStatusItem

Description:

A type used in trade status enquiry messages which relates a trade identifier to its current status value.

Figure:

No SVG plugin installed

Contents:

tradeIdentifier (exactly one occurance; of the type TradeIdentifier)

tradeStatusValue (exactly one occurance; of the type TradeStatusValue)

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="TradeStatusItem">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type used in trade status enquiry messages which relates a
      trade identifier to its current status value.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="tradeIdentifier"/>
    <xsd:element ref="tradeStatusValue"/>
  </xsd:sequence>
</xsd:complexType>

TradeStatusValue

Description:

The type used to hold TradeStatusScheme values.

Figure:

No SVG plugin installed

Contents:

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="TradeStatusValue">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The type used to hold TradeStatusScheme values.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:normalizedString">
      <xsd:attribute name="tradeStatusScheme" type="xsd:string"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

TradeUnmatched

Description:

A type defining the content model of a message generated when a trade is determined to be unmatched.

Figure:

No SVG plugin installed

Contents:

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

tradeIdentifier (exactly one occurance; of the type TradeIdentifier)

bestFitTradeId (zero or more occurances; of the type TradeIdentifier)

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

Used by:

Derived Types:

Schema Fragment:

<xsd:complexType name="TradeUnmatched">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining the content model of a message generated when a
      trade is determined to be unmatched.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="NotificationMessage">
      <xsd:sequence>
        <xsd:element ref="tradeIdentifier"/>
        <xsd:element ref="bestFitTradeId" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="party" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

Global Simple Types

ConversationId

Description:

The datatype used for conversation identifiers.

Contents:

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

Used by:

Derived Types:

Schema Fragment:

<xsd:simpleType name="ConversationId">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The datatype used for conversation identifiers.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

LinkId

Description:

The data type used for link identifiers.

Contents:

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

Used by:

Derived Types:

Schema Fragment:

<xsd:simpleType name="LinkId">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The data type used for link identifiers.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

MessageId

Description:

The data type use for message identifiers.

Contents:

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

Used by:

Derived Types:

Schema Fragment:

<xsd:simpleType name="MessageId">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The data type use for message identifiers.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

PartyId

Description:

The data type used for party identifiers.

Contents:

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

Used by:

Derived Types:

Schema Fragment:

<xsd:simpleType name="PartyId">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The data type used for party identifiers.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

PortfolioName

Description:

The data type used for portfolio names.

Contents:

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

Used by:

Derived Types:

Schema Fragment:

<xsd:simpleType name="PortfolioName">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The data type used for portfolio names.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

TradeId

Description:

The data type used for trade identifiers.

Contents:

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

Used by:

Derived Types:

Schema Fragment:

<xsd:simpleType name="TradeId">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The data type used for trade identifiers.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

Full XML Schema

<xsd:schema targetNamespace="http://www.fpml.org/2003/FpML-4-0" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
  <xsd:include schemaLocation="fpml-fx-4-0.xsd"/>
  <xsd:include schemaLocation="fpml-ird-4-0.xsd"/>
  <xsd:include schemaLocation="fpml-eqd-4-0.xsd"/>
  <xsd:include schemaLocation="fpml-eqs-4-0.xsd"/>
  <xsd:include schemaLocation="fpml-cd-4-0.xsd"/>
  <xsd:attributeGroup name="StandardAttributes">
    <xsd:attribute name="version" use="required">
      <xsd:simpleType>
        <xsd:list>
          <xsd:simpleType>
            <xsd:restriction base="xsd:normalizedString">
              <xsd:enumeration value="4-0"/>
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:list>
      </xsd:simpleType>
    </xsd:attribute>
    <xsd:attribute name="averagingMethodSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="businessCenterSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="businessDayConventionSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="calculationAgentPartySchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="callPutSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="clearanceSystemsSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="compoundingMethodSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="countrySchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="currencySchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="cutNameSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="dateRelativeToSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="dayCountFractionSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="dayTypeSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="definitionsSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="discountingTypeSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="exchangeIdTypeSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="exerciseStyleSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="floatingRateIndexSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="fxBarrierTypeSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="governingLawSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="informationProviderSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="linkIdSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="negativeInterestRateTreatmentSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="masterAgreementSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="methodOfAdjustmentSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="nationalisationOrInsolvencySchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="partyIdSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="payerReceiverSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="paymentTypeSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="payoutSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="payRelativeToSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="periodSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="portfolioNameSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="potentialAdjustmentEventSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="premiumQuoteBasisSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="productTypeSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="quotationRateTypeSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="quoteBasisSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="rateSourcePageSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="rateTreatmentSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="referenceBankIdSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="resetRelativeToSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="rollConventionSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="roundingDirectionSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="routingIdTypeSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="securityIdSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="settlementMethodSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="settlementPriceSourceSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="settlementTypeSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="shareExtraordinarySchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="sideRateBasisSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="standardSettlementStyleSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="stepRelativeToSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="strikeQuoteBasisSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="timeTypeSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="touchConditionSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="tradeIdSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="triggerConditionSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="weeklyRollConventionSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="conversationIdSchemeDefault" type="xsd:normalizedString"/>
    <xsd:attribute name="messageIdSchemeDefault" type="xsd:normalizedString"/>
  </xsd:attributeGroup>
  <xsd:element name="FpML" type="Document">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The FpML element forms the root for any conforming FpML
        instance document. The actual structure of the document is
        determined by setting the 'type' attribute to an appropriate
        derived subtype of the complex type Document.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="additionalData" type="xsd:string">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Any string of additional data that may help the message
        processor, for example in a rejection message this might
        contain the text of the original request (within a CDATA
        section).
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="bestFitTradeId" type="TradeIdentifier">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A trade identifier for a transaction that closely resembles the
        characteristics of the trade under consideration.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="conversationId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A unique identifier created by the initiator of a conversation
        allowing a group of message exchanges to be recognized as
        related.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="ConversationId">
          <xsd:attribute name="conversationIdScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="copyTo">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A unique identifier (within the specified coding scheme) giving
        the details of some party to whom a copy of this message will
        be sent for reference.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="PartyId">
          <xsd:attribute name="partyIdScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="creationTimestamp" type="xsd:dateTime">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The date and time (on the source system) when this message
        instance was created.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="expiryTimestamp" type="xsd:dateTime">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The date and time (on the source system) when this message
        instance will be considered expired.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="inReplyTo">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A copy of the unique message identifier (within it own coding
        scheme) to which this message is responding.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="MessageId">
          <xsd:attribute name="messageIdScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="linkId">
    <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:complexType>
      <xsd:simpleContent>
        <xsd:extension base="LinkId">
          <xsd:attribute name="id" type="xsd:ID"/>
          <xsd:attribute name="linkIdScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="location" type="xsd:string">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An XPath expression indicating the location of the problem
        within the subject message.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="messageId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A unique identifier (within its coding scheme) assigned to the
        message by its creating party.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="MessageId">
          <xsd:attribute name="messageIdScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="otherPartyPayment" type="Payment">
    <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="party" type="Party">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The parties obligated to make payments from time to time during
        the term of the trade. This will include, at a minimum, the
        principal parties involved in the swap or forward rate
        agreement. Other parties paying or receiving fees, commissions
        etc. must also be specified if referenced in other party
        payments.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="partyId">
    <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:complexType>
      <xsd:simpleContent>
        <xsd:extension base="PartyId">
          <xsd:attribute name="partyIdScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="partyName" type="xsd:string">
    <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="partyPortfolioName" type="PartyPortfolioName">
    <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="partyTradeIdentifier" type="PartyTradeIdentifier">
    <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="portfolio" type="Portfolio">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An arbitary grouping of trade references (and possibly other
        portfolios).
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="portfolioName">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The name of a portfolio.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="PortfolioName">
          <xsd:attribute name="id" type="xsd:ID"/>
          <xsd:attribute name="portfolioNameScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="premiumProductReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Indicates which product within a strategy represents the
        premium payment.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:attribute name="href" use="required" type="xsd:IDREF"/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="reason" type="Reason">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An instance of the Reason type used to record the nature of any
        errors associated with a message.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="reasonCode" type="xsd:string">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A machine interpretable error code.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="sentBy">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The unique identifier (within its coding scheme) for the
        originator of a message instance.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="PartyId">
          <xsd:attribute name="partyIdScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="sendTo">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A unique identifier (within its coding scheme) indicating an
        intended recipent of a message.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="PartyId">
          <xsd:attribute name="partyIdScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </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:element name="tradeDate" type="TradeDate">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The trade date.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="trade" type="Trade">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The root element in an FpML trade document.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <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 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:complexType>
      <xsd:simpleContent>
        <xsd:extension base="TradeId">
          <xsd:attribute name="id" type="xsd:ID"/>
          <xsd:attribute name="tradeIdScheme" type="xsd:normalizedString"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="tradeIdentifier" type="TradeIdentifier">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        An instance of a unique trade identifier.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:complexType name="CancelTradeConfirmation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model for a message requesting that
        a previously requested TradeConfirmation process be cancelled.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="RequestMessage">
        <xsd:sequence>
          <xsd:element ref="partyTradeIdentifier"/>
          <xsd:element ref="party"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="CancelTradeMatch">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model for a message requesting that
        a previously requested TradeMatch process be cancelled.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="RequestMessage">
        <xsd:sequence>
          <xsd:element ref="partyTradeIdentifier"/>
          <xsd:element ref="party"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="ConfirmTrade">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model for a message that indicates
        acceptance of a previously matched trade.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="RequestMessage">
        <xsd:sequence>
          <xsd:element ref="partyTradeIdentifier"/>
          <xsd:element ref="party"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="ModifyTradeConfirmation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model for a message requesting that
        the details of a trade previously sent for confirmation be
        changed.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="RequestMessage">
        <xsd:sequence>
          <xsd:element ref="trade"/>
          <xsd:element ref="party" minOccurs="2" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="MessageHeader">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model for a generic message header
        that is refined by its derived classes.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="conversationId" minOccurs="0"/>
      <xsd:element ref="messageId"/>
      <xsd:element ref="inReplyTo" minOccurs="0"/>
      <xsd:element ref="sentBy"/>
      <xsd:element ref="sendTo" minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element ref="copyTo" minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element ref="creationTimestamp"/>
      <xsd:element ref="expiryTimestamp" minOccurs="0"/>
      <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Message" abstract="true">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the basic structure of all FpML messages which
        is refined by its derived types.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Document">
        <xsd:sequence>
          <xsd:element name="header" type="MessageHeader">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The generic definition of header in the Message type
                contains all the possible header information items and
                is specialised by restriction in derived classes.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="MessageRejected">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content for a standard message sent when a
        recipient cannot interpret or process an earlier message.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NotificationMessage">
        <xsd:sequence>
          <xsd:element ref="reason" maxOccurs="unbounded"/>
          <xsd:element ref="additionalData" minOccurs="0"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="ModifyTradeMatch">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content of a message requesting that the
        details of a trade previously sent for matching be modified.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="RequestMessage">
        <xsd:sequence>
          <xsd:element ref="trade"/>
          <xsd:element ref="party" minOccurs="2" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="TradeAffirmation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model for a message that indicates
        that a trade is considered affirmed by the sender.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NotificationMessage">
        <xsd:sequence>
          <xsd:element ref="trade"/>
          <xsd:element ref="party" minOccurs="2" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="NotificationMessage">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the basic content for a message sent to inform
        another system that some 'business event' has occured.
        Notifications are not expected to be replied to.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:restriction base="Message">
        <xsd:sequence>
          <xsd:element name="header" type="NotificationMessageHeader">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Overrides the definition of header in the Message type
                to make it specific to NotificationMessage instances.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attributeGroup ref="StandardAttributes"/>
      </xsd:restriction>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="NotificationMessageHeader">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type that refines the generic message header to match the
        requirements of a NotificationMessage.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:restriction base="MessageHeader">
        <xsd:sequence>
          <xsd:element ref="messageId"/>
          <xsd:element ref="sentBy"/>
          <xsd:element ref="sendTo" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="copyTo" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="creationTimestamp"/>
          <xsd:element ref="expiryTimestamp" minOccurs="0"/>
          <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:restriction>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="Party">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining party identifier information.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="partyId"/>
      <xsd:element ref="partyName" minOccurs="0"/>
    </xsd:sequence>
    <xsd:attribute name="id" use="required" type="xsd:ID"/>
  </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 ref="partyReference"/>
      <xsd:element ref="portfolioName" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID"/>
  </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 ref="linkId" minOccurs="0" maxOccurs="unbounded"/>
        </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 ref="partyPortfolioName" minOccurs="0"/>
      <xsd:element ref="tradeId" minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element ref="portfolio" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID"/>
  </xsd:complexType>
  <xsd:complexType name="Reason">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining a content model for describing the nature and
        possible location of a error within a previous message.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="reasonCode"/>
      <xsd:element ref="location" minOccurs="0"/>
      <xsd:element ref="description" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="RequestMessage" abstract="true">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the basic content of a message that requests
        the receiver to perform some business operation determined by
        the message type and its content.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:restriction base="Message">
        <xsd:sequence>
          <xsd:element name="header" type="RequestMessageHeader">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Overrides the definition of header in the Message type
                to make it specific to RequestMessage instances.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attributeGroup ref="StandardAttributes"/>
      </xsd:restriction>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="RequestMessageHeader">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type refining the generic message header content to make it
        specific to request messages.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:restriction base="MessageHeader">
        <xsd:sequence>
          <xsd:element ref="conversationId" minOccurs="0"/>
          <xsd:element ref="messageId"/>
          <xsd:element ref="sentBy"/>
          <xsd:element ref="sendTo" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="copyTo" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="creationTimestamp"/>
          <xsd:element ref="expiryTimestamp" minOccurs="0"/>
          <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:restriction>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="RequestTradeConfirmation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model for a message requesting that
        the contained trade be put forward for matching and
        confirmation.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="RequestMessage">
        <xsd:sequence>
          <xsd:element ref="trade"/>
          <xsd:element ref="party" minOccurs="2" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="RequestTradeMatch">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model for a message requesting that
        the contained trade be put forward for matching.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="RequestMessage">
        <xsd:sequence>
          <xsd:element ref="trade"/>
          <xsd:element ref="party" minOccurs="2" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="ResponseMessage">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type refining the generic message content model to make it
        specific to response messages.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:restriction base="Message">
        <xsd:sequence>
          <xsd:element name="header" type="ResponseMessageHeader">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Overrides the definition of header in the Message type
                to make it specific to ResponseMessage instances.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:attributeGroup ref="StandardAttributes"/>
      </xsd:restriction>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="ResponseMessageHeader">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type refining the generic message header to make it specific
        to response messages.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:restriction base="MessageHeader">
        <xsd:sequence>
          <xsd:element ref="conversationId" minOccurs="0"/>
          <xsd:element ref="messageId"/>
          <xsd:element ref="inReplyTo"/>
          <xsd:element ref="sentBy"/>
          <xsd:element ref="sendTo" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="copyTo" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="creationTimestamp"/>
          <xsd:element ref="expiryTimestamp" minOccurs="0"/>
          <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:restriction>
    </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 ref="premiumProductReference" minOccurs="0"/>
          <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 ref="tradeHeader"/>
      <xsd:element ref="product"/>
      <xsd:element ref="otherPartyPayment" minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element ref="calculationAgent" minOccurs="0"/>
      <xsd:element ref="documentation" minOccurs="0"/>
      <xsd:element ref="governingLaw" minOccurs="0"/>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID"/>
  </xsd:complexType>
  <xsd:complexType name="TradeAlleged">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model for a message sent by a
        confirmation provider when it believes that one party has been
        tardy in providing its side of a transaction.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NotificationMessage">
        <xsd:sequence>
          <xsd:element ref="tradeIdentifier"/>
          <xsd:element ref="bestFitTradeId" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="party" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="TradeDate">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The type used to define the trade date for a transaction.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:date">
        <xsd:attribute name="id" type="xsd:ID"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="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 ref="partyTradeIdentifier" maxOccurs="unbounded"/>
      <xsd:element ref="tradeDate"/>
    </xsd:sequence>
  </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 ref="partyReference"/>
      <xsd:element ref="tradeId" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID"/>
  </xsd:complexType>
  <xsd:complexType name="TradeMatched">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model for a message indicating that
        a correlation has been made between two transactions.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NotificationMessage">
        <xsd:sequence>
          <xsd:element ref="tradeIdentifier" maxOccurs="unbounded"/>
          <xsd:element ref="party" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="TradeNotFound">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model of a response message
        generated when an operation as requested on a trade unknown to
        the service.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ResponseMessage">
        <xsd:sequence>
          <xsd:element ref="tradeIdentifier"/>
          <xsd:element ref="party"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="TradeConfirmed">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model of a message generated when a
        trade is determined to be confirmed.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NotificationMessage">
        <xsd:sequence>
          <xsd:element ref="trade"/>
          <xsd:element ref="party" minOccurs="2" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="TradeMismatched">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model of a message generated when a
        trade is determined to be mismatched.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NotificationMessage">
        <xsd:sequence>
          <xsd:element ref="tradeIdentifier"/>
          <xsd:element ref="bestFitTradeId" maxOccurs="unbounded"/>
          <xsd:element ref="party" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="TradeUnmatched">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model of a message generated when a
        trade is determined to be unmatched.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NotificationMessage">
        <xsd:sequence>
          <xsd:element ref="tradeIdentifier"/>
          <xsd:element ref="bestFitTradeId" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="party" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:simpleType name="ConversationId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The datatype used for conversation identifiers.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="LinkId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The data type used for link identifiers.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="MessageId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The data type use for message identifiers.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="PartyId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The data type used for party identifiers.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="PortfolioName">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The data type used for portfolio names.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="TradeId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The data type used for trade identifiers.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:complexType name="RequestTradeStatus">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model for a message allowing one
        party to query the status of one or many trades previously sent
        to another party.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="RequestMessage">
        <xsd:sequence>
          <xsd:element ref="tradeIdentifier" maxOccurs="unbounded"/>
          <xsd:element ref="party" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="TradeStatus">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model for a message normally
        generated in response to a RequestTradeStatus request.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ResponseMessage">
        <xsd:sequence>
          <xsd:element ref="tradeStatusItem" maxOccurs="unbounded"/>
          <xsd:element ref="party" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="TradeStatusValue">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The type used to hold TradeStatusScheme values.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:normalizedString">
        <xsd:attribute name="tradeStatusScheme" type="xsd:string"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:element name="tradeStatusValue" type="TradeStatusValue">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The trade status value.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="tradeStatusItem" type="TradeStatusItem">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A collection of data values describing the state of the given
        trade.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:complexType name="TradeStatusItem">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type used in trade status enquiry messages which relates a
        trade identifier to its current status value.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="tradeIdentifier"/>
      <xsd:element ref="tradeStatusValue"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="TradeAlreadySubmitted">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model for a message sent by a
        confirmation provider when it believes that one party has
        repeated a request to confirm a trade.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ResponseMessage">
        <xsd:sequence>
          <xsd:element ref="tradeIdentifier"/>
          <xsd:element ref="party"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="TradeAlreadyMatched">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model for a message sent by a
        confirmation provider when it believes that one party has
        repeated a request to confirm a trade.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ResponseMessage">
        <xsd:sequence>
          <xsd:element ref="tradeIdentifier"/>
          <xsd:element ref="party"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="ComfirmationCancelled">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A typed defining the content model for the message generated in
        reponse to a CancelConfirmation request under normal
        circumstances.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ResponseMessage">
        <xsd:sequence>
          <xsd:element ref="tradeIdentifier"/>
          <xsd:element ref="party"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="TradeAffirmed">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining the content model for a message generated when
        a party confirms that a trade is affirmed.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ResponseMessage">
        <xsd:sequence>
          <xsd:element ref="tradeIdentifier" maxOccurs="unbounded"/>
          <xsd:element ref="party" maxOccurs="unbounded"/>
        </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"/>
  </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:element ref="trade" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="portfolio" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="party" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
</xsd:schema>