<!--
== Copyright (c) 2002-2009. 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/license/license.html
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.fpml.org/2009/FpML-4-6" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:fpml="http://www.fpml.org/2009/FpML-4-6" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" ecore:nsPrefix="fpml" ecore:package="org.fpml" ecore:documentRoot="FpML" targetNamespace="http://www.fpml.org/2009/FpML-4-6" version="$Revision: 6185 $" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xsd:include schemaLocation="fpml-msg-4-6.xsd" />
<xsd:include schemaLocation="fpml-reconciliation-4-6.xsd" />
<xsd:complexType name="ChangeEvent" abstract="true">
<xsd:annotation>
<xsd:documentation xml:lang="en">The abstract base class for all types which define the changes resulting from a market event.</xsd:documentation>
</xsd:annotation>
</xsd:complexType>
<xsd:complexType name="ContractAmended">
<xsd:annotation>
<xsd:documentation xml:lang="en">Notification that a Contract has been Amended.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="NotificationMessage">
<xsd:sequence>
<xsd:element name="amendment" type="ContractAmendment">
<xsd:annotation>
<xsd:documentation>Details of the amendment</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="paymentDetails" type="PaymentDetails" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the payments, like amount breakdowns, settlement information.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of the Parties to this Contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContractAmendedCancelled">
<xsd:annotation>
<xsd:documentation xml:lang="en">Notification that an Amendment to the Contract has been subject to Cancellation.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="NotificationMessage">
<xsd:sequence>
<xsd:element name="contractReference" type="ContractReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of a single Contract which is the subject of this message. Each Party may provide one to many identifiers for this contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="amendment" type="ContractAmendment" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Details of the amendment being cancelled</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="paymentDetails" type="PaymentDetails" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the payments, like amount breakdowns, settlement information.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="party" type="Party" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of the Parties to this Contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContractAmendment">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the amendment.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="contract" type="Contract">
<xsd:annotation>
<xsd:documentation>A fulll description of the amended contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="agreementDate" type="xsd:date">
<xsd:annotation>
<xsd:documentation>The date on which the change was agreed.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="effectiveDate" type="xsd:date">
<xsd:annotation>
<xsd:documentation>The date on which the change become effective</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="payment" type="Payment" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Describes a payment made in settlement of the change.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ContractCancelled">
<xsd:annotation>
<xsd:documentation xml:lang="en">Notification that a Contract has been subject to Cancellation.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="ContractReferenceMessage" />
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContractChange">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the Contract's non-negotiated changes.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="oldContractIdentifier" type="PartyTradeIdentifier" />
<xsd:element name="oldContract" type="Contract" />
</xsd:choice>
<xsd:element name="contract" type="Contract">
<xsd:annotation>
<xsd:documentation>A fulll description of the changed contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="effectiveDate" type="xsd:date">
<xsd:annotation>
<xsd:documentation>The date on which the change become effective.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="changeEvent">
<xsd:annotation>
<xsd:documentation>Substitution point for types of change.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="payment" type="Payment" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Describes a payment made in settlement of this change.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ContractChanged">
<xsd:annotation>
<xsd:documentation xml:lang="en">Notification that a Contract has been subject to non-negotiated changes resulting from a market event.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="NotificationMessage">
<xsd:sequence>
<xsd:element name="change" type="ContractChange">
<xsd:annotation>
<xsd:documentation>Details of the Contract's non-negotiated changes.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="paymentDetails" type="PaymentDetails" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the payments, like amount breakdowns, settlement information.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of the Parties to this Contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContractChangedCancelled">
<xsd:annotation>
<xsd:documentation xml:lang="en">Notification that a Contract's non-negotiated changes has been subject to Cancellation.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="NotificationMessage">
<xsd:sequence>
<xsd:element name="contractReference" type="ContractReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of a single Contract which is the subject of this message. Each Party may provide one to many identifiers for this contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="change" type="ContractChange">
<xsd:annotation>
<xsd:documentation>Details of the changes being cancelled.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="paymentDetails" type="PaymentDetails" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the payments, like amount breakdowns, settlement information.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of the Parties to this Contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContractCreated">
<xsd:annotation>
<xsd:documentation xml:lang="en">Notification that a Contract has been Created.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="NotificationMessage">
<xsd:sequence>
<xsd:element name="tradeReference" type="PartyTradeIdentifiers" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Optional reference to trade execution.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="contract" type="Contract">
<xsd:annotation>
<xsd:documentation xml:lang="en">Contract which has been created.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="paymentDetails" type="PaymentDetails" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the payments, like amount breakdowns, settlement information.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of the Parties to this Contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContractFullTermination">
<xsd:annotation>
<xsd:documentation xml:lang="en">Notification of an agreed Contract Full Termination. A separate notification message is provided for Contract Partial Termination, which should not result in the contract being Fully Terminated.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="NotificationMessage">
<xsd:sequence>
<xsd:element name="termination" type="ContractTermination">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the full termination.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="paymentDetails" type="PaymentDetails" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the payments, like amount breakdowns, settlement information.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="party" type="Party" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of the Parties to this Contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContractFullTerminationCancelled">
<xsd:annotation>
<xsd:documentation xml:lang="en">A Notification that a Full Termination event is cancelled.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="NotificationMessage">
<xsd:sequence>
<xsd:element name="contractReference" type="ContractReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Reference to the contract affected by the cancellation.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="termination" type="ContractTermination" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the Full Termination being cancelled.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="paymentDetails" type="PaymentDetails" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the payments, like amount breakdowns, settlement information.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="party" type="Party" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of the Parties to this Contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContractIncreased">
<xsd:annotation>
<xsd:documentation xml:lang="en">Notification that a Contract has been Increased.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="NotificationMessage">
<xsd:sequence>
<xsd:element name="increase" type="ChangeContractSize">
<xsd:annotation>
<xsd:documentation xml:lang="en">Increase Details.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="paymentDetails" type="PaymentDetails" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the payments, like amount breakdowns, settlement information.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="party" type="Party" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of the Parties to this Contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContractIncreasedCancelled">
<xsd:annotation>
<xsd:documentation>A Notification that an Increase event is cancelled.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="NotificationMessage">
<xsd:sequence>
<xsd:element name="contractReference" type="ContractReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Reference to the contract affected by the cancellation.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="increase" type="ChangeContractSize" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the Increase being cancelled.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="paymentDetails" type="PaymentDetails" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the payments, like amount breakdowns, settlement information.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="party" type="Party" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of the Parties to this Contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContractNovated">
<xsd:annotation>
<xsd:documentation xml:lang="en">Notification that a Contract has been Novated.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="NotificationMessage">
<xsd:sequence>
<xsd:element name="novation" type="ContractNovation">
<xsd:annotation>
<xsd:documentation xml:lang="en">Novation Details.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="paymentDetails" type="PaymentDetails" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the payments, like amount breakdowns, settlement information.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="party" type="Party" minOccurs="3" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of the Parties to this Contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContractNovatedCancelled">
<xsd:annotation>
<xsd:documentation>A Notification that a Novation event is cancelled.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="NotificationMessage">
<xsd:sequence>
<xsd:element name="contractReference" type="ContractReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Reference to the contract affected by the cancellation.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="novation" type="ContractNovation" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the Novation being cancelled.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="paymentDetails" type="PaymentDetails" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the payments, like amount breakdowns, settlement information.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="party" type="Party" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of the Parties to this Contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContractPartialTermination">
<xsd:annotation>
<xsd:documentation xml:lang="en">Notification that a Contract has been subject to Partial Termination.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="NotificationMessage">
<xsd:sequence>
<xsd:element name="termination" type="ChangeContractSize">
<xsd:annotation>
<xsd:documentation xml:lang="en">Termination details.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="paymentDetails" type="PaymentDetails" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the payments, like amount breakdowns, settlement information.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="party" type="Party" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of the Parties to this Contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContractPartialTerminationCancelled">
<xsd:annotation>
<xsd:documentation>A Notification that a Partial Termination event is cancelled.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="NotificationMessage">
<xsd:sequence>
<xsd:element name="contractReference" type="ContractReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Reference to the contract affected by the cancellation.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="termination" type="ChangeContractSize" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the Termination being cancelled.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="paymentDetails" type="PaymentDetails" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Details of the payments, like amount breakdowns, settlement information.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="party" type="Party" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of the Parties to this Contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContractReferenceMessage" abstract="true">
<xsd:annotation>
<xsd:documentation xml:lang="en">Abstract base class for Contract notification messages that require Contract Reference only.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="NotificationMessage">
<xsd:sequence>
<xsd:element name="contractReference" type="ContractReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of a single Contract which is the subject of this message. Each Party may provide one to many identifiers for this contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identification of the Parties to this Contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="IndexChange">
<xsd:annotation>
<xsd:documentation xml:lang="en">Defines index factor information when credit events occur on index constituents.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="ChangeEvent">
<xsd:sequence>
<xsd:element name="indexFactor" type="RestrictedPercentage">
<xsd:annotation>
<xsd:documentation xml:lang="en">The index version factor, expressed as a decimal, that multiplied by the original notional amount yields the notional amount covered by the seller. A factor of 75% would be represented as 0.75.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="factoredCalculationAmount" type="Money">
<xsd:annotation>
<xsd:documentation xml:lang="en">This relates only to CDS index contracts and represents the factored notional amount, obtained by multiplying the index factor to the contract notional amount. See indexFactor description above.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="changeEvent" abstract="true" default="ChangeEvent">
<xsd:annotation>
<xsd:documentation xml:lang="en">The head of the substitution group for all elements which define the changes resulting from a market event.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="indexChange" type="IndexChange" substitutionGroup="changeEvent">
<xsd:annotation>
<xsd:documentation xml:lang="en">Contains index factor information when credit events occur on index constituents.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:schema>
|