Schema Name: fpml-doc-5-9.xsd
Target Namespace: http://www.fpml.org/FpML-5/legal
Collapse XSD Schema Code:

<!-- 
== Copyright (c) 2002-2017 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/legal" xmlns:fpml-annotation="http://www.fpml.org/annotation" targetNamespace="http://www.fpml.org/FpML-5/legal" ecore:documentRoot="FpML" ecore:nsPrefix="" ecore:package="org.fpml.legal" version="$Revision: 12876 $" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xsd:include schemaLocation="fpml-asset-5-9.xsd" />
  <xsd:include schemaLocation="fpml-legal-5-9.xsd" />
  <xsd:complexType name="Document" abstract="true">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">The abstract base type from which all FpML compliant messages and documents must be derived.</xsd:documentation>
    </xsd:annotation>
    <xsd:attributeGroup ref="VersionAttributes.atts" />
  </xsd:complexType>
  <xsd:complexType name="InstrumentTradeDetails">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">The economics of a trade of a multiply traded instrument.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:group ref="BuyerSeller.model" />
          <xsd:element ref="underlyingAsset">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The FpML asset description for the asset.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="quantity" type="InstrumentTradeQuantity" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">A description of how much of the instrument was traded.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="pricing" type="InstrumentTradePricing" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The price paid for the instrument.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="principal" type="InstrumentTradePrincipal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The value, in instrument currency, of the amount of the instrument that was traded.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="InstrumentTradeQuantity">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure describing the amount of an instrument that was traded.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="number" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The (absolute) number of units of the underlying instrument that were traded.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="nominal" type="Money">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The monetary value of the security (eg. fixed income security) that was traded).</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:complexType>
  <xsd:complexType name="InstrumentTradePricing">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure describing the price paid for the instrument.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="quote" type="BasicQuotation" maxOccurs="unbounded" />
      <xsd:element name="couponStartDate" type="xsd:date" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The date interest started accruing for the accrued interest calculation on an interest bearing security.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="exDividendDate" type="xsd:date" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The date when a distribution of dividends or interest is deducted from a securities asset, or set aside for payment to the original bondholders. From the ex-date, any dividends that are owing on the security are paid to the original owner. As a consequence of this, on the ex-date, the securities price typically drops by the amount of the distribution (plus or minus any market activity).</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="tradedFlatOfAccrued" type="xsd:boolean" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Whether the accrued interest in included when the trade settles. ("true" means accrued interest is not included when the trade settles.)</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="InstrumentTradePrincipal">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure describing the value in "native" currency of an instrument that was traded.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="principalAmount" type="NetAndGross" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The net and/or gross value of the amount traded in native currency.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="LegalDocument">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure describing the legal document.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Document">
        <xsd:sequence>
          <xsd:element name="documentHeader" type="LegalDocumentHeader" />
          <xsd:element ref="contractualDocument" />
          <xsd:group ref="PartiesAndAccounts.model" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="LinkId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">The data type used for link identifiers.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="NonEmptyScheme">
        <xsd:attribute name="id" type="xsd:ID" />
        <xsd:attribute name="linkIdScheme" type="NonEmptyURI" use="required" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="NetAndGross">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure including a net and/or a gross amount and possibly fees and commissions.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:group ref="NetAndOrGross.model">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Net and/or gross amount.</xsd:documentation>
        </xsd:annotation>
      </xsd:group>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PartyPortfolioName">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type to represent a portfolio name for a particular party.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="partyReference" type="PartyReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A pointer style reference to a party identifier defined elsewhere in the document. The party referenced has allocated the trade identifier.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="portfolioName" type="PortfolioName" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="PartyTradeIdentifier">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type defining one or more trade identifiers allocated to the trade by a party. A link identifier allows the trade to be associated with other related trades, e.g. trades forming part of a larger structured transaction. It is expected that for external communication of trade there will be only one tradeId sent in the document per party.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="TradeIdentifier">
        <xsd:sequence>
          <xsd:element name="linkId" type="LinkId" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">A link identifier allowing the trade to be associated with other related trades, e.g. the linkId may contain a tradeId for an associated trade or several related trades may be given the same linkId. FpML does not define the domain values associated with this element. Note that the domain values for this element are not strictly an enumerated list.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice>
            <xsd:element name="allocationTradeId" type="TradeIdentifier" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">The trade id of the allocated trade. This is used by the block trade to reference the allocated trade.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="resultingTradeId" type="TradeIdentifierExtended" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">The trade id of a resulting trade (beta or gamma trade) that resulted from this trade during a clearing or similar operation (e.g. prime brokerage).</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:element name="blockTradeId" type="TradeIdentifier" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The trade id of the block trade. This is used by each one of the allocated trades to reference the block trade. This element can also represent the trade id of the parent trade for N-level allocations. In the case, this element is only used to model N-level allocations in which the trade acts as block and allocated trade at the same time. This basically means the ability to allocate a block trade to multiple allocation trades, and then allocate these in turn to other allocation trades (and so on if desired).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="originatingTradeId" type="TradeIdentifier" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The trade id of the trade(s) upon which this was based, for example the ID of the trade that was submitted for clearing if this is a cleared trade, or of the original trade if this was novated or cancelled and rebooked, or the list of trades that were netted or compressed together in the case of a compression event. The originatingEvent will explain why the trade was created; the existence and number of originatingTradeId elements should correspond to the originatingEvent, and they should be interpreted using that field. If the trade is inside a business event structure (such as a novation or a compression event) this element shuld not be populated; instead the event shoudl be used to represent the other trades.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="productComponentIdentifier" type="ProductComponentIdentifier" minOccurs="0" maxOccurs="unbounded" fpml-annotation:deprecated="true" fpml-annotation:deprecatedReason="Added in error. Leftover from earlier proposal">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Deprecated: The USIs of the components of this trade, when this trade contains a strategy.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
