FpML 4.2 Working Draft

12 October 2005

Messaging Component Definitions

Version: 4.2

This Version:

http://www.fpml.org/spec/2005/wd-fpml-4-2-2005-10-12

Latest Version:

http://www.fpml.org/spec/2005/wd-fpml-4-2-2005-10-12

Previous Version:

http://www.fpml.org/spec/2005/wd-fpml-4-2-2005-05-04/

Errata for this Version:

http://www.fpml.org/spec/errata/wd-fpml-4-2-2005-10-12-errata.html

Document built: Tue 10/11/2005 12:45:08.68


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



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


Contents

Global Elements

Global Complex Types
AdditionalData
ConversationId
Message
MessageHeader
MessageId
MessageRejected
NotificationMessage
NotificationMessageHeader
PartyMessageInformation
Reason
RequestMessage
RequestMessageHeader
RequestTradeStatus
ResponseMessage
ResponseMessageHeader
TradeNotFound
TradeStatus
TradeStatusItem
TradeStatusValue

Global Simple Types

Schema Listing

Global Elements

The schema does not contain any global elements.


Global Complex Types

AdditionalData

Description:

Figure:

No SVG plugin installed

Contents:

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

Attribute: additionalDataScheme (xsd:anyURI) - optional

Used by:

Schema Fragment:

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

ConversationId

Description:

Figure:

No SVG plugin installed

Contents:

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

Attribute: conversationIdScheme (xsd:anyURI) - required

Used by:

Schema Fragment:

<xsd:complexType name="ConversationId">
  <xsd:simpleContent>
    <xsd:extension base="xsd:normalizedString">
      <xsd:attribute name="conversationIdScheme" type="xsd:anyURI" use="required"/>
    </xsd:extension>
  </xsd:simpleContent>
</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 occurrence; of the type MessageHeader)

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

Used by:

Extension of:

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:group ref="Validation.model"/>
      </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 occurrence; of the type ConversationId)

messageId (exactly one occurrence; of the type MessageId)

inReplyTo (zero or one occurrence; of the type MessageId)

sentBy (exactly one occurrence; of the type PartyId)

sendTo (zero or more occurrences; of the type PartyId)

copyTo (zero or more occurrences; of the type PartyId)

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

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

partyMessageInformation (zero or more occurrences; of the type PartyMessageInformation)

dsig:Signature (zero or more occurrences; 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 name="conversationId" type="ConversationId" minOccurs="0">
      <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:element>
    <xsd:element name="messageId" type="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:element>
    <xsd:element name="inReplyTo" type="MessageId" minOccurs="0">
      <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:element>
    <xsd:element name="sentBy" type="PartyId">
      <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:element>
    <xsd:element name="sendTo" type="PartyId" minOccurs="0" maxOccurs="unbounded">
      <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:element>
    <xsd:element name="copyTo" type="PartyId" minOccurs="0" maxOccurs="unbounded">
      <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: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" minOccurs="0">
      <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="partyMessageInformation" type="PartyMessageInformation" minOccurs="0" maxOccurs="unbounded">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Additional message information that may be provided by each
          involved party.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:complexType>

MessageId

Description:

The data type use for message identifiers.

Figure:

No SVG plugin installed

Contents:

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

Attribute: messageIdScheme (xsd:anyURI) - required

Used by:

Schema Fragment:

<xsd:complexType name="MessageId">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      The data type use for message identifiers.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:normalizedString">
      <xsd:attribute name="messageIdScheme" type="xsd:anyURI" use="required"/>
    </xsd:extension>
  </xsd:simpleContent>
</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 occurrences; of the type Reason)

additionalData (zero or one occurrence; of the type AdditionalData)

Used by:

Extension of:

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 name="reason" type="Reason" maxOccurs="unbounded">
          <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="additionalData" type="AdditionalData" minOccurs="0">
          <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 a code value or the text of the original request
              (within a CDATA section).
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </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 occurrence; of the type NotificationMessageHeader)

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

Used by:

Restriction of:

Derived Types:

Schema Fragment:

<xsd:complexType name="NotificationMessage" abstract="true">
  <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:group ref="Validation.model"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="StandardAttributes.atts"/>
    </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)

conversationId (zero or one occurrence; of the type ConversationId)

messageId (exactly one occurrence; of the type MessageId)

inReplyTo (zero or one occurrence; of the type MessageId)

sentBy (exactly one occurrence; of the type PartyId)

sendTo (zero or more occurrences; of the type PartyId)

copyTo (zero or more occurrences; of the type PartyId)

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

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

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

Used by:

Restriction of:

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 name="conversationId" type="ConversationId" minOccurs="0">
          <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:element>
        <xsd:element name="messageId" type="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:element>
        <xsd:element name="inReplyTo" type="MessageId" minOccurs="0">
          <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:element>
        <xsd:element name="sentBy" type="PartyId">
          <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:element>
        <xsd:element name="sendTo" type="PartyId" minOccurs="0" maxOccurs="unbounded">
          <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:element>
        <xsd:element name="copyTo" type="PartyId" minOccurs="0" maxOccurs="unbounded">
          <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: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" minOccurs="0">
          <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 ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:restriction>
  </xsd:complexContent>
