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

<!-- 
== Copyright (c) 2002-2011 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:view="http://www.fpml.org/views" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns="http://www.fpml.org/FpML-5/reporting" xmlns:fpml-annotation="http://www.fpml.org/annotation" targetNamespace="http://www.fpml.org/FpML-5/reporting" ecore:documentRoot="FpML" ecore:nsPrefix="rpt" ecore:package="org.fpml.reporting" version="$Revision: 8798 $" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xsd:include schemaLocation="fpml-asset-5-2.xsd" />
  <xsd:simpleType name="QueryParameterValue">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type representing a value corresponding to an identifier for a parameter describing a query portfolio.</xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:string" />
  </xsd:simpleType>
  <xsd:complexType name="Allocation">
    <xsd:sequence>
      <xsd:element name="allocationTradeId" type="TradeIdentifier" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Unique ID for the allocation.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="PartyAndAccountReferences.model" />
      <xsd:choice>
        <xsd:element name="allocatedFraction" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The fractional allocation (0.45 = 45%) of the notional and "block" fees to this particular client subaccount.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="allocatedNotional" type="Money" maxOccurs="2" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The notional allocation (amount and currency) to this particular client account.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:group ref="AllocationContent.model" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Allocations">
    <xsd:sequence>
      <xsd:element name="allocation" type="Allocation" maxOccurs="unbounded" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Approval">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A specific approval state in the workflow.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="type" type="xsd:normalizedString" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The type of approval (e.g. "Credit").</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="status" type="xsd:normalizedString" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The current state of approval (.e.g preapproved, pending approval, etc.)</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="approver" type="xsd:normalizedString" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The full name or identifiying ID of the relevant approver.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Approvals">
    <xsd:sequence>
      <xsd:element name="approval" type="Approval" maxOccurs="unbounded" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="BestFitTrade">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type used to record the differences between the current trade and another indicated trade.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="tradeIdentifier" type="TradeIdentifier" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The identifier for the trade compared against.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="differences" type="TradeDifference" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">An optional set of detailed difference records.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Collateral">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type for defining the obligations of the counterparty subject to credit support requirements.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="independentAmount" type="IndependentAmount" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Independent Amount is an amount that usually less creditworthy counterparties are asked to provide. It can either be a fixed amount or a percentage of the Transaction's value. The Independent Amount can be: (i) transferred before any trading between the parties occurs (as a deposit at a third party's account or with the counterparty) or (ii) callable after trading has occurred (typically because a downgrade has occurred). In situation (i), the Independent Amount is not included in the calculation of Exposure, but in situation (ii), it is included in the calculation of Exposure. Thus, for situation (ii), the Independent Amount may be transferred along with any collateral call. Independent Amount is a defined term in the ISDA Credit Support Annex. ("with respect to a party, the amount specified as such for that party in Paragraph 13; if no amount is specified, zero").</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ContractId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A contact id identifier allocated by a party. FpML does not define the domain values associated with this element.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="contractIdScheme" type="xsd:anyURI" use="required" />
        <xsd:attribute name="id" type="xsd:ID" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="ContractIdentifier">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type defining a contract identifier issued by the indicated party.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="partyReference" type="PartyReference" minOccurs="0">
        <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 contract identifier.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:choice>
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Where the legal activity is to agree a contract of variation then the business process should be to modify a contract. This is a contract in its own right and not a version of a previous contract. Where the business process is to replace and supersede a contract then you have a new contract and a contract version should not be used.</xsd:documentation>
        </xsd:annotation>
        <xsd:element name="contractId" type="ContractId" maxOccurs="unbounded" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">A contract id which is not version aware.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="versionedContractId" type="VersionedContractId" maxOccurs="unbounded" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">A contract id which is version aware.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="CreditDerivativesNotices">
    <xsd:sequence>
      <xsd:element name="creditEvent" type="xsd:boolean" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">This element corresponds to the Credit Event Notice Delivered Under Old Transaction and Deemed Delivered Under New Transaction under the EXHIBIT C to 2004 ISDA Novation Definitions.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="publiclyAvailableInformation" type="xsd:boolean" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">This element corresponds to the Notice of Publicly Available Information Delivered Under Old Transaction and Deemed Delivered Under New Transaction under the EXHIBIT C to 2004 ISDA Novation Definitions.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="physicalSettlement" type="xsd:boolean" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">This element corresponds to the Notice of Intended Physical Settlement Delivered Under Old Transaction under the EXHIBIT C to 2004 ISDA Novation Definitions.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="DataDocument">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type defining a content model that is backwards compatible with older FpML releases and which can be used to contain sets of data without expressing any processing intention.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Document">
        <xsd:sequence>
          <xsd:group ref="Validation.model"></xsd:group>
          <xsd:choice>
            <xsd:sequence>
              <xsd:group ref="ProcessingIndicator.model" minOccurs="0"></xsd:group>
              <xsd:element name="onBehalfOf" type="OnBehalfOf" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation>Indicates which party (and accounts) a trade is being processed for.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="originatingEvent" type="OriginatingEvent" minOccurs="0"></xsd:element>
              <xsd:element name="trade" type="Trade" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">The root element in an FpML trade document.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="priceNotation" type="BasicQuotation" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">Pricing information for the trade.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <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:choice>
          <xsd:group ref="PartiesAndAccounts.model" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <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="ExecutionDateTime">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type defining the trade execution date time and the source of it. For use inside containing types which already have a Reference to a Party that has assigned this trade execution date time.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:dateTime">
        <xsd:attribute name="executionDateTimeScheme" type="xsd:anyURI">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Identification of the source (e.g. clock id) generating the execution date time.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="FirstPeriodStartDate">
    <xsd:simpleContent>
      <xsd:extension base="xsd:date">
        <xsd:attribute name="href" use="required" type="xsd:IDREF" ecore:reference="Party" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="IndependentAmount">
    <xsd:sequence>
      <xsd:group ref="PayerReceiver.model" />
      <xsd:element name="paymentDetail" type="PaymentDetail" maxOccurs="unbounded" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A container element allowing a schedule of payments associated with the Independent Amount.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="InstrumentTradeDetails">
    <xsd:annotation>
      <xsd:documentation>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" minOccurs="0">
            <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>A structure describing the amount of an instrument that was traded.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="number" type="xsd:decimal" minOccurs="0">
        <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" minOccurs="0">
        <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>A structure describing the price paid for the instrument.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="quote" type="BasicQuotation" maxOccurs="unbounded" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="InstrumentTradePrincipal">
    <xsd:annotation>
      <xsd:documentation>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="LinkId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">The data type used for link identifiers.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="id" type="xsd:ID" />
        <xsd:attribute name="linkIdScheme" type="xsd:anyURI" use="required" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="NetAndGross">
    <xsd:annotation>
      <xsd:documentation>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" minOccurs="0">
        <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" minOccurs="0" />
    </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: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="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:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="PartyTradeIdentifiers">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type containing multiple partyTradeIdentifier.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="partyTradeIdentifier" type="PartyTradeIdentifier" maxOccurs="unbounded" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PartyTradeInformation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type defining additional information that may be recorded against a trade.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:group ref="PartyAndAccountReferences.model">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Identifies that party that has ownership of this information.</xsd:documentation>
        </xsd:annotation>
      </xsd:group>
      <xsd:element name="relatedParty" type="RelatedParty" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Identifies a related party performing a role within the transaction.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <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 (e.g. originator, counterparty).</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="description" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A human readable brief description of or comment about the trade</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="unit" type="Unit" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Identifies the unit/division/desk etc. that executed or supports this trade</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="isAccountingHedge" type="xsd:boolean" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Specifies whether the trade used to hedge a risk for accounting purposes for the specified party. (TODO: do we need to distinguish between asset and liability hedges?)</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="category" type="TradeCategory" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Used to categorize trades into user-defined categories, such as house trades vs. customer trades.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="trader" type="Trader" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Identifies the person or persons who assumed the role of trader for this trade.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="executionDateTime" type="ExecutionDateTime" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Trade execution date time provided by a central execution facility.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PaymentDetail">
    <xsd:complexContent>
      <xsd:extension base="PaymentBase">
        <xsd:sequence>
          <xsd:element name="paymentDate" type="AdjustableOrRelativeDate" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Payment date.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice>
            <xsd:sequence>
              <xsd:element name="paymentRule" type="PaymentRule" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">A type defining the calculation rule.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="paymentAmount" type="Money" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">A fixed payment amount.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:choice>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="PaymentRule" abstract="true">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">The abstract base type from which all calculation rules of the independent amount must be derived.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  <xsd:complexType name="PercentageRule">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type defining a content model for a calculation rule defined as percentage of the notional amount.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="PaymentRule">
        <xsd:sequence>
          <xsd:element name="paymentPercent" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">A percentage of the notional amount.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="notionalAmountReference" type="NotionalAmountReference" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">A reference to the notional amount.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <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:element name="tradeId" type="TradeId" minOccurs="0" maxOccurs="unbounded" />
      <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="Scheme">
        <xsd:attribute name="id" type="xsd:ID" />
        <xsd:attribute name="portfolioNameScheme" type="xsd:anyURI" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="QueryParameter">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type representing criteria for defining a query portfolio. The criteria are made up of a QueryParameterId, QueryParameterValue and QueryParameterOperator.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="queryParameterId" type="QueryParameterId" minOccurs="0" />
      <xsd:element name="queryParameterValue" type="xsd:normalizedString" minOccurs="0" />
      <xsd:element name="queryParameterOperator" type="QueryParameterOperator" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="QueryParameterId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type representing an identifier for a parameter describing a query portfolio. An identifier can be anything from a product name like swap to a termination date.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="queryParameterIdScheme" type="xsd:anyURI" use="required" />
        <xsd:attribute name="id" type="xsd:ID" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="QueryParameterOperator">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type representing an operator describing the relationship of a value to its corresponding identifier for a parameter describing a query portfolio. Possible relationships include equals, not equals, less than, greater than. Possible operators are listed in the queryParameterOperatorScheme.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="queryParameterOperatorScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/query-parameter-operator" />
        <xsd:attribute name="id" type="xsd:ID" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="QueryPortfolio">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type representing a portfolio obtained by querying the set of trades held in a repository. It contains trades matching the intersection of all criteria specified using one or more queryParameters or trades matching the union of two or more child queryPortfolios.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Portfolio">
        <xsd:sequence>
          <xsd:element name="queryParameter" type="QueryParameter" maxOccurs="unbounded" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="ReportingRole">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type containing a code representing the role of a party in a report, e.g. the originator, the recipient, the counterparty, etc. This is used to clarify which participant's information is being reported.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="reportingRoleScheme" type="xsd:anyURI" use="optional" />
        <xsd:attribute name="id" type="xsd:ID" />
      </xsd:extension>
    </xsd:simpleContent>
  </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="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" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="Trade">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type defining an FpML trade.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="tradeHeader" type="TradeHeader" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The information on the trade which is not product specific, e.g. trade date.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="product" minOccurs="0"></xsd:element>
      <xsd:element name="otherPartyPayment" type="Payment" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Other fees or additional payments associated with the trade, e.g. broker commissions, where one or more of the parties involved are not principal parties involved in the trade.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="brokerPartyReference" type="PartyReference" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Identifies that party (or parties) that brokered this trade.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="CalculationAgent.model"></xsd:group>
      <xsd:element name="determiningParty" type="PartyReference" minOccurs="0" maxOccurs="2">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The party referenced is the ISDA Determination Party that specified in the related Confirmation as Determination Party.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="hedgingParty" type="PartyReference" minOccurs="0" maxOccurs="2">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The party referenced is the ISDA Hedging Party that specified in the related Confirmation as Hedging, or if no Hedging Party is specified, either party to the Transaction.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="collateral" type="Collateral" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Defines collateral obiligations of a Party</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="documentation" type="Documentation" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Defines the definitions that govern the document and should include the year and type of definitions referenced, along with any relevant documentation (such as master agreement) and the date it was signed.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="governingLaw" type="GoverningLaw" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Identification of the law governing the transaction.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <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.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="TradeCategory">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A scheme used to categorize positions.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="categoryScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/org-type-category" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="TradeDifference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type used to record the details of a difference between two business objects/</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="differenceType" type="DifferenceTypeEnum" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The type of difference that exists.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="differenceSeverity" type="DifferenceSeverityEnum" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">An indication of the severity of the difference.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="element" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The name of the element affected.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="basePath" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">XPath to the element in the base object.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="baseValue" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The value of the element in the base object.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="otherPath" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">XPath to the element in the other object.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="otherValue" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Value of the element in the other trade.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="missingElement" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Element(s) that are missing in the other trade.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="extraElement" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Element(s) that are extraneous in the other object.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="message" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A human readable description of the problem.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="TradeHeader">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type defining trade related information which is not product specific.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="partyTradeIdentifier" type="PartyTradeIdentifier" maxOccurs="unbounded" minOccurs="0">
        <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="partyTradeInformation" type="PartyTradeInformation" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Additional trade information that may be provided by each involved party.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="tradeDate" type="IdentifiedDate" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The trade date. This is the date the trade was originally executed. In the case of a novation, the novated part of the trade should be reported (by both the remaining party and the transferee) using a trade date corresponding to the date the novation was agreed. The remaining part of a trade should be reported (by both the transferor and the remaining party) using a trade date corresponding to the original execution date.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="clearedDate" type="IdentifiedDate" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">If the trade was cleared (novated) through a central counterparty clearing service, this represents the date the trade was cleared (transferred to the central counterparty).</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="TradeId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A trade 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="Scheme">
        <xsd:attribute name="tradeIdScheme" type="xsd:anyURI"></xsd:attribute>
        <xsd:attribute name="id" type="xsd:ID" />
      </xsd:extension>
    </xsd:simpleContent>
  </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: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="reportingRole" type="ReportingRole" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Identifies the role of this party in reporting this trade (e.g. originator, counterparty, recipient).</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:choice maxOccurs="unbounded">
        <xsd:element name="tradeId" type="TradeId" minOccurs="0"></xsd:element>
      </xsd:choice>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="Trader">
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="traderScheme" type="xsd:anyURI" use="optional" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="Validation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A reference identifying a rule within a validation scheme.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="validationScheme" type="xsd:anyURI" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="VersionedContractId">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Contract Id with Version Support</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="contractId" type="ContractId" minOccurs="0" />
      <xsd:group ref="VersionHistory.model">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The version of the contract id. The contractId is versioned and not the contract.</xsd:documentation>
        </xsd:annotation>
      </xsd:group>
    </xsd:sequence>
  </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" minOccurs="0" />
      <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:complexType name="Unit">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A type used to record information about a unit, subdivision, desk, or other similar business entity.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="unitScheme" type="xsd:anyURI" use="optional" />
      </xsd:extension>
    </xsd:simpleContent>
  </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="xsd: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" fixed="6" type="xsd:positiveInteger">
      <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>A type to hold trades of multiply-traded instruments. 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="AccountReferenceOrPartyReference.model">
    <xsd:choice>
      <xsd:element name="accountReference" type="AccountReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Reference to the subaccount definition in the Party list.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="partyReference" type="PartyReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Reference to the party definition.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="AllocationContent.model">
    <xsd:sequence>
      <xsd:element name="collateral" type="Collateral" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The sum that must be posted upfront to collateralize against counterparty credit risk.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="creditChargeAmount" type="Money" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Special credit fee assessed to certain institutions.</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:element name="masterConfirmationDate" type="xsd:date" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The date of the confirmation executed between the parties and intended to govern the allocated trade between those parties.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="relatedParty" type="RelatedParty" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Specifies any relevant parties to the allocation which should be referenced.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="AmendmentDetails.model">
    <xsd:sequence>
      <xsd:element name="amendmentTradeDate" type="xsd:date" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The date on which the the parties enter into the Amendment transaction</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="amendmentEffectiveDate" type="xsd:date" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The date on which the Amendment becomes effective</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="CalculationAgent.model">
    <xsd:sequence>
      <xsd:element name="calculationAgent" type="CalculationAgent" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The ISDA calculation agent responsible for performing duties as defined in the applicable product definitions.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="calculationAgentBusinessCenter" type="BusinessCenter" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The city in which the office through which ISDA Calculation Agent is acting for purposes of the transaction is located The short-form confirm for a trade that is executed under a Sovereign or Asia Pacific Master Confirmation Agreement ( MCA ), does not need to specify the Calculation Agent. However, the confirm does need to specify the Calculation Agent City. This is due to the fact that the MCA sets the value for Calculation Agent but does not set the value for Calculation Agent City.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="NetAndOrGross.model">
    <xsd:annotation>
      <xsd:documentation>A group including a net and/or a gross amount.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <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: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:group name="ProcessingIndicator.model">
    <xsd:annotation>
      <xsd:documentation>Elements that describe how this document is intended to be processed (in the absence of a full messaging framework).</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="isCorrection" type="xsd:boolean" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>Indicates if this message corrects an earlier request.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="isCancellation" type="xsd:boolean" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>Indicates if this message corrects an earlier request.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="TradeOrTradeReference.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Choice between identification and representation of trade execution.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="trade" type="Trade" minOccurs="0">
        <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="tradeReference" type="PartyTradeIdentifiers" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">A container since an individual trade can be referenced by two or more different partyTradeIdentifier elements - each allocated by a different party.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="Validation.model">
    <xsd:sequence>
      <xsd:element name="validation" type="Validation" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:group>
</xsd:schema>

Collapse AttributeGroups:
Collapse ComplexTypes:
Collapse Elements:
Collapse Groups:
Collapse SimpleTypes: