<?xml version="1.0" encoding="utf-8"?>
<!-- 
== Copyright (c) 2002-2010. 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/2010/FpML-4-9" xmlns:fpml="http://www.fpml.org/2010/FpML-4-9" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" ecore:nsPrefix="fpml" ecore:package="org.fpml" ecore:documentRoot="FpML" targetNamespace="http://www.fpml.org/2010/FpML-4-9" version="$Revision: 7265 $" attributeFormDefault="unqualified" elementFormDefault="qualified">
  <xsd:include schemaLocation="fpml-riskdef-4-9.xsd" />
  <xsd:complexType name="AssetValuation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure that holds a set of measures about an asset, including possibly their sensitivities.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Valuation">
        <xsd:sequence>
          <xsd:element name="quote" type="Quotation" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">One or more numerical measures relating to the asset, possibly together with sensitivities of that measure to pricing inputs.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fxRate" type="FxRate" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Indicates the rate of a currency conversion that may have been used to compute valuations.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="DerivedValuationScenario">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A valuation scenario that is derived from another valuation scenario.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The (optional) name for this valuation scenario, used for understandability. For example "EOD Valuations".</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="baseValuationScenario" type="ValuationScenarioReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">An (optional) reference to a valuation scenario from which this one is derived.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="valuationDate" type="IdentifiedDate" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The (optional) date for which the assets are valued. If not present, the valuation date will be that of the base valuation scenario.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="marketReference" type="MarketReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A reference to the market environment used to price the asset. If not present, the market will be that of the base valuation scenario.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="shift" type="PricingParameterShift" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A collection of shifts to be applied to market inputs prior to computation of the derivative.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="Position">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A collection of related trades or positions and the corresponding aggregate exposures generated by these.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:group ref="PositionIdAndVersion.model" />
      <xsd:element name="reportingRoles" type="ReportingRoles" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Information about the roles of the parties with respect to reporting the positions.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="constituent" type="PositionConstituent">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The components that create this position.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="scheduledDate" type="ScheduledDate" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Position level schedule date, such as final payment dates, in a simple and flexible format.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="valuation" type="AssetValuation" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Valuation reported for the position, such as NPV or accrued interest. The asset/object references in the valuations should refer to the deal or components of the deal in the position, e.g. legs, streams, or underlyers.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="PositionConstituent">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">The items (trades, trade references, holdings, other positions) that comprise this position. Currently a position may consist only of a single trade, a reference to a previously submitted position, or a reference to the trade. The choice structure is optional to allow extensions to be placed within this container.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice minOccurs="0">
      <xsd:element name="trade" type="Trade">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">An element that allows the full details of the trade to be used as a mechanism for identifying the trade for which the post-trade event pertains.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="contract" type="Contract">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">An element that allows the full details of the contract to be used as a mechanism for identifying the contract (at allocation level) for which the post-trade event pertains.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="positionVersionReference" type="xsd:positiveInteger">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A previously submitted version of the position.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="tradeReference" type="PartyTradeIdentifiers">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The trade reference identifier(s) allocated to the trade by the parties involved.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="contractReference" type="ContractReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The contract reference identifiers(s) allocated to the contract by the parties involved.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:complexType>
  <xsd:complexType name="Quotation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Some kind of numerical measure about an asset, eg. its NPV, together with characteristics of that measure, together with optional sensitivities.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:group ref="Quotation.model" />
      <xsd:element name="sensitivitySet" type="SensitivitySet" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Zero or more sets of sensitivities of this measure to various input parameters.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ReportingRoles">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">The roles of the parties in reporting information such as positions.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="baseParty" type="PartyReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A reference to the party from whose perspective the position is valued, ie. the owner or holder of the position.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="activityProvider" type="PartyReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A reference to the party responsible for reporting trading activities.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="positionProvider" type="PartyReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A reference to the party responsible for reporting the position itself and its constituents.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="valuationProvider" type="PartyReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A reference to the party responsible for calculating and reporting the valuations of the positions.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ScheduledDate">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">An servicing date relevant for a trade structure, such as a payment or a reset.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:group ref="AdjustedAndOrUnadjustedDate.model" />
      <xsd:element name="type" type="ScheduledDateType">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The type of the date, e.g. next or previous payment.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="assetReference" type="AnyAssetReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A reference to the leg (or other product component) for which these dates occur.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="AssociatedValue.model" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ScheduledDates">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A list of dates (cash flows, resets, etc.) that are relevant for this structure, e.g. next cash flow, last reset, etc. Provides a way to list upcoming or recent servicing dates related to this trade stream in a way that is simpler and more flexible than the FpML "cashflows" structure.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="scheduledDate" type="ScheduledDate" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A single stream level scheduled servicing date.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ScheduledDateType">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A scheme used to identify the type of a stream scheduled servicing date.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="scheduledDateTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/scheduled-date-type" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="Sensitivity">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">The sensitivity of a value to a defined change in input parameters.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:decimal">
        <xsd:attribute name="name" type="xsd:normalizedString">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">A optional name for this sensitivity. This is primarily intended for display purposes.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <xsd:attribute name="definitionRef" type="xsd:IDREF">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">A optional (but normally supplied) reference to the definition of this sensitivity.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="SensitivitySet">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A collection of sensitivities. References a definition that explains the meaning/type of the sensitivities.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string" minOccurs="0" />
      <xsd:element name="definitionReference" type="SensitivitySetDefinitionReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A reference to a sensitivity set definition.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="sensitivity" type="Sensitivity" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="Valuations">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A set of valuation.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:group ref="AssetValuationOrReference.model" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ValuationSet">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A set of valuation inputs and results. This structure can be used for requesting valuations, or for reporting them. In general, the request fills in fewer elements.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The name of the valuation set, used to understand what it means. E.g., "EOD Values and Risks for Party A".</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="valuationScenario" type="ValuationScenario" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Valuation scenerios used (requested/reported) in this valuation set. E.g., the EOD valuation scenario for a particular value date. Used for the first occurrence of a valuation scenario in a document.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="valuationScenarioReference" type="ValuationScenarioReference" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">References to valuation scenarios used (requested/reported) in this valuation set. E..g, a reference to the EOD valuation scenario for a particular value date. Used for subsequence occurrences of a valuation set in an FpML document.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="baseParty" type="PartyReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Reference to the party from whose point of view the assets are valued.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="quotationCharacteristics" type="QuotationCharacteristics" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Charactistics (measure types, units, sides, etc.) of the quotes used (requested/reported) in the valuation set.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="sensitivitySetDefinition" type="SensitivitySetDefinition" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Definition(s) of sensitivity sets used (requested or reported) in this valuation set.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="detail" type="ValuationSetDetail" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Does this valuation set include a market environment?</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="assetValuation" type="AssetValuation" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Valuations reported in this valuation set. These values can be values (NPVs, prices, etc.) or risks (DAR, etc.) and can include sensitivities.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="ValuationSetDetail">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">The amount of detail provided in the valuation set, e.g. is market environment data provided, are risk definitions provided, etc.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="valuationSetDetailScheme" type="xsd:anyURI" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:element name="valuationSet" type="ValuationSet" />
  <xsd:group name="AdjustedAndOrUnadjustedDate.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Contains at least one of an adjusted date and and unadjusted date, using the usual meanings of those terms.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:sequence>
        <xsd:element name="unadjustedDate" type="xsd:date" />
        <xsd:element name="adjustedDate" type="xsd:date" minOccurs="0" />
      </xsd:sequence>
      <xsd:element name="adjustedDate" type="xsd:date" />
    </xsd:choice>
  </xsd:group>
  <xsd:group name="AssetValuationOrReference.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A quotation or a reference to a quotation.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="valuation" type="AssetValuation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en" />
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="valuationReference" type="ValuationReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A reference to a quotation</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="AssociatedValue.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">An associated value or reference for a scheduled date.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="associatedValue" type="AssetValuation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The value that is associated with the scheduled date.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="associatedValueReference" type="ValuationReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A reference to the value associated with this scheduled date.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:group>
</xsd:schema>