<!--Do not delete this orphan. This is used as an example for defining a different content model for a calculation rule-->
  <xsd:complexType name="Portfolio">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type representing an arbitary grouping of trade references.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="partyPortfolioName" type="PartyPortfolioName" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The name of the portfolio together with the party that gave the name.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:choice>
        <xsd:element name="tradeId" type="TradeId" minOccurs="0" maxOccurs="unbounded" />
        <xsd:element name="partyTradeIdentifier" type="PartyTradeIdentifier" minOccurs="0" maxOccurs="unbounded" />
      </xsd:choice>
      <xsd:element name="portfolio" type="Portfolio" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">An arbitary grouping of trade references (and possibly other portfolios).</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="PortfolioName">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">The data type used for portfolio names.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="NonEmptyScheme">
        <xsd:attribute name="id" type="xsd:ID" />
        <xsd:attribute name="portfolioNameScheme" type="NonEmptyURI" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="ProductComponentIdentifier" fpml-annotation:deprecated="true" fpml-annotation:deprecatedReason="Added in error. Leftover from earlier proposal">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Deprecated: A type defining a USI for the a subproduct component of a strategy.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="premiumProductReference" type="ProductReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Indicates which product within a strategy this ID is associated with.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="issuer" type="IssuerId" />
      <xsd:element name="tradeId" type="TradeId" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Strategy">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type defining a group of products making up a single trade.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:element name="strategyComponentIdentifier" type="StrategyComponentIdentification" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Provides distinct identification for a component of a strategy.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="premiumProductReference" type="ProductReference" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Indicates which product within a strategy represents the premium payment.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element ref="product" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="StrategyComponentIdentification">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Associates trade identifiers with components of a strategy.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="tradeIdentifierReference" type="PartyTradeIdentifierReference" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A reference to a party trade ID. If there are multiple trade IDs for a single component (e.g. USI, UTI, party-specific identifier), create a single "strategyComponentIdentifier" with a reference to the component, and multiple tradeIdentifierReferences, one referencing each applicable identifier.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="componentReference" type="ProductReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A reference to a component of the strategy (typically a product).</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="TradeIdentifier">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type defining a trade identifier issued by the indicated party.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:choice>
        <xsd:group ref="IssuerTradeId.model" />
        <xsd:sequence>
          <xsd:group ref="PartyAndAccountReferences.model">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">A pointer style reference to a party identifier and optionally an account identifier defined elsewhere in the document. The party referenced has allocated the trade identifier.</xsd:documentation>
            </xsd:annotation>
          </xsd:group>
          <xsd:choice maxOccurs="unbounded">
            <xsd:element name="tradeId" type="TradeId" />
            <xsd:element name="versionedTradeId" type="VersionedTradeId">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">A trade identifier accompanied by a version number. In regulatory reporting views, this should be avoided except for internal mnessaging.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
        </xsd:sequence>
      </xsd:choice>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="TradeIdentifierExtended">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type defining a trade identifier with a reference to the party that this trade is associated with.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="TradeIdentifier">
        <xsd:sequence>
          <xsd:element name="associatedPartyReference" type="PartyReference" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="VersionedTradeId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Trade Id with Version Support</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="tradeId" type="TradeId" />
      <xsd:group ref="VersionHistory.model">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The version of the trade id. The tradeId is versioned and not the trade.</xsd:documentation>
        </xsd:annotation>
      </xsd:group>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:attributeGroup name="VersionAttributes.atts">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Set of attributes that define versioning information.</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="fpmlVersion" use="required">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">Indicate which version of the FpML Schema an FpML message adheres to.</xsd:documentation>
      </xsd:annotation>
      <xsd:simpleType>
        <xsd:restriction base="Token">
          <xsd:pattern value="5-[0-9]+" />
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:attribute>
    <xsd:attribute name="expectedBuild" type="xsd:positiveInteger">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">This optional attribute can be supplied by a message creator in an FpML instance to specify which build number of the schema was used to define the message when it was generated.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="actualBuild" type="xsd:positiveInteger" fixed="7">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">The specific build number of this schema version. This attribute is not included in an instance document. Instead, it is supplied by the XML parser when the document is validated against the FpML schema and indicates the build number of the schema file. Every time FpML publishes a change to the schema, validation rules, or examples within a version (e.g., version 4.2) the actual build number is incremented. If no changes have been made between releases within a version (i.e. from Trial Recommendation to Recommendation) the actual build number stays the same.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:attributeGroup>
  <xsd:element name="instrumentTradeDetails" type="InstrumentTradeDetails" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type to hold trades of multiply-traded instruments such as securities (e.g., stocks or bonds) or listed derivatives. Typically this will be used to represent the trade resulting from a physically-settled OTC product where the underlying is a security, for example the exercise of a physically-settled option.</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="strategy" type="Strategy" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A strategy product.</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:group name="NetAndOrGross.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A group including a net and/or a gross amount.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="net" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Value including fees and commissions.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:sequence>
        <xsd:element name="gross" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Value excluding fees and commissions.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="net" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Value including fees and commissions.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:choice>
  </xsd:group>
</xsd:schema>

Collapse AttributeGroups:
Collapse ComplexTypes:
Collapse Elements:
Collapse Groups:
Collapse Comments:
blog comments powered by Disqus