<!--
== Copyright (c) 2002-2006. 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/2007/FpML-4-4" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:fpml="http://www.fpml.org/2007/FpML-4-4" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" ecore:nsPrefix="fpml" ecore:package="org.fpml" ecore:documentRoot="FpML" targetNamespace="http://www.fpml.org/2007/FpML-4-4" version="$Revision: 2989 $" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xsd:include schemaLocation="fpml-msg-4-4.xsd" />
<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="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="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:element name="party" type="Party" minOccurs="2" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContractFullTerminationCancelled">
<xsd:annotation>
<xsd:documentation>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="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="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="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="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="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="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="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="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="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:schema>
|