<!--
== Copyright (c) 2002-2018 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:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns="http://www.fpml.org/FpML-5/pretrade" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:fpml-annotation="http://www.fpml.org/annotation" targetNamespace="http://www.fpml.org/FpML-5/pretrade" ecore:documentRoot="FpML" ecore:nsPrefix="pre" ecore:package="org.fpml.pretrade" version="$Revision: 9756 $" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:include schemaLocation="fpml-business-events-5-10.xsd" />
<xsd:complexType name="ClearingEligibility">
<xsd:complexContent>
<xsd:extension base="ResponseMessage">
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:group ref="TradingEvents.model" />
<xsd:element name="partyTradeIdentifier" type="PartyTradeIdentifier" />
</xsd:choice>
<xsd:element name="eligibleForClearing" type="xsd:boolean" />
<xsd:element name="clearingRequirements" type="ClearingRequirements" minOccurs="0" maxOccurs="unbounded" />
<xsd:group ref="PartiesAndAccounts.model" minOccurs="0"></xsd:group>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ClearingRequirements">
<xsd:sequence>
<xsd:element name="supervisoryBody" type="SupervisoryBody">
<xsd:annotation>
<xsd:documentation xml:lang="en">The regulator or other supervisory body to which the clearing requirements apply.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="mandatorilyClearable" type="xsd:boolean">
<xsd:annotation>
<xsd:documentation xml:lang="en">Whether the particular trade type in question is required by this regulator to be cleared.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="reason" type="Reason" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates a reason supporting why the trade is mandatorily clearable or not.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Margins">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type capturing margin information.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="margin" type="BasicQuotation" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="MarketData">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type capturing market data information.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="fxRate" type="FxRate" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="MarginQuote">
<xsd:annotation>
<xsd:documentation xml:lang="en">A message indicating that the margin quote has been acted upon.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="valueDate" type="xsd:date" minOccurs="0" />
<xsd:element name="valueTime" type="xsd:time" minOccurs="0" />
<xsd:element name="tradeIdentifier" type="TradeIdentifier" minOccurs="0" />
<xsd:element name="valuations" type="ValuationsBasicQuotation" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="margins" type="Margins" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="marketData" type="MarketData" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="MarginQuoteAcknowledgement">
<xsd:annotation>
<xsd:documentation xml:lang="en">Defines the structure for a message acknowledging an event request.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="ResponseMessage">
<xsd:sequence>
<xsd:element name="originalMessage" type="UnprocessedElementWrapper" minOccurs="0" />
<xsd:group ref="TradeReferenceInformation.model" minOccurs="0" />
<xsd:group ref="PartiesAndAccounts.model" minOccurs="0"></xsd:group>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="MarginQuoteConfirmed">
<xsd:annotation>
<xsd:documentation xml:lang="en">A message indicating that the margin quote has been acted upon.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="ResponseMessage">
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:group ref="TradingEvents.model" />
<xsd:element name="partyTradeIdentifier" type="PartyTradeIdentifier" />
</xsd:choice>
<xsd:element name="marginQuote" type="MarginQuote" minOccurs="0" maxOccurs="unbounded" />
<xsd:group ref="PartiesAndAccounts.model" minOccurs="0"></xsd:group>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="MarginQuoteRefused">
<xsd:annotation>
<xsd:documentation xml:lang="en">A message indicating that the margin quote has been refused.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="NotificationMessage">
<xsd:sequence>
<xsd:group ref="TradingEvents.model" minOccurs="0" />
<xsd:group ref="EventValuation.model" minOccurs="0" />
<xsd:group ref="PartiesAndAccounts.model" minOccurs="0"></xsd:group>
<xsd:element name="reason" type="Reason" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="MarginQuoteType">
<xsd:annotation>
<xsd:documentation xml:lang="en">Allows the requestor to specify if they want this trade/trade set margining with an associated portfolio with the Clearing Organization or not. Proposed values are: TradeOnly and TradeAndPortfolio</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="marginQuoteTypeScheme" type="NonEmptyURI" default="http://www.fpml.org/coding-scheme/margin-quote-type" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="RequestClearingEligibility">
<xsd:complexContent>
<xsd:extension base="CorrectableRequestMessage">
<xsd:sequence>
<xsd:element name="requestingPartyReference" type="PartyReference" minOccurs="0" fpml-annotation:deprecated="true" fpml-annotation:deprecatedReason="Deprecated in favor of existing onBehalfOf element." />
<xsd:group ref="TradingEvents.model" minOccurs="0" />
<xsd:group ref="PartiesAndAccounts.model" minOccurs="0"></xsd:group>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="RequestMarginQuote">
<xsd:annotation>
<xsd:documentation xml:lang="en">A message requesting clearing eligibility of a trade.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="CorrectableRequestMessage">
<xsd:sequence>
<xsd:element name="portfolioReference" type="PortfolioReference" minOccurs="0" />
<xsd:element name="marginQuoteType" type="MarginQuoteType" minOccurs="0" />
<xsd:group ref="TradingEvents.model" minOccurs="0" />
<xsd:group ref="PartiesAndAccounts.model" minOccurs="0"></xsd:group>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ValuationsBasicQuotation">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type capturing valuation information.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="valuation" type="BasicQuotation" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:element name="requestClearingEligibility" type="RequestClearingEligibility" />
<xsd:element name="clearingEligibility" type="ClearingEligibility" />
<xsd:element name="clearingEligibilityException" type="Exception" />
<xsd:element name="clearingEligibilityAcknowledgement" type="Acknowledgement" />
<xsd:element name="requestMarginQuote" type="RequestMarginQuote" />
<xsd:element name="marginQuoteAcknowledgement" type="MarginQuoteAcknowledgement" />
<xsd:element name="marginQuoteConfirmed" type="MarginQuoteConfirmed" />
<xsd:element name="marginQuoteRefused" type="MarginQuoteRefused" />
<xsd:element name="marginQuoteException" type="Exception" />
</xsd:schema>
|