Schema Name: fpml-business-events-5-9.xsd
Target Namespace: http://www.fpml.org/FpML-5/pretrade
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/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: 12889 $" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xsd:include schemaLocation="fpml-msg-5-9.xsd" />
  <xsd:include schemaLocation="fpml-asset-5-9.xsd" />
  <xsd:complexType name="AbstractEvent" abstract="true">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Abstract base type for all events.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="eventIdentifier" type="BusinessEventIdentifier" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="AdditionalEvent" abstract="true">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Abstract base type for an extension/substitution point to customize FpML and add additional events.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="AbstractEvent" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="BasketChangeEvent">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure indicating that the basket underlyer of the trade has changed due to client trading activity</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ChangeEvent"></xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="BusinessEventIdentifier">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type defining an event identifier issued by the indicated party.</xsd:documentation>
    </xsd:annotation>
    <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:element name="eventId" type="EventId" minOccurs="0" />
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="ChangeEvent" abstract="true">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Abstract base type for non-negotiated trade change descriptions</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="AbstractEvent"></xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="CorporateActionEvent">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure indicating that a trade has changed due to a corporate action</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ChangeEvent">
        <xsd:sequence>
          <xsd:element name="type" type="CorporateActionType" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="CorporateActionType">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type that describes what type of corporate action occurred.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="corporateActionScheme" type="NonEmptyURI" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="CreditLimitBase">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure describing a basic credit limit.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="limitId" type="LimitId" minOccurs="0" />
      <xsd:group ref="Product.model" />
      <xsd:element name="currency" type="Currency" minOccurs="0" />
      <xsd:element name="tenor" type="Period" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The maximum allowed tenor for a trade under this limit. When this structure is used as part of a suspendCredit message, this tenor imposes a temporary tenor limit on allowed trade types.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CreditLimit">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure describing a credit limit with applicability constraints.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="CreditLimitBase">
        <xsd:sequence>
          <xsd:element name="limitApplicable" type="LimitApplicable" minOccurs="0" maxOccurs="unbounded" />
          <xsd:element name="expirationDate" type="xsd:dateTime" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="CreditLimitInformation">
    <xsd:annotation>
      <xsd:documentation />
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="partyInformation" type="PartyTradeInformation" minOccurs="0" />
      <xsd:element name="limitModel" type="LimitModelEnum" minOccurs="0" />
      <xsd:element name="creditLimit" type="CreditLimit" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CreditLimitReference">
    <xsd:annotation>
      <xsd:documentation />
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="approvingPartyReference" type="PartyReference" minOccurs="0" />
      <xsd:element name="approvalId" type="ApprovalId" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CreditLimitUtilization">
    <xsd:annotation>
      <xsd:documentation />
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="executed" type="CreditLimitUtilizationPosition" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Credit limit utilization attributable to executed trades.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="pending" type="CreditLimitUtilizationPosition" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Credit limit utilization attributable to pending unexecuted orders.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CreditLimitUtilizationPosition">
    <xsd:annotation>
      <xsd:documentation />
    </xsd:annotation>
    <xsd:choice>
      <xsd:sequence>
        <xsd:element name="short" type="NonNegativeDecimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Credit limit utilization attributable to short positions.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="long" type="NonNegativeDecimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Credit limit utilization attributable to long positions.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="global" type="NonNegativeDecimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Global credit limit utilization amount, agnostic of long/short position direction.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:choice>
  </xsd:complexType>
  <xsd:complexType name="EventId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A post-trade event reference identifier allocated by a party. 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:simpleContent>
      <xsd:extension base="NonEmptyScheme">
        <xsd:attribute name="eventIdScheme" type="NonEmptyURI" />
        <xsd:attribute name="id" type="xsd:ID" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="IndexChange">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure describing the effect of a change to an index.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ChangeEvent">
        <xsd:sequence>
          <xsd:element name="indexFactor" type="xsd:decimal" minOccurs="0" />
          <xsd:element name="factoredCalculationAmount" type="Money" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="LimitApplicable">
    <xsd:annotation>
      <xsd:documentation />
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="limitType" type="LimitType" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Standard code to indicate which type of credit line is being referred to - i.e. IM, DV01, PV01, CS01, Notional, Clip Size, Notional, maximumOrderQuantity</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="clipSize" type="xsd:integer" minOccurs="0" />
      <xsd:choice minOccurs="0">
        <xsd:element name="amountUtilized" type="xsd:integer" />
        <xsd:element name="utilization" type="CreditLimitUtilization">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Credit limit utilization breakdown by executed trades and pending orders.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:element name="amountRemaining" type="xsd:integer" minOccurs="0" />
      <xsd:element name="currency" type="Currency" minOccurs="0" />
      <xsd:element name="velocity" type="Velocity" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="LimitId">
    <xsd:annotation>
      <xsd:documentation />
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="NonEmptyScheme">
        <xsd:attribute name="creditLimitIdScheme" type="NonEmptyURI" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="LimitType">
    <xsd:annotation>
      <xsd:documentation />
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="creditLimitTypeScheme" type="NonEmptyURI" default="http://www.fpml.org/coding-scheme/credit-limit-type" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="PackageHeader">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Identifying information for a tradePackage (a bundle of trades).</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="packageIdentifier" type="IssuerTradeId" minOccurs="0" />
      <xsd:element name="orderIdentifier" type="OrderIdentifier" minOccurs="0" />
      <xsd:element name="packageType" type="PackageType" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Classification of the package. FpML has defined a list of coding scheme values. Different organizations might have different naming schemes for the packages so the multiplicity of unbounded is meant to support synonyms but it does not mean that a trade has multiple package types.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="size" type="PositiveDecimal" minOccurs="0" />
      <xsd:element name="originatingEvent" type="OriginatingEvent" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">This may be used to describe why a package was created. This can be used to provide context for a newly created package that is not part of a post-trade event. For example, it can report that the package was created as a result of netting activity, or due to a transfer, an allocation process, etc.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="packageInformation" type="PackageInformation" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="TerminatingEvent">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type that describes why a trade terminated.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="terminatingEventScheme" type="NonEmptyURI" default="http://www.fpml.org/coding-scheme/terminating-event" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="TradePackage">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A bundle of trades collected together into a single unit for reporting.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="packageHeader" type="PackageHeader" minOccurs="0" />
      <xsd:choice minOccurs="0">
        <xsd:element name="trade" type="Trade" maxOccurs="unbounded" />
        <xsd:group ref="TradeReferenceInformation.model" maxOccurs="unbounded" />
        <xsd:element name="tradeIdentifier" type="TradeIdentifier" maxOccurs="unbounded" />
      </xsd:choice>
      <xsd:element name="allocations" type="Allocations" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">"Short-form" representation of allocations in which the key block economics are stated once within the trade structure, and the allocation data is contained in this allocations structure. This will normally be expressed in percentage terms and used prior to execution to authorize credit.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="approvals" type="Approvals" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A container for approval states in the workflow.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="TradeReferenceInformation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Defines a type that allows trade identifiers and/or trade information to be represented for a trade.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:choice minOccurs="0">
        <xsd:element name="originatingEvent" type="OriginatingEvent">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">This may be used to describe why a trade was created. This can be used to provide context for a newly created trade that is not part of a post-trade event. For example, it can report that the trade was created as a result of netting activity, or due to a transfer, an allocation process, etc. Omitting this implies that the trade record was created as a result of a negotiated new trade.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="terminatingEvent" type="TerminatingEvent">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">This may be used to describe why a trade was terminated.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:element name="partyTradeIdentifier" type="PartyTradeIdentifier" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">This allows the acknowledging party to supply additional trade identifiers for a trade underlying a request relating to a business event.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="partyTradeInformation" type="PartyTradeInformation" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">This allows the acknowledging party to supply additional trade information about a trade underlying a request relating to a business event.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="productType" type="ProductType" minOccurs="0" />
      <xsd:element name="productId" type="ProductId" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Velocity">
    <xsd:annotation>
      <xsd:documentation />
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="periodMultiplier" type="xsd:integer" minOccurs="0" />
      <xsd:element name="period" type="PeriodTimeEnum" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="additionalEvent" type="AdditionalEvent" abstract="true">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">The additionalEvent element is an extension/substitution point to customize FpML and add additional events.</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="basketChange" type="BasketChangeEvent" substitutionGroup="changeEvent">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Describes a change due to change in composition of basket underlyer</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="changeEvent" type="ChangeEvent">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Abstract substitutable place holder for specific change details.</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="corporateAction" type="CorporateActionEvent" substitutionGroup="changeEvent">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Describes a change due to a corporate action</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="indexChange" type="IndexChange" substitutionGroup="changeEvent">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Describes a change due to an index component being adjusted.</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:group name="TradingEvents.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Information about a trading event that represent a new trading activity (on a newly-created trade), or in some cases the a representation of the trade's current state. Also allows the "additionEvent" extension point.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:group ref="TradingEventsBase.model" />
      <xsd:element ref="additionalEvent" />
    </xsd:choice>
  </xsd:group>
  <xsd:group name="TradingEventsBase.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Information about a trading event that represents a new trading activity (on a newly-created trade or package of trades), or in some cases the a representation of the trade's current state..</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="tradePackage" type="TradePackage" />
      <xsd:sequence>
        <xsd:element name="trade" type="Trade" />
      </xsd:sequence>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="EventValuation.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A model group holding valuation information for an event.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="quote" type="BasicQuotation" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Pricing information for the trade.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="TradeReferenceInformation.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Defines a model group that allows information about a trade to be represented.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="tradeReferenceInformation" type="TradeReferenceInformation" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Information about a trade.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
</xsd:schema>

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