Schema Name: fpml-fx-targets-5-9.xsd
Target Namespace: http://www.fpml.org/FpML-5/recordkeeping
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/recordkeeping" xmlns:fpml-annotation="http://www.fpml.org/annotation" targetNamespace="http://www.fpml.org/FpML-5/recordkeeping" ecore:documentRoot="FpML" ecore:nsPrefix="" ecore:package="org.fpml.recordkeeping" version="$Revision: 11478 $" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xsd:include schemaLocation="fpml-fx-5-9.xsd" />
<!--
    ================
        complexTypes    
    ================
    -->
  <xsd:complexType name="FxComplexBarrierBase">
    <xsd:sequence>
      <xsd:element name="barrierType" type="FxBarrierTypeSimpleEnum" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Specifies the outcome (action) in the event that the barrier is triggered i.e. whether the product becomes active (Knockin) or is extinguished (Knockout).</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="style" type="FxBarrierStyleEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The barrier observation style: continuous (American) or discrete (European).</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="scope" type="FxBarrierScopeEnum" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The scope of the barrier (PerExpiry|Global). Specifies whether the barrier has effect for the current expiry period (in the case of a multi-phase product), or for the product as a whole.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="condition" type="ConditionEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Defines the condition when the barrier applies: AtOrAbove, AtOrBelow, Above, Below.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="triggerRate" type="Schedule">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The market rate is observed relative to the trigger rate, and if it is found to be on the predefined side of (above or below) the trigger rate, a barrier event is deemed to have occurred.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:sequence minOccurs="0">
        <xsd:element name="observationStartDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The date on which the observation period for an american barrier starts. If the start date is not present, then the date and time of the start of the period is deemed to be the date and time the transaction was entered into.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="observationStartTime" type="BusinessCenterTime" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The time on the start date at which the observation period for an american barrier starts. If the time is not present and the start date is equivalent to the transaction date, the time is deemed to be the time the transaction was entered into. If the time is not present and the start date is other than the transaction date, then the time is deemed to be the same as the expiration time.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:sequence minOccurs="0">
        <xsd:element name="observationEndDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The date on which the observation period for an american barrier ends. If the end date is not present, then the date and time of the end of the period is deemed to be the date and time of expiration.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="observationEndTime" type="BusinessCenterTime" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">The time on the end date at which the observation period for an american barrier ends. If the time is not present, then the time is deemed to be the same as the expiration time.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" use="optional">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">Attribute to be able to point to the</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="FxComplexBarrierBaseReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Reference to a barrier structure defined within the parametric representation.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="FxComplexBarrierBase" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxCounterCurrencyAmount">
    <xsd:complexContent>
      <xsd:extension base="NonNegativeAmountSchedule">
        <xsd:sequence>
          <xsd:element name="strikeReference" type="FxStrikeReference" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">In case of multiple counter currency notionals, a strike reference to the appropriate strike may be provided.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxDateOffset">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">The representation of the schedule as an offset relative to another schedule. For example, the settlement schedule may be relative to the expiry schedule by an FxForward offset.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="convention" type="FxOffsetConventionEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The FX Offset Convention can be FxSpot or FxForward.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="offset" type="Period" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The settlement offset to the expiry schedule or the expiry offset to the settlement schedule. It is only specified when the settlement convention is FxForward.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="relativeTo" type="FxScheduleReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Indicates whether the settlement schedule is relative to the expiry schedule or the expiry schedule is relative to the settlement schedule.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxExchangedCurrency">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Indicates the direction who pays and receives a specific currency without specifying the amount.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:group ref="PayerReceiver.model" />
      <xsd:element name="currency" type="Currency" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxExpirySchedule">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Defines the expiry/observation schedule of the target.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="FxSchedule">
        <xsd:sequence>
          <xsd:element name="finalExpiryDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The final expiry date facilitates informing the final date without having to process all expiry dates in the schedule.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="expiryTime" type="BusinessCenterTime" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Time of expiration of each expiry date.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxKnockoutCount">
    <xsd:sequence>
      <xsd:element name="conditionalFixings" type="xsd:integer">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Number of fixings that are in the money. No accumulation process.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="settlementAtKnockout" type="xsd:boolean">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Whether there is settlement at knockout.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxKnockoutLevel">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Defines the Target level of gain.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:choice>
        <xsd:element name="amount" type="NonNegativeMoney">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Target level expressed as a cash amount.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="intrinsicValue" type="xsd:decimal">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Target level expressed as intrinsic value (cumulative benefit over the prevailing spot rate at each observation point).</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:element name="targetStyle" type="FxTargetStyleEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Target style when it settles, whether it is Inclusive, Exclusive, or Exact. Exclusive: the gain for the knockout period is adjusted to zero i.e. the target yields zero value in the final period. Exact: the gain for the knockout period is adjusted to yield a final accumulated value equal to the target level. Inclusive: the gain for the knockout period is equal to the whole benefit of the final fixing over spot i.e. the final accumulated value may exceed the target level.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="settlementAdjustmentStyle" type="FxSettlementAdjustmentMethodEnum" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Specifies the calculation method by which the final accumulated value is adjusted equal to the target value, in the case where the target style is "Exact". This element must be produced (only) where the target style is "Exact", and should be omitted otherwise.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxLevel">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Level is expressed as Schedule, with an initial value and optional steps.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Schedule" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxLevelReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Reference to a level structure.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="FxLevel" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxOutstandingGain">
    <xsd:sequence>
      <xsd:element name="targetReference" type="FxTargetReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Reference to a target structure within the product.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="settlementAdjustmentStyle" type="FxSettlementAdjustmentMethodEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The Settlement Adjustment Style can be VariedStrike or VariedNotional.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxPayoffCap">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">The amount of gain on the client upside or firm upside is limited. If spot settles above the cap, or below the floor, the payout is adjusted to limit the gain. The adjustment may be made by varying the strike, or by maintaining the strike, but varying the payout notionals.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="condition" type="ConditionEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Condition in which Cap or Floor applies.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="rate" type="Schedule">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Cap/Floor rate.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="settlementAdjustmentStyle" type="FxSettlementAdjustmentMethodEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The Settlement Adjustment Style can be VariedStrike or VariedNotional.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxPivot">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Pivot is expressed as Schedule, with an initial value and optional steps.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Schedule" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxPivotReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Reference to a pivot structure.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="FxPivot" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxSchedule">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">The FxSchedule may be expressed as explicit adjusted dates, or a parametric representation plus optional adjusted dates, or as an offset plus optional adusted dates.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:sequence>
        <xsd:element name="dateAdjustments" type="BusinessDayAdjustments" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Date adjustments applied to the adjusted dates including the business day convention and the business centers.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="adjustedDate" type="xsd:date" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">List of schedule dates. These dates have been subject to adjustments based on the dateAdjustments structure.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:sequence>
        <xsd:choice>
          <xsd:group ref="ParametricSchedule.model">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Parametric representation of the schedule.</xsd:documentation>
            </xsd:annotation>
          </xsd:group>
          <xsd:element name="dateOffset" type="FxDateOffset">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The representation of the schedule as an offset relative to another schedule. For example, the settlement schedule may be relative to the expiry schedule by an FxForward offset.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:element name="adjustedDate" type="xsd:date" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">List of schedule dates. These dates have been subject to adjustments based on the dateAdjustments structure.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:choice>
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="FxScheduleReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Reference to a FX Schedule structure.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="FxTarget" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxSettlementPeriodBarrier">
    <xsd:sequence>
      <xsd:element name="barrierReference" type="FxComplexBarrierBaseReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Reference to the barrier structure within the parametric representation of the product.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="triggerRate" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Barrier trigger rate.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxSettlementSchedule">
    <xsd:complexContent>
      <xsd:extension base="FxSchedule">
        <xsd:sequence>
          <xsd:element name="finalSettlementDate" type="xsd:date" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The final settlement date facilitates informing the final date without having to process all settlement dates in the schedule.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxStrike">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Strike is expressed as Schedule, with an initial value and optional steps.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Schedule" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxStrikeReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Reference to a strike structure.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="FxStrike" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxTarget">
    <xsd:sequence>
      <xsd:element name="accumulationRegion" type="FxTargetAccumulationRegion" maxOccurs="2" />
      <xsd:choice>
        <xsd:element name="knockoutLevel" type="FxKnockoutLevel" />
        <xsd:element name="knockoutCount" type="FxKnockoutCount" />
      </xsd:choice>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" use="optional" />
  </xsd:complexType>
  <xsd:complexType name="FxTargetAccumulationRegion">
    <xsd:sequence>
      <xsd:group ref="FxTargetRegionBound.model">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Defines the lower/upper bound in which the target accumulation applies.</xsd:documentation>
        </xsd:annotation>
      </xsd:group>
      <xsd:element name="multiplier" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">This is the factor that increases gain, not notional. Used to support Accelerated TARFs.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxTargetBarrier">
    <xsd:complexContent>
      <xsd:extension base="FxComplexBarrierBase">
        <xsd:sequence>
          <xsd:element name="rebate" type="FxTargetRebate" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">A rebate payable in the event of knockout. This element may be produced in conjunction with a Global Knockout barrier (barrierType = "Knockout" scope = "Global"), and must be omitted otherwise.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxTargetConstantPayoff">
    <xsd:choice>
      <xsd:sequence>
        <xsd:group ref="PayerReceiver.model" />
        <xsd:element name="payment" type="PositiveMoney">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Cash payment.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:element name="fixingAdjustment" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Payoff (gain) expressed as a fixing adjustment. This style is used in the "bonus collar" TARF.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:complexType>
  <xsd:complexType name="FxTargetConstantPayoffRegion">
    <xsd:annotation>
      <xsd:documentation>A fixing region in which the payoff is a constant value (a binary|digital payoff, or zero).</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="FxTargetPayoffRegion">
        <xsd:sequence>
          <xsd:group ref="FxTargetRegionBound.model" />
          <xsd:element name="payoff" type="FxTargetConstantPayoff" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation>A binary|digital payoff, expressed either as a cash payment, or a (non-zero) fixing adjustment.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="physicalSettlement" type="FxTargetPhysicalSettlement" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxTargetKnockoutForward">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structured forward product which consists of a strip of forwards. Each forward may be settled as an exchange of currencies or cash settled. At each settlement, the amount of gain that one party achieves is measured. The product has a target level of gain. Once the accumulated gain exceeds the target level, the product terminates and there are no further settlements.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:element name="quotedCurrencyPair" type="QuotedCurrencyPair">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The Quoted Currency Pair that is used accross the product.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="notionalAmount" type="NonNegativeAmountSchedule">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Notional amount of the Target.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="target" type="FxTarget" maxOccurs="2">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">It defines the target level of gain. Once the accumulated gain exceeds the target level, the product terminates and there are no further settlements.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="expirySchedule" type="FxExpirySchedule">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines the expiry/observation schedule of the target product.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="settlementSchedule" type="FxSettlementSchedule" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines the settlement/payment schedule of the target product.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fixingInformationSource" type="FxInformationSource" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Information source for fixing the exchange rate. It is the same for all fixing periods.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="spotRate" type="NonNegativeDecimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Spot rate</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:sequence>
            <xsd:sequence minOccurs="0">
              <xsd:element name="pivot" type="FxPivot">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">The boundary where the contract flips from being long and short is the pivot point. So the pivot indicates the level in which there is a change in direction of the currencies exchanged by the parties.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="constantPayoffRegion" type="FxTargetConstantPayoffRegion" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">A region in which constant payoff applies i.e. the payoff is defined as a contant currency amount or fixing adjustment, unrelated to the fixing. In absence of the "payoff" element, zero payoff is assumed (note: zero payoff does not necessarily imply that no settlement occurs).</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="linearPayoffRegion" type="FxTargetLinearPayoffRegion">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">A region in which linear payoff applies i.e. the payoff bears a linear relationship to the fixing value (increases/decreases linearly with the fixing).</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
            <xsd:sequence>
              <xsd:element name="constantPayoffRegion" type="FxTargetConstantPayoffRegion" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">It defines a region in which a digital payment occurs.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="linearPayoffRegion" type="FxTargetLinearPayoffRegion">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">A region in which linear payoff applies i.e. the payoff bears a linear relationship to the fixing value (increases/decreases linearly with the fixing).</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">Choice permitting digital-, vanilla- and zero- PayoffRegions to be combined arbitrarily.</xsd:documentation>
              </xsd:annotation>
              <xsd:element name="constantPayoffRegion" type="FxTargetConstantPayoffRegion">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">It defines a region in which a digital payment occurs.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="linearPayoffRegion" type="FxTargetLinearPayoffRegion">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">A region in which linear payoff applies i.e. the payoff bears a linear relationship to the fixing value (increases/decreases linearly with the fixing).</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
          <xsd:element name="barrier" type="FxTargetBarrier" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Generic FxTarget barrier. Element "scope" specifies whether the barrier has effect for the expiry period in which it is observed, or globally for whole product. Optional element "rebate" may be produced in conjunction with a Global Knockout barrier, to specify a rebate payable in the event of knockout.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="additionalPayment" type="SimplePayment" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">It supports the representation of premiums, fees, etc.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="cashSettlement" type="FxCashSettlementSimple" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Cash settlement currency.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="settlementPeriodSchedule" type="FxTargetSettlementPeriodSchedule" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">It supports the representation of a matrix/tabular approach of the product by defining a set of settlement periods.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxTargetLeverage">
    <xsd:sequence>
      <xsd:element name="condition" type="ConditionEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Condition in which leverage applies.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="FxTargetConditionLevel.model" />
      <xsd:choice>
        <xsd:element name="ratio" type="Schedule">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Leverage rate with optional steps. Format is 2 for 200%.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:sequence>
          <xsd:element name="notionalAmount" type="NonNegativeAmountSchedule">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Leveraged notional expressed as amount with optional steps.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="counterCurrencyAmount" type="FxCounterCurrencyAmount" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The opposite currency amount of the Target.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:choice>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID" />
  </xsd:complexType>
  <xsd:complexType name="FxTargetLinearPayoffRegion">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A fixing region in which the payoff varies linearly with the fixing value.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="FxTargetPayoffRegion">
        <xsd:sequence>
          <xsd:group ref="FxExchangedCurrency.model" />
          <xsd:element name="strike" type="FxStrike">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Strike price of the Target.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="counterCurrencyAmount" type="NonNegativeAmountSchedule" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The opposite currency amount of the Target.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="lowerBound" type="FxTargetRegionLowerBound" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines the lower bound of a payoff region.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="upperBound" type="FxTargetRegionUpperBound" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines the upper bound of a payoff region.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="leverage" type="FxTargetLeverage" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Notional leverage.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="payoffCap" type="FxPayoffCap" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The amount of gain on the client upside or firm upside is limited. If spot settles above the cap, or below the floor, the payout is adjusted to limit the gain. The adjustment may be made by varying the strike, or by maintaining the strike, but varying the payout notionals.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxTargetPayoffRegion" abstract="true">
    <xsd:attribute name="id" type="xsd:ID" use="optional" />
  </xsd:complexType>
  <xsd:complexType name="FxTargetPayoffRegionReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Reference to a FX Target Payoff Region.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="FxTargetPayoffRegion" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxTargetRebate">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A rebate can be expressed as a payment amount or as amount of outstanding gain.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="payment" type="SimplePayment">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Rebate amount expressed as a payment between the two parties.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="outstandingGain" type="FxOutstandingGain">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Rebate expressed as amount of outstanding gain.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:complexType>
  <xsd:complexType name="FxTargetRegionLowerBound">
    <xsd:sequence>
      <xsd:element name="condition" type="FxRegionLowerBoundDirectionEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">AtOrAbove, Above.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="FxTargetConditionLevel.model" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxTargetRegionUpperBound">
    <xsd:sequence>
      <xsd:element name="condition" type="FxRegionUpperBoundDirectionEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">AtOrBelow, Below.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="FxTargetConditionLevel.model" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxTargetSettlementPeriodPayoff">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Payoff region</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="payoffRegionReference" type="FxTargetPayoffRegionReference" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Optional reference to the Payoff Region in the parametric representation of the product.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="strike" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Strike for the settlement period.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="counterCurrencyAmount" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Counter Currency Amount for the settlement period. Multiple Counter Currency Amount elements may appear if there are more than one strike in the settlement period.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="lowerBound" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Lower bound to the region.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="upperBound" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Upper bound to the region.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="leverage" type="SettlementPeriodLeverage" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Leverage within the period expressed as either an amount or ratio.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="payoffCap" type="xsd:decimal" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The amount of gain on the client upside or firm upside is limited. If spot settles above the cap, or below the floor, the payout is adjusted to limit the gain. The adjustment may be made by varying the strike, or by maintaining the strike, but varying the payout notionals.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxTargetSettlementPeriodSchedule">
    <xsd:sequence>
      <xsd:element name="settlementPeriod" type="FxTargetSettlementPeriod" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Defines each settlement period in the tabular/matrix representation of the product.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxTargetSettlementPeriod">
    <xsd:complexContent>
      <xsd:extension base="SettlementPeriod">
        <xsd:sequence>
          <xsd:element name="pivot" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Pivot for the settlement period. When pivot is present, at least two payoff elements must be present within the settlement period.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="payoff" type="FxTargetSettlementPeriodPayoff" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Payoff Region within the settlement period to link strike with the relevant payoff components.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="barrier" type="FxSettlementPeriodBarrier" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">The trigger rate of the barrier (Per Expiry or Global Knockout) for the settlement period.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FxTargetPhysicalSettlement">
    <xsd:sequence>
      <xsd:group ref="FxExchangedCurrency.model">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Indicates the direction of physical settlement exchanges.</xsd:documentation>
        </xsd:annotation>
      </xsd:group>
      <xsd:element name="settlementAdjustmentStyle" type="FxSettlementAdjustmentMethodEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The Settlement Adjustment Style can be VariedStrike or VariedNotional.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="StrikeOrStrikeReference.model" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">The strike should be specified if the Settlement Style is VariedNotional.</xsd:documentation>
        </xsd:annotation>
      </xsd:group>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FxTargetReference">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Reference to a target structure.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Reference">
        <xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="FxTarget" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="SettlementPeriod" abstract="true">
    <xsd:sequence>
      <xsd:element name="expiryDate" type="xsd:date">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Expiry date for the settlement period.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="settlementDate" type="xsd:date">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Settlement date for the settlement period.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="notionalAmount" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Notional Amount for the settlement period.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SettlementPeriodFixingDates">
    <xsd:sequence>
      <xsd:choice>
        <xsd:element name="fixingDate" type="xsd:date" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Observation date in a fixing period.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:sequence>
          <xsd:element name="startDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Start date of the period.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="endDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">End date of the period.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:element name="numberOfFixings" type="xsd:integer">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Number of fixings between the fixing start and end date.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SettlementPeriodLeverage">
    <xsd:choice>
      <xsd:element name="ratio" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Leverage expressed as ratio.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:sequence>
        <xsd:element name="notionalAmount" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Leverage notional.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="counterCurrencyAmount" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Leverage counter currency notional.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:choice>
  </xsd:complexType>
<!--
================
    elements    
================
-->
  <xsd:element name="fxTargetKnockoutForward" type="FxTargetKnockoutForward" substitutionGroup="product">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">A structured forward product which consists of a strip of forwards. Each forward may be settled as an exchange of currencies or cash settled. At each settlement, the amount of gain that one party achieves is measured. The product has a target level of gain. Once the accumulated gain exceeds the target level, the product terminates and there are no further settlements.</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
<!--
================
    groups    
================
-->
  <xsd:group name="FxExchangedCurrency.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Indicates the directions of who pays and receives a specific currency without specifying the amount.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="exchangedCurrency1" type="FxExchangedCurrency">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Indicates the first direction of who pays and receives a specific currency without specifying the amount.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="exchangedCurrency2" type="FxExchangedCurrency">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Indicates the second direction of who pays and receives a specific currency without specifying the amount.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="FxTargetConditionLevel.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">Conditions can be expressed in different ways: as a specific level, as strike, pivot, or barrier.</xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="level" type="FxLevel">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Level expressed as a level with optional steps different from strike, pivot, or barrier.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="strikeReference" type="FxStrikeReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Reference to a strike defined within the FX product.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="pivotReference" type="FxPivotReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Reference to the pivot defined within the FX product.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="barrierReference" type="FxComplexBarrierBaseReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Reference to a perExpiryBarrier component to indicate theat the bound of the region is defined by the barrier component.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="levelReference" type="FxLevelReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Reference to a level defined within the FX product.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="FxTargetRegionBound.model">
    <xsd:choice>
      <xsd:element name="upperBound" type="FxTargetRegionUpperBound">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Defines the upper bound of a payoff region.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:sequence>
        <xsd:element name="lowerBound" type="FxTargetRegionLowerBound">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Defines the lower bound of a payoff region.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="upperBound" type="FxTargetRegionUpperBound" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Defines the upper bound of a payoff region.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:choice>
  </xsd:group>
  <xsd:group name="ParametricSchedule.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">The schedule defined by the set of parameters to be able to calculate the schedule of adjusted date. The combination of the [start/endDate + dayType + businessCenters] will be used only to represent a daily schedule and the combination of [start/endDate + observationFrequency + dateAdjustments] for parametric representation of the schedules other than daily schedule.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:choice>
        <xsd:sequence>
          <xsd:element name="startDate" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Start of the schedule.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="endDate" type="xsd:date" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">End of the schedule.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:element name="endDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">End of the schedule.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:choice>
        <xsd:sequence>
          <xsd:element name="observationFrequency" type="ObservationFrequency">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Defines the frequency at which calculation period end dates occur within the period schedule and their roll date convention.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="dateAdjustments" type="BusinessDayAdjustments" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Date adjustments applied to the schedule including the business day convention and the business centers.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:sequence>
          <xsd:element name="dayType" type="DayTypeEnum">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">A day type classification, e.g. Business, Calendar, etc.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:group ref="BusinessCentersOrReference.model" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Business day calender location, or pointer style reference.</xsd:documentation>
            </xsd:annotation>
          </xsd:group>
        </xsd:sequence>
      </xsd:choice>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="StrikeOrStrikeReference.model">
    <xsd:choice>
      <xsd:element name="strike" type="FxStrike">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Strike price of the Target.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="strikeReference" type="FxStrikeReference">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">Reference to an existing strike structure within the FX product.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:group>
</xsd:schema>

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