Schema Name: fpml-business-events-5-9.xsd
Target Namespace: http://www.fpml.org/FpML-5/transparency
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/transparency" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:fpml-annotation="http://www.fpml.org/annotation" targetNamespace="http://www.fpml.org/FpML-5/transparency" ecore:documentRoot="FpML" ecore:nsPrefix="trnsp" ecore:package="org.fpml.transparency" version="$Revision: 12889 $" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xsd:include schemaLocation="fpml-msg-5-9.xsd" />
  <xsd:include schemaLocation="fpml-asset-5-9.xsd" />
  <xsd:include schemaLocation="fpml-com-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="AmountRef">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type defining a nominal amount with a reference.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="amount" type="PositiveDecimal" minOccurs="0" />
      <xsd:element name="amountReference" type="AmountReference" minOccurs="0" />
    </xsd:sequence>
  </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" />
    </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="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="MoneyRef">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type defining a currency amount with a reference.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="PositiveMoney">
        <xsd:sequence>
          <xsd:element name="notionalReference" type="NotionalReference" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">A pointer style reference to the associated notional schedule defined elsewhere in the document.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="ReportingRegimeIdentifier">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type that provides identification for reporting regimes.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:choice>
        <xsd:sequence>
          <xsd:element name="name" type="ReportingRegimeName">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Identifies the reporting regime under which this data is reported. For example, Dodd-Frank, MiFID, HongKongOTCDRepository, ODRF</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="supervisorRegistration" type="SupervisorRegistration" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Identifies the specific regulator or other supervisory body for which this data is produced. For example, CFTC, SEC, UKFSA, ODRF, SFC, ESMA.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:element name="supervisorRegistration" type="SupervisorRegistration" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Identifies the specific regulator or other supervisory body for which this data is produced. For example, CFTC, SEC, UKFSA, ODRF, SFC, ESMA.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:element name="reportingRole" type="ReportingRole" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Identifies the role of this party in reporting this trade for this regulator; roles could include ReportingParty and Voluntary reporting.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="actionType" type="ActionType" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Reports a regulator-specific code for the action associated with this submission. Used, for example, to report the ESMA action type.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="RequestedWithdrawalAction">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type that describes what the requester would like to see done to implement the withdrawal, e.g. ExpungeRecords, RetainRecords.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="requestedWithdrawalActionScheme" type="NonEmptyURI" default="http://www.fpml.org/coding-scheme/requested-withdrawal-action" />
      </xsd:extension>
    </xsd:simpleContent>
  </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="TradeAmendmentContent">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure describing a negotiated amendment.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="AbstractEvent">
        <xsd:sequence>
          <xsd:element name="trade" type="Trade">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">A full description of the amended trade (i.e. the trade after the amendment).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:group ref="AgreementAndEffectiveDates.model" />
          <xsd:group ref="ReportingNotionalChange.model" minOccurs="0" />
          <xsd:group ref="TradeAlterationPayment.model" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="TradeChangeBase">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure describing a trade change.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="AbstractEvent">
        <xsd:sequence>
          <xsd:choice minOccurs="0">
            <xsd:element name="tradeIdentifier" type="PartyTradeIdentifier" maxOccurs="unbounded" />
            <xsd:element name="originalTrade" type="Trade" />
          </xsd:choice>
          <xsd:element name="resultingTrade" type="Trade" minOccurs="0" />
          <xsd:group ref="AgreementAndEffectiveDates.model" />
          <xsd:group ref="TradeAlterationPayment.model" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="TradeLegPriceChange">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure describing a change to the size of a single leg or stream of a trade.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:choice minOccurs="0">
        <xsd:element name="priceReference" type="Reference" />
        <xsd:element name="instrumentId" type="InstrumentId" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Identification of the underlying asset, using public and/or private identifiers.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:element name="priceChangeAmount" type="xsd:decimal" minOccurs="0" />
      <xsd:element name="newPrice" type="xsd:decimal" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="TradeLegSizeChange">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure describing a change to the size of a single leg or stream of a trade.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:group ref="TradeLegNotionalChange.model" />
      <xsd:group ref="TradeLegNumberOfOptionsChange.model" />
      <xsd:group ref="TradeLegNumberOfUnitsChange.model" />
      <xsd:group ref="TradeLegNotionalScheduleChange.model" />
      <xsd:group ref="TradeLegFixedAmountChange.model" />
    </xsd:choice>
  </xsd:complexType>
  <xsd:complexType name="TradeNotionalChange">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure describing a change to the size of a trade.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="TradeChangeBase">
        <xsd:sequence>
          <xsd:choice minOccurs="0">
            <xsd:group ref="TradeNotionalChange.model" fpml-annotation:deprecated="true" fpml-annotation:deprecatedReason="The model could not provide support for linking notionals with product legs. Also, there was limitation in the existing increase and termination events which don’t allow the reporting of both change of units or change of notional amount as required for dividend swaps, for example. Instead, sizeChange, should be used." />
            <xsd:element name="sizeChange" type="TradeLegSizeChange" maxOccurs="unbounded" />
          </xsd:choice>
          <xsd:element name="priceChange" type="TradeLegPriceChange" minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="TradeNovationContent">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure describing a novation.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="AbstractEvent">
        <xsd:sequence>
          <xsd:choice minOccurs="0">
            <xsd:group ref="NewTrade.model" />
            <xsd:sequence>
              <xsd:annotation>
                <xsd:documentation xml:lang="en">Choice between identification and representation of the old contract.</xsd:documentation>
              </xsd:annotation>
              <xsd:group ref="OldTrade.model" />
              <xsd:group ref="FeeTrade.model" minOccurs="0" />
              <xsd:group ref="NewTrade.model" minOccurs="0" />
            </xsd:sequence>
            <xsd:sequence>
              <xsd:group ref="FeeTrade.model" />
              <xsd:group ref="NewTrade.model" minOccurs="0" />
            </xsd:sequence>
          </xsd:choice>
          <xsd:group ref="NovationDates.model">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The dates and times associated with the novation event.</xsd:documentation>
            </xsd:annotation>
          </xsd:group>
          <xsd:group ref="NovationAmounts.model" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The amounts novated and remaining. These are optional in some reporting views because when reporting standalone fee trades this information would be duplicated.</xsd:documentation>
            </xsd:annotation>
          </xsd:group>
          <xsd:group ref="NovationTerms.model">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Documentation and other terms relating to the novation.</xsd:documentation>
            </xsd:annotation>
          </xsd:group>
          <xsd:element name="payment" type="Payment" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Describes a payment made in settlement of the novation.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="Withdrawal">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structure describing the removal of a trade from a service, such as a reporting service.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:choice minOccurs="0">
        <xsd:sequence>
          <xsd:element name="partyTradeIdentifier" type="PartyTradeIdentifier" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Identifiers of the trade that is being withdrawn.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="partyTradeInformation" type="WithdrawalPartyTradeInformation" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Holds party-specific information about the trade that is being withdrawn from.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:element name="trade" type="Trade">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The full trade representation that is being withdrawn.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:element name="effectiveDate" type="xsd:date" minOccurs="0" />
      <xsd:element name="requestedAction" type="RequestedWithdrawalAction" minOccurs="0" />
      <xsd:element name="reason" type="WithdrawalReason" minOccurs="0" maxOccurs="unbounded" />
      <xsd:element name="reportingRegime" type="ReportingRegimeIdentifier" minOccurs="0" maxOccurs="unbounded" fpml-annotation:deprecated="true" fpml-annotation:deprecatedReason="Deprecated in favor of partyTradeInformation">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">DEPRECATED. The supervisor/regulator to which this withdrawal applies</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="WithdrawalPartyTradeInformation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type defining party-specific additional information that may be recorded against a trade, for withdrawal purposes.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:group ref="PartyAndAccountReferences.model" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Identifies that party that has ownership of this information. For shared trade information, this will reference the originator of the date (for example, an execution facility or clearinghouse).</xsd:documentation>
        </xsd:annotation>
      </xsd:group>
      <xsd:element name="relatedParty" type="RelatedParty" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">This may be used to identify one or more parties that perform a role within the transaction. If this is within a partyTradeInformation block, the related party performs the role with respect to the party identifie by the "partyReference" in the partyTradeInformation block.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="reportingRegime" type="ReportingRegimeIdentifier" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Allows the organization to specify which if any relevant regulators or other supervisory bodies this is relevant for, and what reporting rules apply.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="WithdrawalReason">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type that describes why a trade was withdrawn.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="withdrawalReasonScheme" type="NonEmptyURI" default="http://www.fpml.org/coding-scheme/withdrawal-reason" />
      </xsd:extension>
    </xsd:simpleContent>
  </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="AgreementAndEffectiveDates.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A model group defining agreement and effective dates.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="agreementDate" type="xsd:date" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The date on which the change was agreed.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="executionDateTime" type="ExecutionDateTime">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The date and time at which the negotiated change to the terms of the original contract was agreed, such as via telephone or electronic trading system (i.e., agreement date/time).</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="effectiveDate" type="xsd:date" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The date on which the change become effective.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="PostTradeEventsBase.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Choice between amendment, increase, termination, and novation events.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="amendment" type="TradeAmendmentContent" />
      <xsd:element name="increase" type="TradeNotionalChange" />
      <xsd:sequence>
        <xsd:element name="terminatingEvent" type="TerminatingEvent" minOccurs="0">
          <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:element name="termination" type="TradeNotionalChange" />
      </xsd:sequence>
      <xsd:element name="novation" type="TradeNovationContent" />
      <xsd:element name="withdrawal" type="Withdrawal" />
    </xsd:choice>
  </xsd:group>
  <xsd:group name="TradingAndPostTradeEvents.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Choice between a trading, a post-trade event, and the extension point additional event</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:group ref="TradingEventsBase.model" />
      <xsd:group ref="PostTradeEventsBase.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:sequence>
        <xsd:element name="originatingEvent" type="OriginatingEvent" minOccurs="0" />
        <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="FeeTrade.model">
    <xsd:choice>
      <xsd:element name="feeTradeIdentifier" type="PartyTradeIdentifier">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Indicates a reference to the implied trade (the "fee trade") that the associated novation fee based on. This is equivalent to the new trade that is created by the novation (between the transferee and the remaining party), but is between the transferor and the transferee.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="feeTrade" type="Trade">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Indicates the original trade between the transferor and the remaining party.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="NewTrade.model">
    <xsd:choice>
      <xsd:annotation>
        <xsd:documentation xml:lang="en">Choice between identification and representation of the new contract.</xsd:documentation>
      </xsd:annotation>
      <xsd:element name="newTradeIdentifier" type="PartyTradeIdentifier" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Indicates a reference to the new trade between the transferee and the remaining party.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="newTrade" type="Trade">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Indicates the new trade between the transferee and the remaining party.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="NovationAmounts.model">
    <xsd:choice>
      <xsd:group ref="NovationAmountsOld.model" />
      <xsd:element name="novationAmount" type="TradeLegSizeChange" maxOccurs="unbounded" />
    </xsd:choice>
  </xsd:group>
  <xsd:group name="NovationAmountsOld.model">
    <xsd:choice>
      <xsd:annotation>
        <xsd:documentation xml:lang="en">Choice for expressing the novated amount as either a money amount, number of options, or number of units, according the the financial product which is being novated.</xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="novatedAmount" type="Money" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The amount which represents the portion of the Old Contract being novated.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="remainingAmount" type="Money" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The amount which represents the portion of the Old Contract not being novated.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:sequence>
        <xsd:element name="novatedNumberOfOptions" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The number of options which represent the portion of the Old Contract being novated.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="remainingNumberOfOptions" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The number of options which represent the portion of the Old Contract not being novated.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:sequence>
        <xsd:element name="novatedNumberOfUnits" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The number of options which represent the portion of the Old Contract being novated.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="remainingNumberOfUnits" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The number of options which represent the portion of the Old Contract not being novated.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="NovationDates.model">
    <xsd:sequence>
      <xsd:element name="novationDate" type="xsd:date" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Specifies the date that one party's legal obligations with regard to a trade are transferred to another party. It corresponds to the Novation Date section of the 2004 ISDA Novation Definitions, section 1.16.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="executionDateTime" type="ExecutionDateTime">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The date and time at which the change was agreed.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="novationTradeDate" type="xsd:date" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Specifies the date the parties agree to assign or novate a Contract. If this element is not specified, the novationContractDate will be deemed to be the novationDate. It corresponds to the Novation Trade Date section of the 2004 ISDA Novation Definitions, section 1.17.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="NovationTerms.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Documentation and other terms (such as date terms) specific to this novation event.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence></xsd:sequence>
  </xsd:group>
  <xsd:group name="OldTrade.model">
    <xsd:choice>
      <xsd:element name="oldTradeIdentifier" type="PartyTradeIdentifier" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Indicates a reference to the original trade between the transferor and the remaining party.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="oldTrade" type="Trade">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Indicates the original trade between the transferor and the remaining party.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="ReportingNotionalChange.model">
    <xsd:sequence>
      <xsd:element name="notionalChange" type="NotionalChangeEnum" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>Indication as to whether the transaction is an increase or decrease of notional of a derivative contract. Only applies when there is change in notional for a derivative contract</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:choice minOccurs="0">
        <xsd:element name="changeInNotional" type="MoneyRef" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The change in notional amount for a prior report as a result of this event. The current notional will be reported in the trade itself. This corresponds to MiFIR Nominal or Monetary amount values; these can be distinguished by the esmaNotionalType indicator.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="changeInNumberOfOptions" type="AmountRef" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The change in nominal amount from a prior report as a result of this event. The current number of options will be reported in the trade itself. This corresponds to the MiFIR "units" value.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="changeInQuantity" type="UnitQuantityRef" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The change in quantity(s) from a prior report as a result of this event. The current quantity will be reported in the trade itself. This corresponds to the MiFIR "units" value.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="TradeAlterationPayment.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A model group defining a payment structure.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="payment" type="Payment" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Describes a payment made in settlement of the change. Normally there will be a single fee, but there could be additional payments such as principal exchanges resulting from the termination.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="TradeLegFixedAmountChange.model">
    <xsd:sequence>
      <xsd:element name="knownAmountReference" type="AmountReference" minOccurs="0" />
      <xsd:element name="changeInKnownAmount" type="NonNegativeMoney" />
      <xsd:element name="outstandingKnownAmount" type="NonNegativeMoney" />
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="TradeLegNotionalChange.model">
    <xsd:sequence>
      <xsd:element name="notionalReference" type="NotionalReference" minOccurs="0" />
      <xsd:element name="changeInNotionalAmount" type="NonNegativeMoney" />
      <xsd:element name="outstandingNotionalAmount" type="NonNegativeMoney" />
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="TradeLegNotionalScheduleChange.model">
    <xsd:sequence>
      <xsd:element name="notionalScheduleReference" type="NotionalReference" minOccurs="0" />
      <xsd:element name="changeInNotionalSchedule" type="NonNegativeAmountSchedule" />
      <xsd:element name="outstandingNotionalSchedule" type="NonNegativeAmountSchedule" />
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="TradeLegNumberOfOptionsChange.model">
    <xsd:sequence>
      <xsd:element name="numberOfOptionsReference" type="NumberOfOptionsReference" minOccurs="0" />
      <xsd:element name="changeInNumberOfOptions" type="xsd:decimal" />
      <xsd:element name="outstandingNumberOfOptions" type="xsd:decimal" />
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="TradeLegNumberOfUnitsChange.model">
    <xsd:sequence>
      <xsd:element name="numberOfUnitsReference" type="NumberOfUnitsReference" minOccurs="0" />
      <xsd:element name="changeInNumberOfUnits" type="xsd:decimal" />
      <xsd:element name="outstandingNumberOfUnits" type="xsd:decimal" />
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="TradeNotionalChange.model" fpml-annotation:deprecated="true" fpml-annotation:deprecatedReason="The model could not provide support for linking notionals with product legs. Also, there was limitation in the existing increase and termination events which don’t allow the reporting of both change of units or change of notional amount as required for dividend swaps, for example. Instead, sizeChange, should be used.">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">DEPRECATED. A structure describing a change to the trade notional.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:sequence>
        <xsd:element name="changeInNotionalAmount" type="NonNegativeMoney" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Specifies the fixed amount by which the Notional Amount changes. The direction of the change (increase or decrease) is specified by the event type (Termination =&gt; reduction, Increase =&gt; greater.)</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="outstandingNotionalAmount" type="NonNegativeMoney" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Specifies the Notional amount after the Change</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:sequence>
        <xsd:element name="changeInNumberOfOptions" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Specifies the fixed amount by which the Number of Options changes</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="outstandingNumberOfOptions" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Specifies the Number of Options after the Change.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:sequence>
        <xsd:element name="changeInNumberOfUnits" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Specifies the fixed amount by which the Number of Units changes</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="outstandingNumberOfUnits" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Specifies the Number of Units</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:choice>
  </xsd:group>
  <xsd:complexType name="UnitQuantityRef">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type defining a quantity and unit with a reference.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="UnitQuantity">
        <xsd:sequence>
          <xsd:element name="quantityReference" type="NotionalReference" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
</xsd:schema>

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