</xsd:complexType>

PartyMessageInformation

Description:

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

Figure:

No SVG plugin installed

Contents:

partyReference (exactly one occurrence; of the type Reference)

Used by:

Schema Fragment:

<xsd:complexType name="PartyMessageInformation">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A type defining additional information that may be recorded
      against a message.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="partyReference" type="Reference">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Identifies that party that has ownership of this information.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</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 occurrence; of the type xsd:token)

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

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

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

additionalData (zero or more occurrences; of the type AdditionalData)

Used by:

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 name="reasonCode" type="xsd:token">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A machine interpretable error code.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="location" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          An value indicating the location of the problem within the
          subject message.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexType>
        <xsd:simpleContent>
          <xsd:extension base="xsd:string">
            <xsd:attribute name="locationType" type="xsd:normalizedString"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
    </xsd:element>
    <xsd:element name="description" type="xsd:string" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Plain English text describing the associated error condition
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="validationRuleId" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A reference identifying a rule within a validation scheme
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexType>
        <xsd:simpleContent>
          <xsd:extension base="ValidationRuleId">
            <xsd:attribute name="validationScheme" type="xsd:anyURI"/>
          </xsd:extension>
        </xsd:simpleContent>
      </xsd:complexType>
    </xsd:element>
    <xsd:element name="additionalData" type="AdditionalData" minOccurs="0" maxOccurs="unbounded">
      <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 a code value or the text of any one of the messages
          (within a CDATA section).
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </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 occurrence; of the type RequestMessageHeader)

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

Used by:

Restriction of:

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:group ref="Validation.model"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="StandardAttributes.atts"/>
    </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 occurrence; of the type ConversationId)

messageId (exactly one occurrence; of the type MessageId)

sentBy (exactly one occurrence; of the type PartyId)

sendTo (zero or more occurrences; of the type PartyId)

copyTo (zero or more occurrences; of the type PartyId)

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

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

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

Used by:

Restriction of:

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 name="conversationId" type="ConversationId" minOccurs="0">
          <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:element>
        <xsd:element name="messageId" type="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:element>
        <xsd:element name="sentBy" type="PartyId">
          <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:element>
        <xsd:element name="sendTo" type="PartyId" minOccurs="0" maxOccurs="unbounded">
          <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:element>
        <xsd:element name="copyTo" type="PartyId" minOccurs="0" maxOccurs="unbounded">
          <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: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" minOccurs="0">
          <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 ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:restriction>
  </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 occurrences; of the type TradeIdentifier)

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

Used by:

Extension of:

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 name="tradeIdentifier" type="TradeIdentifier" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              An instance of a unique trade identifier.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="party" type="Party" maxOccurs="unbounded">
          <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: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 occurrence; of the type ResponseMessageHeader)

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

Used by:

Restriction of:

Derived Types:

Schema Fragment:

<xsd:complexType name="ResponseMessage" abstract="true">
  <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:group ref="Validation.model"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="StandardAttributes.atts"/>
    </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 occurrence; of the type ConversationId)

messageId (exactly one occurrence; of the type MessageId)

inReplyTo (exactly one occurrence; of the type MessageId)

sentBy (exactly one occurrence; of the type PartyId)

sendTo (zero or more occurrences; of the type PartyId)

copyTo (zero or more occurrences; of the type PartyId)

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

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

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

Used by:

Restriction of:

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 name="conversationId" type="ConversationId" minOccurs="0">
          <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:element>
        <xsd:element name="messageId" type="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:element>
        <xsd:element name="inReplyTo" type="MessageId">
          <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:element>
        <xsd:element name="sentBy" type="PartyId">
          <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:element>
        <xsd:element name="sendTo" type="PartyId" minOccurs="0" maxOccurs="unbounded">
          <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:element>
        <xsd:element name="copyTo" type="PartyId" minOccurs="0" maxOccurs="unbounded">
          <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: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" minOccurs="0">
          <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 ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:restriction>
  </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 occurrence; of the type TradeIdentifier)

party (exactly one occurrence; of the type Party)

Used by:

Extension of:

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 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: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: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 occurrences; of the type TradeStatusItem)

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

Used by:

Extension of:

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 name="tradeStatusItem" type="TradeStatusItem" maxOccurs="unbounded">
          <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:element name="party" type="Party" maxOccurs="unbounded">
          <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: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 occurrence; of the type TradeIdentifier)

tradeStatusValue (exactly one occurrence; of the type TradeStatusValue)

Used by:

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 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:element name="tradeStatusValue" type="TradeStatusValue">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The trade status value.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </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)

Attribute: tradeStatusScheme (xsd:anyURI)

Used by:

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

Global Simple Types

The schema does not contain any global simple types.


Full XML Schema

<xsd:schema targetNamespace="http://www.fpml.org/2005/FpML-4-2" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
  <xsd:include schemaLocation="fpml-doc-4-2.xsd"/>
  <xsd:complexType name="AdditionalData">
    <xsd:simpleContent>
      <xsd:extension base="xsd:normalizedString">
        <xsd:attribute name="additionalDataScheme" type="xsd:anyURI" use="optional"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="ConversationId">
    <xsd:simpleContent>
      <xsd:extension base="xsd:normalizedString">
        <xsd:attribute name="conversationIdScheme" type="xsd:anyURI" use="required"/>
      </xsd:extension>
    </xsd:simpleContent>
  </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:group ref="Validation.model"/>
        </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 name="conversationId" type="ConversationId" minOccurs="0">
        <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:element>
      <xsd:element name="messageId" type="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:element>
      <xsd:element name="inReplyTo" type="MessageId" minOccurs="0">
        <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:element>
      <xsd:element name="sentBy" type="PartyId">
        <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:element>
      <xsd:element name="sendTo" type="PartyId" minOccurs="0" maxOccurs="unbounded">
        <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:element>
      <xsd:element name="copyTo" type="PartyId" minOccurs="0" maxOccurs="unbounded">
        <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: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" minOccurs="0">
        <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="partyMessageInformation" type="PartyMessageInformation" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Additional message information that may be provided by each
            involved party.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="MessageId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        The data type use for message identifiers.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:normalizedString">
        <xsd:attribute name="messageIdScheme" type="xsd:anyURI" use="required"/>
      </xsd:extension>
    </xsd:simpleContent>
  </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 name="reason" type="Reason" maxOccurs="unbounded">
            <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="additionalData" type="AdditionalData" minOccurs="0">
            <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 a code value or the text of the original
                request (within a CDATA section).
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="NotificationMessage" abstract="true">
    <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:group ref="Validation.model"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="StandardAttributes.atts"/>
      </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 name="conversationId" type="ConversationId" minOccurs="0">
            <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:element>
          <xsd:element name="messageId" type="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:element>
          <xsd:element name="inReplyTo" type="MessageId" minOccurs="0">
            <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:element>
          <xsd:element name="sentBy" type="PartyId">
            <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:element>
          <xsd:element name="sendTo" type="PartyId" minOccurs="0" maxOccurs="unbounded">
            <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:element>
          <xsd:element name="copyTo" type="PartyId" minOccurs="0" maxOccurs="unbounded">
            <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: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" minOccurs="0">
            <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 ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:restriction>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="PartyMessageInformation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A type defining additional information that may be recorded
        against a message.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="partyReference" type="Reference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Identifies that party that has ownership of this
            information.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </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 name="reasonCode" type="xsd:token">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A machine interpretable error code.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="location" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            An value indicating the location of the problem within the
            subject message.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute name="locationType" type="xsd:normalizedString"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="description" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Plain English text describing the associated error
            condition
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="validationRuleId" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A reference identifying a rule within a validation scheme
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="ValidationRuleId">
              <xsd:attribute name="validationScheme" type="xsd:anyURI"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="additionalData" type="AdditionalData" minOccurs="0" maxOccurs="unbounded">
        <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 a code value or the text of any one of the messages
            (within a CDATA section).
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </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:group ref="Validation.model"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="StandardAttributes.atts"/>
      </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 name="conversationId" type="ConversationId" minOccurs="0">
            <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:element>
          <xsd:element name="messageId" type="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:element>
          <xsd:element name="sentBy" type="PartyId">
            <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:element>
          <xsd:element name="sendTo" type="PartyId" minOccurs="0" maxOccurs="unbounded">
            <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:element>
          <xsd:element name="copyTo" type="PartyId" minOccurs="0" maxOccurs="unbounded">
            <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: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" minOccurs="0">
            <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 ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:restriction>
    </xsd:complexContent>
  </xsd:complexType>
  <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 name="tradeIdentifier" type="TradeIdentifier" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                An instance of a unique trade identifier.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="party" type="Party" maxOccurs="unbounded">
            <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:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="ResponseMessage" abstract="true">
    <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:group ref="Validation.model"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="StandardAttributes.atts"/>
      </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 name="conversationId" type="ConversationId" minOccurs="0">
            <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:element>
          <xsd:element name="messageId" type="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:element>
          <xsd:element name="inReplyTo" type="MessageId">
            <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:element>
          <xsd:element name="sentBy" type="PartyId">
            <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:element>
          <xsd:element name="sendTo" type="PartyId" minOccurs="0" maxOccurs="unbounded">
            <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:element>
          <xsd:element name="copyTo" type="PartyId" minOccurs="0" maxOccurs="unbounded">
            <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: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" minOccurs="0">
            <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 ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:restriction>
    </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 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: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: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 name="tradeStatusItem" type="TradeStatusItem" maxOccurs="unbounded">
            <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:element name="party" type="Party" maxOccurs="unbounded">
            <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:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <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 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:element name="tradeStatusValue" type="TradeStatusValue">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The trade status value.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </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:anyURI"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:schema>