<!--
== Copyright (c) 2002-2013 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
-->
<!-- Transparency open questions -->
<!-- Commodity delivery dates ??? s/b pricing dates? -->
<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/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: 9661 $" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:include schemaLocation="fpml-option-shared-5-4.xsd" />
<xsd:complexType name="AbsoluteTolerance">
<xsd:annotation>
<xsd:documentation xml:lang="en">The acceptable tolerance in the delivered quantity of a physical commodity product in terms of a number of units of that product.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="positive" type="xsd:decimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The maxmium amount by which the quantity delivered can exceed the agreed quantity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="negative" type="xsd:decimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The maximum amount by which the quantity delivered can be less than the agreed quantity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="unit" type="QuantityUnit" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The unit in which the tolerance is specified.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="optionOwnerPartyReference" type="PartyReference" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates whether the tolerance is at the seller's or buyer's option.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="AveragePriceLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">The average price leg of an average price commodity bullion or non-precious metal forward transaction.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="CommoditySwapLeg">
<xsd:sequence>
<xsd:group ref="PayerReceiver.model"></xsd:group>
<xsd:group ref="CommodityCalculationPeriods.model"></xsd:group>
<xsd:element ref="commodity" minOccurs="0"></xsd:element>
<xsd:element name="quantityReference" type="QuantityReference" minOccurs="0"></xsd:element>
<xsd:element name="pricingStartDate" type="AdjustableDate" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Defines the Start of the Pricing period. PricingStartDate is optional when discrete pricingDates are supplied and is not recommended to be included. Should they coexist, pricingStartDate is expected to be the same as the earliest pricing date or earlier for a Term deal as the discrete dates will take precedence.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="calculation" type="FloatingLegCalculation" minOccurs="0"></xsd:element>
<xsd:group ref="CommodityPaymentDates.model"></xsd:group>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="BullionDeliveryLocation">
<xsd:annotation>
<xsd:documentation xml:lang="en">A scheme defining where bullion is to be delivered for a Bullion Transaction.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="bullionDeliveryLocationScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/bullion-delivery-location" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="BullionPhysicalLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Physically settled leg of a physically settled Bullion Transaction.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="PhysicalForwardLeg">
<xsd:sequence>
<xsd:element name="bullionType" type="BullionTypeEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The type of Bullion underlying a Bullion Transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliveryLocation" type="BullionDeliveryLocation" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical delivery location for the transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="CommodityFixedPhysicalQuantity.model" />
<xsd:element name="settlementDate" type="AdjustableOrRelativeDate" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Date on which the bullion will settle.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CalculationPeriodsDatesReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">A pointer style reference to single-day-duration calculation periods defined elsewhere - note that this schedule consists of a parameterised schedule in a calculationPeriodsSchedule container.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Reference">
<xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="CommodityCalculationPeriodsSchedule" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CalculationPeriodsReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">A pointer style reference to a calculation periods schedule defined elsewhere - note that this schedule consists of a series of actual dates in a calculationPeriods container.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Reference">
<xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="AdjustableDates" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CalculationPeriodsScheduleReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">A pointer style reference to a calculation periods schedule defined elsewhere - note that this schedule consists of a parameterised schedule in a calculationPeriodsSchedule container.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Reference">
<xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="CommodityCalculationPeriodsSchedule" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CoalAttributeDecimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the attributes of a coal quality measure as a decimal value.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:sequence>
<xsd:element name="standardContent" type="xsd:decimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The actual content of the quality characteristics of the Coal Product Shipment expected by the Buyer.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="rejectionLimit" type="xsd:decimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The actual limits of the quality characteristics of the Coal Product above or below which the Buyer may reject a Shipment.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<!--View Generation: Skipped an empty sequence.-->
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="CoalAttributePercentage">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the attributes of a coal quality measure as a percentage of the measured value.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:sequence>
<xsd:element name="standardContent" type="RestrictedPercentage" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The actual content of the quality characteristics of the Coal Product Shipment expected by the Buyer.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="rejectionLimit" type="RestrictedPercentage" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The actual limits of the quality characteristics of the Coal Product above or below which the Buyer may reject a Shipment.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<!--View Generation: Skipped an empty sequence.-->
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="CoalDelivery">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical delivery conditions for coal.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="deliveryPoint" type="CoalDeliveryPoint">
<xsd:annotation>
<xsd:documentation xml:lang="en">The point at which the Coal Product will be delivered and received.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliveryAtSource" type="xsd:boolean">
<xsd:annotation>
<xsd:documentation xml:lang="en">The point at which the Coal Product as a reference to the Source of the Coal Product. This should be a reference to the source element within product.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:group ref="CommodityUSCoalDelivery.model" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Additional delivery details for U.S. Coal transactions.</xsd:documentation>
</xsd:annotation>
</xsd:group>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CoalDeliveryPoint">
<xsd:annotation>
<xsd:documentation xml:lang="en">A scheme identifying the types of the Delivery Point for a physically settled coal trade.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="deliveryPointScheme" type="xsd:anyURI" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CoalPhysicalLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Physically settled leg of a physically settled coal transaction.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="PhysicalSwapLeg">
<xsd:sequence>
<xsd:element name="deliveryPeriods" type="CommodityDeliveryPeriods" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The period during which delivery/deliveries of Coal Products may be scheduled. Equivalent to Nomination Period(s) for US Coal.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="coal" type="CoalProduct" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specification of the Coal Product to be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliveryConditions" type="CoalDelivery" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical delivery conditions for the transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliveryQuantity" type="CommodityPhysicalQuantity" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the quantity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CoalProduct">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type defining the characteristics of the coal being traded in a physically settled gas transaction.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="type" type="CoalProductType">
<xsd:annotation>
<xsd:documentation xml:lang="en">The type of coal product to be delivered by reference to a pre-defined specification. For contracts under SCoTA terms this is the quality specification code (e.g. "DES ARA")</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="coalProductSpecifications" type="CoalProductSpecifications">
<xsd:annotation>
<xsd:documentation xml:lang="en">The type of coal product to be delivered specified in full.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="source" type="CoalProductSource" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The SCoTA cargo origin, mining region, mine(s), mining complex(es), loadout(s) or river dock(s) or other point(s) of origin that Seller and Buyer agree are acceptable origins for the Coal Product. For International Coal transactions, this is the Origin of the Coal Product.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="sCoTASpecifications" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates whether type and source refer to globalCOAL SCoTA specifications.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="CommodityUSCoalProduct.model" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Additional product details for U.S. Coal transactions.</xsd:documentation>
</xsd:annotation>
</xsd:group>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CoalProductSource">
<xsd:annotation>
<xsd:documentation xml:lang="en">A scheme identifying the sources of coal for a physically settled coal trade.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityCoalProductSourceScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-coal-product-source" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CoalProductSpecifications">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the quality attributes of the coal to be delivered.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="standardQuality" type="CoalStandardQuality" />
<xsd:element name="standardQualitySchedule" type="CoalStandardQualitySchedule" />
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="CoalProductType">
<xsd:annotation>
<xsd:documentation xml:lang="en">A scheme identifying the types of coal for a physically settled coal trade.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityCoalProductTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-coal-product-type" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CoalQualityAdjustments">
<xsd:annotation>
<xsd:documentation xml:lang="en">A scheme identifying the quality adjustment formulae for a physically settled coal trade.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityCoalQualityAdjustmentsScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-coal-quality-adjustments" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CoalStandardQuality">
<xsd:annotation>
<xsd:documentation xml:lang="en">The quality attributes of the coal to be delivered.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="CommodityCoalComposition.model" />
<xsd:group ref="CommodityCoalProperties.model" />
<xsd:group ref="CommodityCoalReducingAtmosphere.model" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CoalStandardQualitySchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">The quality attributes of the coal to be delivered, specified on a periodic basis.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="StandardQualityStep" type="CoalStandardQuality" maxOccurs="unbounded" minOccurs="0" />
<xsd:group ref="CommodityDeliveryPeriodsPointer.model"></xsd:group>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CoalTransportationEquipment">
<xsd:annotation>
<xsd:documentation xml:lang="en">A scheme identifying the methods by which coal may be transported.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityCoalTransportationEquipmentScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-coal-transportation-equipment" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityAmericanExercise">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type for defining exercise procedures associated with an American style exercise of a commodity option.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Exercise">
<xsd:sequence>
<!--View Generation: SKIPPED exercisePeriod - Technical-->
<xsd:sequence minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Option Strip</xsd:documentation>
</xsd:annotation>
<xsd:element name="exercisePeriod" type="CommodityExercisePeriods" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Describes the American exercise periods.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="exerciseFrequency" type="Frequency" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The exercise frequency for the strip.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Choice between latest exercise time expressed as literal time, or using a determination method.</xsd:documentation>
</xsd:annotation>
<xsd:element name="latestExerciseTime" type="BusinessCenterTime">
<xsd:annotation>
<xsd:documentation xml:lang="en">For a Bermuda or American style option, the latest time on an exercise business day (excluding the expiration date) within the exercise period that notice can be given by the buyer to the seller or seller's agent. Notice of exercise given after this time will be deemed to have been given on the next exercise business day.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="latestExerciseTimeDetermination" type="DeterminationMethod">
<xsd:annotation>
<xsd:documentation xml:lang="en">Latest exercise time determination method.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="expirationTime" type="BusinessCenterTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specific time of day on which the option expires.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="multipleExercise" type="CommodityMultipleExercise" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The presence of this element indicates that the option may be partially exercised. It is not applicable to European or Asian options.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CommodityCalculationPeriodsSchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">A parametric representation of the Calculation Periods for on Asian option or a leg of a swap. In case the calculation frequency is of value T (term), the period is defined by the commoditySwap\effectiveDate and the commoditySwap\terminationDate.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Frequency">
<xsd:sequence>
<xsd:element name="balanceOfFirstPeriod" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">If true, indicates that that the first Calculation Period should run from the Effective Date to the end of the calendar period in which the Effective Date falls, e.g. Jan 15 - Jan 31 if the calculation periods are one month long and Effective Date is Jan 15. If false, the first Calculation Period should run from the Effective Date for one whole period, e.g. Jan 15 to Feb 14 if the calculation periods are one month long and Effective Date is Jan 15.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CommodityDeliveryPeriods">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the Delivery Periods of a physical leg.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="periods" type="AdjustableDates">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Delivery Periods for this leg of the swap. This type is only intended to be used if the Delivery Periods differ from the Calculation Periods on the fixed or floating leg. If DeliveryPeriods mirror another leg, then the calculationPeriodsReference element should be used to point to the Calculation Periods on that leg - or the calculationPeriodsScheduleReference can be used to point to the Calculation Periods Schedule for that leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="periodsSchedule" type="CommodityCalculationPeriodsSchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Delivery Periods for this leg of the swap. This type is only intended to be used if the Delivery Periods differ from the Calculation Periods on the fixed or floating leg. If DeliveryPeriods mirror another leg, then the calculationPeriodsReference element should be used to point to the Calculation Periods on that leg - or the calculationPeriodsScheduleReference can be used to point to the Calculation Periods Schedule for that leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="CommodityCalculationPeriodsPointer.model" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Enables users to reference a Calculation Periods schedule in the form of a series of actual dates in a calculationPeriods container or in the form of a parameterised schedule in a calculationPeriodsSchedule container.</xsd:documentation>
</xsd:annotation>
</xsd:group>
</xsd:choice>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<xsd:complexType name="CommodityDeliveryPoint">
<xsd:annotation>
<xsd:documentation xml:lang="en">A scheme identifying the types of the Delivery Point for a physically settled commodity trade.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="deliveryPointScheme" type="xsd:anyURI" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityDeliveryRisk">
<xsd:annotation>
<xsd:documentation xml:lang="en">A scheme identifying how the parties to the trade aportion responsibility for the delivery of the commodity product (for example Free On Board, Cost, Insurance, Freight)</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="deliveryRiskScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-delivery-risk" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityEuropeanExercise">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type for defining exercise procedures associated with a European style exercise of a commodity option.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Exercise">
<xsd:sequence>
<!--View Generation: SKIPPED expirationDate - Technical-->
<xsd:sequence minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Option Strip</xsd:documentation>
</xsd:annotation>
<xsd:element name="expirationDate" type="AdjustableOrRelativeDate" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The last day within an exercise period for an American style option. For a European style option it is the only day within the exercise period. For an averaging option this is equivalent to the Termination Date.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="exerciseFrequency" type="Frequency" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The exercise frequency for the strip.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:element name="expirationTime" type="BusinessCenterTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specific time of day on which the option expires.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CommodityExercise">
<xsd:annotation>
<xsd:documentation xml:lang="en">The parameters for defining how the commodity option can be exercised, how it is priced and how it is settled.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="americanExercise" type="CommodityAmericanExercise">
<xsd:annotation>
<xsd:documentation xml:lang="en">The parameters for defining the exercise period for an American style option together with the rules governing the quantity of the commodity that can be exercised on any given exercise date.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="europeanExercise" type="CommodityEuropeanExercise">
<xsd:annotation>
<xsd:documentation xml:lang="en">The parameters for defining the expiration date and time for a European or Asian style option. For an Asian style option the expiration date is equivalent to the termination date.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="automaticExercise" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies whether or not Automatic Exercise applies to a Commodity Option Transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="writtenConfirmation" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies whether or not Written Confirmation applies to a Commodity Option Transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="settlementCurrency" type="IdentifiedCurrency" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The currency into which the Commodity Option Transaction will settle. If this is not the same as the currency in which the Commodity Reference Price is quoted, then an FX determination method should also be specified.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="fx" type="CommodityFx" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">FX observations to be used to convert the observed Commodity Reference Price to the Settlement Currency.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="conversionFactor" type="xsd:decimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">If the Notional Quantity is specified in a unit that does not match the unit in which the Commodity Reference Price is quoted, the scaling or conversion factor used to convert the Commodity Reference Price unit into the Notional Quantity unit should be stated here. If there is no conversion, this element is not intended to be used.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!--View Generation: SKIPPED - NonStandardFeature-->
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CommodityExercisePeriods">
<xsd:sequence>
<xsd:element name="commencementDate" type="AdjustableOrRelativeDate" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The first day of the exercise period for an American style option.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="expirationDate" type="AdjustableOrRelativeDate" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The last day within an exercise period for an American style option. For a European style option it is the only day within the exercise period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CommodityExpireRelativeToEvent">
<xsd:annotation>
<xsd:documentation xml:lang="en">A scheme identifying the physical event relative to which option expiration occurs.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityExpireRelativeToEventScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-expire-relative-to-event" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityFixedPriceSchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Fixed Price for a given Calculation Period during the life of the trade. There must be a Fixed Price step specified for each Calculation Period, regardless of whether the Fixed Price changes or remains the same between periods.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="fixedPriceStep" type="FixedPrice" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Fixed Price for a given Calculation Period during the life of the trade. There must be a Fixed Price step specified for each Calculation Period, regardless of whether the Fixed Price changes or remains the same between periods.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="worldscaleRateStep" type="xsd:decimal" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">For a Wet Voyager Charter Freight Swap, the number of Worldscale Points for purposes of the calculation of a Fixed Amount for a given Calculation Period during the life of the trade. There must be Worldscale Rate Step specified for each Calculation Period, regardless of whether the Worldscale Rate Step changes or remains the same between periods.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="contractRateStep" type="NonNegativeMoney" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">For a DRY Voyage Charter or Time Charter Freight Swap, the price per relevant unit for pruposes of the calculation of a Fixed Amount for a given Calculation Period during the life of the trade. There must be Worldscale Rate Step specified for each Calculation Period, regardless of whether the Worldscale Rate Step changes or remains the same between periods.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="settlementPeriodsPriceSchedule" type="CommoditySettlementPeriodsPriceSchedule" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">For an electricity transaction, the fixed price schedule for one or more groups of Settlement Periods on which fixed payments are based. if the schedule differs for different groups of Settlement Periods, this element should be repeated.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:group ref="CommodityCalculationPeriodsPointer.model" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Enables users to reference a Calculation Periods schedule in the form of a series of actual dates in a calculationPeriods container or in the form of a parameterised schedule in a calculationPeriodsSchedule container.</xsd:documentation>
</xsd:annotation>
</xsd:group>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CommodityForward">
<xsd:annotation>
<xsd:documentation xml:lang="en">Commodity Forward</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Product">
<xsd:sequence>
<xsd:element name="valueDate" type="AdjustableOrRelativeDate" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies the value date of the Commodity Forward Transaction. This is the day on which both the cash and the physical commodity settle.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice minOccurs="0">
<xsd:element name="fixedLeg" type="NonPeriodicFixedPriceLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">The fixed leg of a Commodity Forward Transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="averagePriceLeg" type="AveragePriceLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">The calculated floating price leg of a Commodity Forward Transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element ref="commodityForwardLeg" minOccurs="0"></xsd:element>
<xsd:group ref="CommodityContent.model" minOccurs="0"></xsd:group>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CommodityForwardLeg" abstract="true">
<xsd:annotation>
<xsd:documentation xml:lang="en">Abstract base class for all commodity forward legs</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Leg" />
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CommodityFrequencyType">
<xsd:annotation>
<xsd:documentation xml:lang="en">Frequency Type for use in Pricing Date specifications.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityFrequencyTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-frequency-type" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityFx">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type defining the FX observations to be used to convert the observed Commodity Reference Price to the Settlement Currency. The rate source must be specified. Additionally, a time for the spot price to be observed on that source may be specified, or else an averaging schedule for trades priced using an average FX rate.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="primaryRateSource" type="InformationSource" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The primary source for where the rate observation will occur. Will typically be either a page or a reference bank published rate.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="secondaryRateSource" type="InformationSource" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">An alternative, or secondary, source for where the rate observation will occur. Will typically be either a page or a reference bank published rate.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="fxType" type="CommodityFxType" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type to identify how the FX rate will be applied. This is intended to differentiate between the various methods for applying FX to the floating price such as a daily calculation, or averaging the FX and applying the average at the end of each CalculationPeriod.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="averagingMethod" type="AveragingMethodEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The parties may specify a Method of Averaging when averaging of the FX rate is applicable.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!--View Generation: Removed a degenerate choice.-->
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="fxObservationDates" type="AdjustableDates" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">A list of the fx observation dates for a given Calculation Period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:sequence>
<xsd:sequence minOccurs="0">
<xsd:group ref="PricingDays.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">The parties may specify the rules for FX observation when averaging of the FX rate is applicable.</xsd:documentation>
</xsd:annotation>
</xsd:group>
<xsd:group ref="LagOrReference.model" minOccurs="0" />
</xsd:sequence>
<xsd:group ref="CommodityCalculationPeriodsPointer.model" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Enables users to reference a Calculation Periods schedule in the form of a series of actual dates in a calculationPeriods container or in the form of a parameterised schedule in a calculationPeriodsSchedule container.</xsd:documentation>
</xsd:annotation>
</xsd:group>
</xsd:sequence>
</xsd:choice>
<xsd:element name="fixingTime" type="BusinessCenterTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The time at which the spot currency exchange rate will be observed. It is specified as a time in a specific business center, e.g. 11:00am London time.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CommodityFxType">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identifes how the FX rate will be applied. This is intended to differentiate between the various methods for applying FX to the floating price such as a daily calculation, or averaging the FX and applying the average at the end of each CalculationPeriod.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityFxTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-fx-type" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityHub">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type defining a hub or other reference for a physically settled commodity trade.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="PartyAndAccountReferences.model" />
<xsd:element name="hubCode" type="CommodityHubCode" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CommodityHubCode">
<xsd:annotation>
<xsd:documentation xml:lang="en">A scheme identifying the code for a hub or other reference for a physically settled commodity trade.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="hubCodeScheme" type="xsd:anyURI" use="required" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityMarketDisruption">
<xsd:annotation>
<xsd:documentation xml:lang="en">ISDA 1993 or 2005 commodity market disruption elements.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:sequence>
<xsd:element name="marketDisruptionEvents" type="MarketDisruptionEventsEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">If Market disruption Events are stated to be Applicable then the default Market Disruption Events of Section 7.4(d)(i) of the ISDA Commodity Definitions shall apply unless specific Market Disruption Events are stated hereunder, in which case these shall override the ISDA defaults. If Market Disruption Events are stated to be Not Applicable, Market Disruption Events are not applicable to the trade at all. It is also possible to reference the Market Disruption Events set out in the relevant Master Agreement governing the trade.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="additionalMarketDisruptionEvent" type="MarketDisruptionEvent" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">To be used when marketDisruptionEvents is set to "Applicable" and additional market disruption events(s) apply to the default market disruption events of Section 7.4(d)(i) of the ISDA Commodity Definitions.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:element name="marketDisruptionEvent" type="MarketDisruptionEvent" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Market disruption event(s) that apply. Note that these should only be specified if the default market disruption events of Section 7.4(d)(i) of the ISDA Commodity Definitions are to be overridden.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:choice minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">If omitted then the standard disruption fallbacks of Section 7.5(d)(i) of the ISDA Commodity Definitions shall apply.</xsd:documentation>
</xsd:annotation>
<xsd:element name="disruptionFallbacks" type="DisruptionFallbacksEnum">
<xsd:annotation>
<xsd:documentation xml:lang="en">To be used where disruption fallbacks are set out in the relevant Master Agreement governing the trade.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="disruptionFallback" type="SequencedDisruptionFallback" maxOccurs="unbounded" />
</xsd:choice>
<xsd:element name="fallbackReferencePrice" type="Underlyer" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">A fallback commodity reference price for use when relying on Disruption Fallbacks in Section 7.5(d)(i) of the ISDA Commodity Definitions or have selected "Fallback Reference Price" as a disruptionFallback.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="maximumNumberOfDaysOfDisruption" type="xsd:nonNegativeInteger" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">2005 Commodity Definitions only. If omitted , the number of days specified in Section 7.6(a) of the Definitions will apply.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="priceMaterialityPercentage" type="xsd:decimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">2005 Commodity Definitions only. To be used where a price materiality percentage applies to the "Price Source Disruption" event and this event has been specified by setting marketDisruption to true or including it in additionalMarketDisruptionEvent</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="minimumFuturesContracts" type="xsd:positiveInteger" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">1993 Commodity Definitions only. Specifies the Mimum Futures Contracts level that dictates whether or not a "De Minimis Trading" event has occurred. Only relevant if 'De Minimis Trading' has been specified in marketDisruptionEvent or additionalMarketDisruptionEvent.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CommodityMetalBrand">
<xsd:sequence>
<xsd:element name="name" type="CommodityMetalBrandName" minOccurs="0" />
<xsd:element name="brandManager" type="CommodityMetalBrandManager" minOccurs="0" />
<xsd:element name="country" type="CountryCode" minOccurs="0" />
<xsd:element name="producer" type="CommodityMetalProducer" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CommodityMetalBrandManager">
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityMetalBrandManagerScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-metal-brand-manager" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityMetalBrandName">
<xsd:annotation>
<xsd:documentation xml:lang="en">The name of the entity that issues the brand</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityMetalBrandNameScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-metal-brand-name" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityMetalGrade">
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityMetalGradeScheme" type="xsd:anyURI" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityMetalProducer">
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityMetalProducerScheme" type="xsd:anyURI" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityMetalShape">
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityMetalShapeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-metal-shape" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityMultipleExercise">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type for defining the multiple exercise provisions of an American style commodity option.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="integralMultipleQuantity" type="CommodityNotionalQuantity" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The integral multiple quantity defines a lower limit of the Notional Quantity that can be exercised and also defines a unit multiple of the Notional Quantity that can be exercised, i.e. only integer multiples of this Notional Quantity can be exercised.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="minimumNotionalQuantity" type="CommodityNotionalQuantity" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The minimum Notional Quantity that can be exercised on a given Exercise Date. See multipleExercise.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CommodityNotionalQuantity">
<xsd:annotation>
<xsd:documentation xml:lang="en">Commodity Notional.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="quantityUnit" type="QuantityUnit" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Quantity Unit is the unit of measure applicable for the quantity on the Transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="quantityFrequency" type="CommodityQuantityFrequency" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The frequency at which the Notional Quantity is deemed to apply for purposes of calculating the Total Notional Quantity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="quantity" type="xsd:decimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Amount of commodity per quantity frequency.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<xsd:complexType name="CommodityNotionalQuantitySchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Notional Quantity per Calculation Period. There must be a Notional Quantity step specified for each Calculation Period, regardless of whether the Notional Quantity changes or remains the same between periods.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="notionalStep" type="CommodityNotionalQuantity" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Notional Quantity per Calculation Period. There must be a Notional Quantity specified for each Calculation Period, regardless of whether the quantity changes or remains the same between periods.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="settlementPeriodsNotionalQuantitySchedule" type="CommoditySettlementPeriodsNotionalQuantitySchedule" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">For an electricity transaction, the Notional Quantity schedule for a one or more groups of Settlement Periods to which the Notional Quantity is based. If the schedule differs for different groups of Settlement Periods, this element should be repeated.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:group ref="CommodityCalculationPeriodsPointer.model" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Enables users to reference a Calculation Periods schedule in the form of a series of actual dates in a calculationPeriods container or in the form of a parameterised schedule in a calculationPeriodsSchedule container.</xsd:documentation>
</xsd:annotation>
</xsd:group>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<xsd:complexType name="CommodityOption">
<xsd:annotation>
<xsd:documentation xml:lang="en">Commodity Option.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Product">
<xsd:sequence>
<xsd:group ref="BuyerSeller.model"></xsd:group>
<xsd:element name="optionType" type="PutCallEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The type of option transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice minOccurs="0">
<xsd:group ref="CommodityFinancialOption.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Items specific to financially-settled commodity options.</xsd:documentation>
</xsd:annotation>
</xsd:group>
<xsd:group ref="CommodityPhysicalOption.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Items specific to physically-settled commodity options.</xsd:documentation>
</xsd:annotation>
</xsd:group>
<xsd:group ref="CommodityWeatherOption.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Described Weather Index Option component. Weather Index Option transactions are OTC derivative transactions which settle financially based on an index calculated from observations of temperature and precipitation at weather stations throughout the world. Sub-Annex C of the 2005 ISDA Commodity Definitions provides definitions and terms for a number of types of weather indices. These indices include: HDD (heating degree days), CDD (cooling degree days), CPD (critical precipitation days). Weather Index Option Transactions results in a cash flow to the buyer depending on the relationship between the Settlement Level to the Weather Index Strike Level.</xsd:documentation>
</xsd:annotation>
</xsd:group>
</xsd:choice>
<xsd:element name="premium" type="CommodityPremium" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The option premium payable by the buyer to the seller.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="CommodityContent.model" minOccurs="0"></xsd:group>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CommodityPayRelativeToEvent">
<xsd:annotation>
<xsd:documentation xml:lang="en">A scheme identifying the physical event relative to which payment occurs.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityPayRelativeToEventScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-pay-relative-to-event" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityPhysicalAmericanExercise">
<xsd:annotation>
<xsd:documentation xml:lang="en">The parameters for defining the expiration date(s) and time(s) for an American style option.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Exercise">
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:sequence>
<xsd:element name="commencementDates" type="AdjustableOrRelativeDates" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The first day(s) of the exercise period(s) for an American-style option.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="expirationDates" type="AdjustableOrRelativeDates" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Expiration Date(s) of an American-style option.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:sequence>
<xsd:element name="relativeCommencementDates" type="CommodityRelativeExpirationDates" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The first day(s) of the exercise period(s) for an American-style option where it is relative to the occurrence of an external event.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="relativeExpirationDates" type="CommodityRelativeExpirationDates" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Expiration Date(s) of an American-style option where it is relative to the occurrence of an external event.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:choice>
<xsd:element name="latestExerciseTime" type="PrevailingTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">For a Bermuda or American style option, the latest time on an exercise business day (excluding the expiration date) within the exercise period that notice can be given by the buyer to the seller or seller's agent. Notice of exercise given after this time will be deemed to have been given on the next exercise business day.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="expirationTime" type="PrevailingTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specific time of day at which the option expires.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CommodityPhysicalEuropeanExercise">
<xsd:annotation>
<xsd:documentation xml:lang="en">The parameters for defining the expiration date(s) and time(s) for a European style option.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Exercise">
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="expirationDate" type="AdjustableOrRelativeDate">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Expiration Date of a single expiry European-style option or the first Expiration Date of a multiple expiry or daily expiring option.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="expirationDates" type="AdjustableRelativeOrPeriodicDates2">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Expiration Date(s) of a European-style option.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="relativeExpirationDates" type="CommodityRelativeExpirationDates">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Expiration Date(s) of a European-style option where it is relative to the occurrence of an external event.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="expirationTime" type="PrevailingTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specific time of day at which the option expires.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CommodityPhysicalExercise">
<xsd:annotation>
<xsd:documentation xml:lang="en">The parameters for defining how the physically-settled commodity option can be exercised and how it is settled.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="americanExercise" type="CommodityPhysicalAmericanExercise">
<xsd:annotation>
<xsd:documentation xml:lang="en">The parameters for defining the expiration date(s) and time(s) for an American style option.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="europeanExercise" type="CommodityPhysicalEuropeanExercise">
<xsd:annotation>
<xsd:documentation xml:lang="en">The parameters for defining the expiration date(s) and time(s) for a European style option.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="automaticExercise" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies whether or not Automatic Exercise applies to a Commodity Option Transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="writtenConfirmation" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies whether or not Written Confirmation applies to a Commodity Option Transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CommodityPhysicalQuantity">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type defining the physical quantity of the commodity to be delivered.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="CommodityPhysicalQuantityBase">
<xsd:sequence>
<xsd:group ref="CommodityFixedPhysicalQuantity.model" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CommodityPhysicalQuantityBase" abstract="true">
<xsd:annotation>
<xsd:documentation xml:lang="en">An abstract base class for physical quantity types.</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<xsd:complexType name="CommodityPhysicalQuantitySchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Quantity per Delivery Period. There must be a Quantity step specified for each Delivery Period, regardless of whether the Quantity changes or remains the same between periods.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="quantityStep" type="CommodityNotionalQuantity" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The quantity per Calculation Period. There must be a quantity specified for each Calculation Period, regardless of whether the quantity changes or remains the same between periods.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="CommodityDeliveryPeriodsPointer.model" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<xsd:complexType name="CommodityPipeline">
<xsd:annotation>
<xsd:documentation xml:lang="en">The pipeline through which the physical commodity will be delivered.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="pipelineScheme" type="xsd:anyURI" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityPipelineCycle">
<xsd:annotation>
<xsd:documentation xml:lang="en">The pipeline cycle during which the physical commodity will be delivered.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="pipelineCycleScheme" type="xsd:anyURI" use="required" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityPremium">
<xsd:annotation>
<xsd:documentation xml:lang="en">The commodity option premium payable by the buyer to the seller.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="NonNegativePayment">
<xsd:sequence>
<xsd:element name="premiumPerUnit" type="NonNegativeMoney" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The currency amount of premium to be paid per Unit of the Total Notional Quantity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CommodityPricingDates">
<xsd:annotation>
<xsd:documentation xml:lang="en">The dates on which prices are observed for the underlyer.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="CommodityCalculationPeriodsPointer.model" minOccurs="0"></xsd:group>
<xsd:choice minOccurs="0">
<xsd:sequence>
<xsd:element name="lag" type="Lag" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The pricing period per calculation period if the pricing days do not wholly fall within the respective calculation period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice minOccurs="0">
<xsd:sequence>
<xsd:group ref="PricingDays.model"></xsd:group>
<xsd:element name="businessCalendar" type="CommodityBusinessCalendar" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Identifies a commodity business day calendar from which the pricing dates will be generated.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="calendarSource" type="CalendarSourceEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Used in conjunction with an exchange based pricing source. Identifies a date source calendar from which the pricing dates and thus roll to the next contract will be based off (e.g. pricing is based on the NYMEX WTI First Nearby Futures Contract, if “Future” is chosen, the pricing will roll to the next futures contract on expiration, if “ListedOption” is chosen, the pricing will roll to the next futures contract on the Option expiration date which is three business days before the expiration of the NYMEX WTI futures contract.) Omitting this element will result in the default behavior expected with the pricing source described within the commodity element.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:element name="settlementPeriods" type="SettlementPeriods" maxOccurs="unbounded"></xsd:element>
<xsd:element name="settlementPeriodsReference" type="SettlementPeriodsReference" maxOccurs="unbounded"></xsd:element>
</xsd:choice>
</xsd:sequence>
<xsd:element name="pricingDates" type="AdjustableDates" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">A list of adjustable dates on which the trade would price. Each date will price for the Calculation Period within which it falls.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<xsd:complexType name="CommodityProductGrade">
<xsd:annotation>
<xsd:documentation xml:lang="en">A scheme identifying the grade of physical commodity product to be delivered.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="productGradeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-oil-product-grade" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityQuantityFrequency">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type for defining the frequency at which the Notional Quantity is deemed to apply for purposes of calculating the Total Notional Quantity.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="quantityFrequencyScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-quantity-frequency" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CommodityRelativeExpirationDates">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Expiration Dates of the trade relative to the Calculation Periods.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="expireRelativeToEvent" type="CommodityExpireRelativeToEvent" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies whether the payment(s) occur relative to the date of a physical event.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="expirationDateOffset" type="DateOffset" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies any offset from the adjusted Calculation Period start date or adjusted Calculation Period end date applicable to each Payment Date.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="BusinessCentersOrReference.model" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<xsd:complexType name="CommodityRelativePaymentDates">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Payment Dates of the trade relative to the Calculation Periods.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="payRelativeTo" type="CommodityPayRelativeToEnum">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies whether the payment(s) occur relative to a date such as the end of each Calculation Period or the last Pricing Date in each Calculation Period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="payRelativeToEvent" type="CommodityPayRelativeToEvent">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies whether the payment(s) occur relative to the date of a physical event.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:group ref="CommodityCalculationPeriodsPointer.model" minOccurs="0"></xsd:group>
<xsd:element name="paymentDaysOffset" type="DateOffset" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies any offset from the adjusted Calculation Period start date, adjusted Calculation Period end date or Calculation Date applicable to each Payment Date.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="BusinessCentersOrReference.model" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<xsd:complexType name="CommoditySettlementPeriodsNotionalQuantity">
<xsd:annotation>
<xsd:documentation xml:lang="en">The notional quantity of electricity that applies to one or more groups of Settlement Periods.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="CommodityNotionalQuantity">
<xsd:sequence>
<xsd:element name="settlementPeriodsReference" type="SettlementPeriodsReference" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The range(s) of Settlement Periods to which the Notional Quantity applies.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CommoditySettlementPeriodsNotionalQuantitySchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">The notional quantity schedule of electricity that applies to one or more groups of Settlement Periods.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="settlementPeriodsNotionalQuantityStep" type="CommodityNotionalQuantity" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">For an electricity transaction, the Notional Quantity for a given Calculation Period during the life of the trade which applies to the range(s) of Settlement Periods referenced by settlementPeriodsReference. There must be a settlementPeriodsNotionalQuantityStep specified for each Calculation Period, regardless of whether the NotionalQuantity changes or remains the same between periods.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="settlementPeriodsReference" type="SettlementPeriodsReference" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The range(s) of Settlement Periods to which the Fixed Price steps apply.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CommoditySettlementPeriodsPriceSchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">The fixed price schedule for electricity that applies to one or more groups of Settlement Periods.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="settlementPeriodsPriceStep" type="FixedPrice" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">For an electricity transaction, the Fixed Price for a given Calculation Period during the life of the trade which applies to the range(s) of Settlement Periods referenced by settlementPeriods Reference. There must be a Fixed Price step specified for each Calculation Period, regardless of whether the Fixed Price changes or remains the same between periods.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="settlementPeriodsReference" type="SettlementPeriodsReference" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The range(s) of Settlement Periods to which the Fixed Price steps apply.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CommoditySpread">
<xsd:complexContent>
<xsd:extension base="Money">
<xsd:sequence>
<xsd:element name="spreadConversionFactor" type="xsd:decimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">spreadConversionFactor should be used when the unit of measure of the Commodity Reference Price and the unit of measure in which the spread is quoted are different. The value of spreadConversionFactor is the number of units of measure in which the spread is quoted per unit of measure of the Commodity Reference Price.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="spreadUnit" type="QuantityUnit" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">spreadUnit should be used when the unit of measure of the Commodity Reference Price and the unit of measure in which the spread is quoted are different. The value of spreadUnit is the unit of measure in which the spread is quoted.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CommoditySpreadSchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Spread per Calculation Period. There must be a Spread specified for each Calculation Period, regardless of whether the Spread changes or remains the same between periods.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="spreadStep" type="CommoditySpread" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The spread per Calculation Period. There must be a spread step specified for each Calculation Period, regardless of whether the spread changes or remains the same between periods.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="CommodityCalculationPeriodsPointer.model" minOccurs="0"></xsd:group>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CommodityStrikeSchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Strike Price per Unit per Calculation Period. There must be a Strike Price per Unit step specified for each Calculation Period, regardless of whether the Strike changes or remains the same between periods.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="strikePricePerUnitStep" type="NonNegativeMoney" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The strike price per unit per Calculation Period. There must be a strike price per unit specified for each Calculation Period, regardless of whether the price changes or remains the same between periods.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="CommodityCalculationPeriodsPointer.model" minOccurs="0"></xsd:group>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CommoditySwap">
<xsd:annotation>
<xsd:documentation xml:lang="en">Commodity Swap.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Product">
<xsd:sequence>
<xsd:group ref="CommoditySwapDetails.model" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CommoditySwapLeg" abstract="true">
<xsd:annotation>
<xsd:documentation xml:lang="en">Abstract base class for all commodity swap legs</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Leg" />
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CommoditySwaption">
<xsd:annotation>
<xsd:documentation xml:lang="en">Commodity Swaption.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Product">
<xsd:sequence>
<xsd:group ref="BuyerSeller.model"></xsd:group>
<xsd:element name="optionType" type="PutCallEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The type of option transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="commoditySwap" type="CommoditySwaptionUnderlying" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The underlying commodity swap definiton.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="physicalExercise" type="CommodityPhysicalExercise" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The parameters for defining how the commodity option can be exercised into a physical transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="premium" type="CommodityPremium" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The option premium payable by the buyer to the seller.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="CommodityContent.model" minOccurs="0"></xsd:group>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CommoditySwaptionUnderlying">
<xsd:sequence>
<xsd:group ref="CommoditySwapDetails.model"></xsd:group>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="DataProvider">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specify as applicable. Parties may wish to refer to the state meteorological authority in a particular location or to an exchange or other third party data provider. Parties may find the definitions in the Commodity Definitions useful as a means of identifying potential Data Providers.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="weatherDataProviderScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/weather-data-provider" />
<xsd:attribute name="id" type="xsd:ID" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="DisruptionFallback">
<xsd:annotation>
<xsd:documentation xml:lang="en">A Disruption Fallback.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityMarketDisruptionFallbackScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-market-disruption-fallback" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="EEPParameters">
<xsd:annotation>
<xsd:documentation xml:lang="en">Excess Emission Penalty related parameters.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="eEPApplicable" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">If Excess Emission Penalty is specified to be applicable in the Confirmation then the Excess Emission Penalty will be determined in the manner specified in the Confirmation (see other EEP paramters)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="riskPeriod" type="EEPRiskPeriod" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Used to determine how provisions in Part [7] Page 7 (B) Failure to Deliver Not Remedied are to be applied.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="equivalentApplicable" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">When "true" the EEP Equivalent is applicable. See Part [7] definition of EEP Equivalent.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="penaltyApplicable" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">When "true" the Excess Emissions Penalty is applicable. See Part [7] definition of Excess Emissions Penalty.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="EEPRiskPeriod">
<xsd:annotation>
<xsd:documentation xml:lang="en">TBD.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="startDate" type="xsd:date" minOccurs="0" />
<xsd:element name="endDate" type="xsd:date" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ElectricityDelivery">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical delivery conditions for electricity.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:sequence>
<xsd:element name="deliveryPoint" type="ElectricityDeliveryPoint" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The point at which delivery of the electricity will occur.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliveryType" type="ElectricityDeliveryType" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates the under what conditions the Parties' delivery obligations apply.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="transmissionContingency" type="ElectricityTransmissionContingency" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates that the performance of the buyer or seller shall be excused (under the conditions specified) if transmission of the elctricity is unavailable or interrupted.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:sequence>
<xsd:annotation>
<xsd:documentation xml:lang="en">For EEI transactions, indicates that this transaction is for an "into" product.</xsd:documentation>
</xsd:annotation>
<xsd:element name="deliveryZone" type="CommodityDeliveryPoint" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The zone covering potential delivery points for the electricity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="electingPartyReference" type="PartyReference" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates the party able to decide which delivery point within the deliveryPoint is used for delivery. For EEI transactions, this should reference the seller of the electricity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="ElectricityDeliveryFirm">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical delivery obligation options specific to a firm transaction.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="forceMajeure" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">If true, indicates that the buyer and seller should be excused of their delivery obligations when such performance is prevented by Force Majeure. For EEI transactions, this would indicate "Firm (LD)" If false, indicates that the buyer and seller should not be excused of their delivery obligations when such performance is prevented by Force Majeure. For EEI transactions, this would indicate "Firm (No Force Majeure)"</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ElectricityDeliveryPeriods">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the Delivery Periods for a physically settled electricity trade.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="CommodityDeliveryPeriods">
<xsd:sequence>
<xsd:element name="settlementPeriods" type="SettlementPeriods" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">The periods within the Delivery Periods during which the electricity will be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ElectricityDeliveryPoint">
<xsd:annotation>
<xsd:documentation xml:lang="en">A scheme identifying the types of the Delivery Point for a physically settled electricity trade.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="deliveryPointScheme" type="xsd:anyURI" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="ElectricityDeliverySystemFirm">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical delivery obligation options specific to a system firm transaction.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="applicable" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates that the trade is for a System Firm product. Should always be set to "true".</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="system" type="CommodityDeliveryPoint" minOccurs="0"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ElectricityDeliveryType">
<xsd:choice>
<xsd:element name="firm" type="ElectricityDeliveryFirm">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates under what condtitions the Parties' delivery obligations apply.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="nonFirm" type="xsd:boolean">
<xsd:annotation>
<xsd:documentation xml:lang="en">If present and set to true, indicates that delivery or receipt of the electricity may be interrupted for any reason or for no reason, without liability on the part of either Party. This element should never have a value of false.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="systemFirm" type="ElectricityDeliverySystemFirm">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates that the electricity is intended to be supplied from the owned or controlled generation or pre-existing purchased power assets of the system specified.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="unitFirm" type="ElectricityDeliveryUnitFirm">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates that the electricity is intended to be supplied from a generation asset which can optionally be specified.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="ElectricityDeliveryUnitFirm">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical delivery obligation options specific to a unit firm transaction.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="applicable" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates that the trade is for a Unit Firm product. Should always be set to "true".</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="generationAsset" type="CommodityDeliveryPoint" minOccurs="0"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ElectricityPhysicalDeliveryQuantity">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type defining the physical quantity of the electricity to be delivered.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="CommodityNotionalQuantity">
<xsd:sequence>
<xsd:element name="settlementPeriodsReference" type="SettlementPeriodsReference" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">A pointer style reference to the range(s) of Settlement Periods to which this quantity applies.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ElectricityPhysicalDeliveryQuantitySchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">Allows the documentation of a shaped quantity trade where the quantity changes over the life of the transaction.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="CommodityPhysicalQuantitySchedule">
<xsd:sequence>
<xsd:element name="settlementPeriodsReference" type="SettlementPeriodsReference" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">A pointer style reference to the range(s) of Settlement Periods to which this quantity applies.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ElectricityPhysicalLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Physically settled leg of a physically settled electricity transaction.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="PhysicalSwapLeg">
<xsd:sequence>
<xsd:element name="deliveryPeriods" type="CommodityDeliveryPeriods" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the Delivery or Supply Periods. Unless the quantity or price is to vary periodically during the trade or physical delivery occurs on a periodic basis, periodsSchedule should be used and set to 1T.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="settlementPeriods" type="SettlementPeriods" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specification of the Settlement Periods in which the electricity will be delivered. The Settlement Periods will apply from and including the Effective Date up to and including the Termination Date. If more than one settlementPeriods element is present this indicates multiple ranges of Settlement Periods apply to the entire trade - for example off-peak weekdays and all day weekends. Settlement Period ranges should not overlap.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="settlementPeriodsSchedule" type="SettlementPeriodsSchedule" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specification of the Settlement Periods in which the electricity will be delivered for a "shaped" trade i.e. where different Settlement Period ranges will apply to different periods of the trade.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="loadType" type="LoadTypeEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">LoadType is a summary of the full description of the settlement periods with respect to the region. Used for describing Electricity delivery schedules (e.g. Base, Peak, Off-Peak, Custom).</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="electricity" type="ElectricityProduct" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specification of the electricity to be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliveryConditions" type="ElectricityDelivery" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical delivery conditions for the transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliveryQuantity" type="ElectricityPhysicalQuantity" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the quantity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ElectricityPhysicalQuantity">
<xsd:annotation>
<xsd:documentation xml:lang="en">The quantity of gas to be delivered.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="CommodityPhysicalQuantityBase">
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="physicalQuantity" type="ElectricityPhysicalDeliveryQuantity" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Quantity per Delivery Period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="physicalQuantitySchedule" type="ElectricityPhysicalDeliveryQuantitySchedule" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">Allows the documentation of a shaped quantity trade where the quantity changes over the life of the transaction. Note that if the range of Settlement Periods also varies over the life of the transaction this element should not be used. Instead, physicalQuantity should be repeated for each range of Settlement Periods that apply at any point during the trade.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="totalPhysicalQuantity" type="UnitQuantity" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Total Quantity of the commodity to be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ElectricityProduct">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specification of the electricity to be delivered.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="type" type="ElectricityProductTypeEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The type of electricity product to be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="voltage" type="PositiveDecimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The voltage, expressed as a number of volts, of the electricity to be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ElectricityTransmissionContingency">
<xsd:annotation>
<xsd:documentation xml:lang="en">A structure to specify the tranmission contingency and the party that bears the obligation.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="contingency" type="ElectricityTransmissionContingencyType" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The conditions under which the party specified in contingentParty will be excused from damages if transmission is interrupted or curtailed.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="contingentParty" type="PartyReference" maxOccurs="2" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The party to which the contingency applies.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ElectricityTransmissionContingencyType">
<xsd:annotation>
<xsd:documentation xml:lang="en">The type of transmission contingency, i.e. what portion of the transmission the delivery obligations are applicable.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="electricityTransmissionContingencyScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/electricity-transmission-contingency" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="EnvironmentalPhysicalLeg">
<xsd:complexContent>
<xsd:extension base="PhysicalSwapLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Physically settled leg of a physically settled emissions allowance transaction.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="numberOfAllowances" type="UnitQuantity" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The number of allowances, certificates or credit to be transaction in the transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="environmental" type="EnvironmentalProduct" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specification of the type of allowance or credit.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="abandonmentOfScheme" type="EnvironmentalAbandonmentOfSchemeEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">For U.S. Emissions Allowance Transactions. Specifies terms which apply in the event of an Abandonment of Scheme event.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliveryDate" type="AdjustableOrRelativeDate" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The date on which allowances are to be delivery as specified in the related Confirmation.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:sequence>
<xsd:element name="paymentDate" type="DateOffset" minOccurs="0" />
<xsd:group ref="BusinessCentersOrReference.model" minOccurs="0" />
</xsd:sequence>
<xsd:element name="failureToDeliverApplicable" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">For EU Emissions Allowance Transactions. Holds Failure to Deliver (Alternative Method) election. Used to determine how provisions in Part [7] Page 7 (B) Failure to Deliver Not Remedied are to be applied.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="eEPParameters" type="EEPParameters" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">For EU Emissions Allowance Transactions. Contains a series of parameters controlling Excess Emissions Penalty payments.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="EnvironmentalProduct">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type defining the characteristics of the environmental product being traded in a physically settled environmental transaction.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="productType" type="EnvironmentalProductTypeEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies the type of environmental product. Examples include allowances or credit issued by a particular environmental trading scheme.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="compliancePeriod" type="EnvironmentalProductComplaincePeriod" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">For E.U. Emissions Allowance Transactions. Describes Specified Compliance Period for which the Allowances are issued.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="vintage" type="xsd:gYear" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">For U.S. Emissions Allowance Transactions. The year(s) of the applicable Emissions Product(s) as specified in an Emissions Transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="applicableLaw" type="EnvironmentalProductApplicableLaw" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">For U.S. Emissions Allowance Transactions. Used to specify the Applicable Emissions Law when this is not defined in Emissions Product Definitions Exhibit.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="trackingSystem" type="EnvironmentalTrackingSystem" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">For U.S. Emissions Allowance Transactions. Used to specify the Tracking System when this is not defined in Emissions Product Definitions Exhibit.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="EnvironmentalProductApplicableLaw">
<xsd:annotation>
<xsd:documentation xml:lang="en">TBD.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="environmentalProductApplicableLawScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/governing-law" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="EnvironmentalProductComplaincePeriod">
<xsd:sequence>
<xsd:element name="startYear" type="xsd:gYear" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The first year of the Compliance Period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="endYear" type="xsd:gYear" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The last year of the Commpliance Period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="EnvironmentalTrackingSystem">
<xsd:annotation>
<xsd:documentation xml:lang="en">For US Emissions Allowance Transactions. A system where all electronic certificates are stored and emissions are tracked.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityEnvironmentalTrackingSystemScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-environmental-tracking-system" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="FinancialSwapLeg" abstract="true">
<xsd:annotation>
<xsd:documentation xml:lang="en">The common components of a financially settled leg of a Commodity Swap. This is an abstract type and should be extended by commodity-specific types.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="CommoditySwapLeg">
<xsd:sequence>
<xsd:group ref="PayerReceiver.model"></xsd:group>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="FixedPrice">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type defining the Fixed Price.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="price" type="xsd:decimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Fixed Price.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="Price.model"></xsd:group>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<xsd:complexType name="FixedPriceLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Fixed Price Leg of a Commodity Swap.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="FinancialSwapLeg">
<xsd:sequence>
<xsd:group ref="CommodityCalculationPeriods.model" minOccurs="0"></xsd:group>
<xsd:group ref="CommodityFixedPrice.model" minOccurs="0"></xsd:group>
<xsd:group ref="CommodityNotionalQuantity.model" minOccurs="0"></xsd:group>
<xsd:group ref="CommodityPaymentDates.model" minOccurs="0"></xsd:group>
<xsd:group ref="CommodityFreightFlatRate.model" minOccurs="0"></xsd:group>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="FloatingLegCalculation">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type to capture details relevant to the calculation of the floating price.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="pricingDates" type="CommodityPricingDates" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Commodity Pricing Dates.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="averagingMethod" type="AveragingMethodEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The parties may specify a Method of Averaging where more than one pricing Dates is being specified as being applicable.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="conversionFactor" type="xsd:decimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">If the Notional Quantity is specified in a unit that does not match the unit in which the Commodity Reference Price is quoted, the scaling or conversion factor used to convert the Commodity Reference Price unit into the Notional Quantity unit should be stated here. If there is no conversion, this element is not intended to be used. In heat rate options the heat rate multiplier is entered into this element.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="rounding" type="Rounding" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Rounding direction and precision for price values.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice minOccurs="0">
<xsd:element name="spread" type="CommoditySpread">
<xsd:annotation>
<xsd:documentation xml:lang="en">The spread over or under the Commodity Reference Price for this leg of the trade.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="spreadSchedule" type="CommoditySpreadSchedule" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">The spread over or under the Commodity Reference Price for this leg of the trade for each Calculation Period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="spreadPercentage" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">The spread percentage over or under the Commodity Reference Price for this leg of the trade.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="fx" type="CommodityFx" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">FX observations to be used to convert the observed Commodity Reference Price to the Settlement Currency.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FloatingPriceLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Floating Price Leg of a Commodity Swap.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="FinancialSwapLeg">
<xsd:sequence>
<xsd:group ref="CommodityCalculationPeriods.model"></xsd:group>
<xsd:element name="commodity" type="Commodity" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies the underlying instrument. At this time, only underlyers of type Commodity are supported; the choice group in the future could offer the possibility of adding other types later.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="CommodityNotionalQuantity.model"></xsd:group>
<xsd:element name="calculation" type="FloatingLegCalculation" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Defines details relevant to the calculation of the floating price.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="CommodityPaymentDates.model" minOccurs="0"></xsd:group>
<xsd:group ref="CommodityFreightFlatRate.model" minOccurs="0"></xsd:group>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="FloatingStrikePrice">
<xsd:complexContent>
<xsd:extension base="FloatingLegCalculation">
<xsd:sequence>
<xsd:element ref="commodity"></xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="GasDelivery">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specification of the gas to be delivered.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="CommodityDeliveryPoints.model" />
<xsd:element name="deliveryType" type="DeliveryTypeEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates whether the buyer and seller are contractually obliged to consume and supply the specified quantities of the commodity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:sequence minOccurs="0">
<xsd:element name="buyerHub" type="CommodityHub" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The hub code of the gas buyer.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="sellerHub" type="CommodityHub" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The hub code of the has seller.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="GasDeliveryPeriods">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the Delivery Periods for a physically settled gas trade.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="CommodityDeliveryPeriods">
<xsd:sequence minOccurs="0">
<xsd:element name="supplyStartTime" type="PrevailingTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The time at which gas delivery should start on each day of the Delivery Period(s).</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="supplyEndTime" type="PrevailingTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The time at which gas delivery should end on each day of the Delivery Period(s).</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="GasDeliveryPoint">
<xsd:annotation>
<xsd:documentation xml:lang="en">A scheme identifying the types of the Delivery Point for a physically settled gas trade.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="deliveryPointScheme" type="xsd:anyURI" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="GasPhysicalLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Physically settled leg of a physically settled gas transaction.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="PhysicalSwapLeg">
<xsd:sequence>
<xsd:element name="deliveryPeriods" type="GasDeliveryPeriods" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the Delivery or Supply Periods. Unless the quantity or price is to vary periodically during the trade or physical delivery occurs on a periodic basis, periodsSchedule should be used and set to 1T.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="gas" type="GasProduct" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specification of the gas to be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliveryConditions" type="GasDelivery" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical delivery conditions for the transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliveryQuantity" type="GasPhysicalQuantity" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the quantity. For Fixed trades where the quantity is known at the time of confirmation, a single quantity or a quantity per Delivery Period may be specified. For Variable trades minimum and maximum trades may be specified.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="GasPhysicalQuantity">
<xsd:annotation>
<xsd:documentation xml:lang="en">The quantity of gas to be delivered.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="CommodityPhysicalQuantityBase">
<xsd:choice minOccurs="0">
<xsd:group ref="CommodityFixedPhysicalQuantity.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">A quantity that is known at the time the transaction is executed.</xsd:documentation>
</xsd:annotation>
</xsd:group>
<xsd:sequence>
<xsd:annotation>
<xsd:documentation xml:lang="en">A quantity that can vary within set limits at the instruction of the specified party.</xsd:documentation>
</xsd:annotation>
<xsd:element name="minPhysicalQuantity" type="CommodityNotionalQuantity" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The minimum quantity to be delivered. If separate minimums need to be specified for different periods (e.g. a minimum per day and a minimum per month) this element should be repeated.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="maxPhysicalQuantity" type="CommodityNotionalQuantity" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The maximum quantity to be delivered. If separate minimums need to be specified for different periods (e.g. a minimum per day and a minimum per month) this element should be repeated.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="electingParty" type="PartyReference" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates the party able to choose whether the gas is delivered for a particular period e.g. a swing or interruptible contract.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="GasProduct">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type defining the characteristics of the gas being traded in a physically settled gas transaction.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="type" type="GasProductTypeEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The type of gas to be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice minOccurs="0">
<xsd:element name="calorificValue" type="NonNegativeDecimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">The calorific value of the gas to be delivered, specified in megajoules per cubic meter (MJ/m3).</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="quality" type="GasQuality">
<xsd:annotation>
<xsd:documentation xml:lang="en">The quality of the gas to be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="GasQuality">
<xsd:annotation>
<xsd:documentation xml:lang="en">The quantity of gas to be delivered.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="gasQualityScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-gas-quality" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="Lag">
<xsd:annotation>
<xsd:documentation xml:lang="en">An observation period that is offset from a Calculation Period.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="lagDuration" type="Period" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The period during which observations will be made. If a firstObservationDateOffset is specified, the observation period will start the specified interval prior to each Calculation Period - i.e. if the firstObservationDateOffset is 4 months and the lagDuration is 3 months, observations will be taken in months 4,3 and 2 (but not 1) prior to each Calculation Period. If no firstObservationDate is specified, the observation period will end immediately preceding each Calculation Period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="firstObservationDateOffset" type="Period" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The interval between the start of each lagDuration and the start of each respective calculation period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<xsd:complexType name="LagReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Allows a lag to reference one already defined elsewhere in the trade.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Reference">
<xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="Lag" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="MarketDisruptionEvent">
<xsd:annotation>
<xsd:documentation xml:lang="en">A Market Disruption Event.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityMarketDisruptionScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-market-disruption" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="Material">
<xsd:annotation>
<xsd:documentation xml:lang="en">A scheme identifying the types of metal product for a physically settled metal trade.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityMetalProductTypeScheme" type="xsd:anyURI" default="http://fpml.org/coding-scheme/commodity-metal-product-type" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="Metal">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type defining the characteristics of the metal product being traded in a physically settled metal transaction.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="material" type="Material" minOccurs="0"></xsd:element>
<xsd:sequence>
<xsd:element name="shape" type="CommodityMetalShape" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical shape(s) which can be delivered in Seller's option.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:sequence>
<xsd:element name="brand" type="CommodityMetalBrand" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">The brand(s) of material which can be delivered in Seller's option.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:sequence>
<xsd:element name="grade" type="CommodityMetalGrade" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The grade(s) of material which can be delivered in seller's option.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="MetalDelivery">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical delivery conditions for the transaction.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="deliveryLocation" type="CommodityDeliveryPoint" minOccurs="0"></xsd:element>
<xsd:element name="risk" type="CommodityDeliveryRisk" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">"Risk of loss" may also be used, equivalently, on confirmation documents.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="totalQuantityTolerance" type="xsd:decimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The +/- percent tolerance in seller's option which applies to the total quantity delivered over all shipment periods.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="periodQuantityTolerance" type="xsd:decimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The +/- percentage quantity tolerance in seller's option which applied to each shipment period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="title" type="MetalTitleEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Describes how and when title to the commodity transfers.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="MetalPhysicalLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Physically settled leg of a physically settled Metal transaction.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="PhysicalForwardLeg">
<xsd:sequence>
<xsd:element name="metal" type="Metal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specification of the Metal Product to be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliveryPeriods" type="CommodityDeliveryPeriods" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The period during which delivery/deliveries of Metal may be scheduled.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliveryConditions" type="MetalDelivery" minOccurs="0"></xsd:element>
<xsd:group ref="CommodityFixedPhysicalQuantity.model" />
<xsd:element name="conversionFactor" type="xsd:decimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">If the Notional Quantity is specified in a unit that does not match the unit in which the Commodity Reference Price is quoted, the scaling or conversion factor used to convert the Commodity Reference Price unit into the Notional Quantity unit should be stated here. If there is no conversion, this element is not intended to be used.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="NonPeriodicFixedPriceLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">The details of a fixed payment. Can be used for a forward transaction or as the base for a more complex fixed leg component such as the fixed leg of a swap.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="CommoditySwapLeg">
<xsd:sequence>
<xsd:group ref="PayerReceiver.model"></xsd:group>
<xsd:element name="fixedPrice" type="FixedPrice" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Fixed price on which fixed payments are based.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="totalPrice" type="NonNegativeMoney" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The total amount of the fixed payment for all units of the underlying commodity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="quantityReference" type="QuantityReference" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">A pointer style reference to a quantity defined on another leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="CommodityPaymentDates.model" minOccurs="0"></xsd:group>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="OilDelivery">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical delivery conditions for an oil product.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="pipeline" type="OilPipelineDelivery">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specified the delivery conditions where the oil product is to be delivered by pipeline.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="transfer" type="OilTransferDelivery">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specified the delivery conditions where the oil product is to be delivered by title transfer.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="importerOfRecord" type="PartyReference" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies which party is the Importer of Record for the purposes of paying customs duties and applicable taxes or costs related to the import of the oil product.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice minOccurs="0">
<xsd:element name="absoluteTolerance" type="AbsoluteTolerance">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies the allowable quantity tolerance as an absolute quantity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="percentageTolerance" type="PercentageTolerance">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies the allowable quantity tolerance as a percentage of the quantity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OilPhysicalLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Physically settled leg of a physically settled oil product transaction.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="PhysicalSwapLeg">
<xsd:sequence>
<xsd:element name="deliveryPeriods" type="CommodityDeliveryPeriods" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the Delivery or Supply Periods. Unless the quantity or price is to vary periodically during the trade or physical delivery occurs on a periodic basis, periodsSchedule should be used and set to 1T.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="oil" type="OilProduct" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specification of the oil product to be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliveryConditions" type="OilDelivery" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical delivery conditions for the transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliveryQuantity" type="CommodityPhysicalQuantity" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the quantity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="OilPipelineDelivery">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical delivery conditions specific to an oil product delivered by pipeline.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="pipelineName" type="CommodityPipeline" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The name of pipeline by which the oil product will be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="withdrawalPoint" type="CommodityDeliveryPoint" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The location at which the transfer of the title to the commodity takes place.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="entryPoint" type="CommodityDeliveryPoint" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The point at which the oil product will enter the pipeline.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliverableByBarge" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Whether or not the delivery can go to barge. For trades documented under the ISDA Master Agreement and Oil Annex, this should always be set to 'false'.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="risk" type="CommodityDeliveryRisk" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies how the risk associated with the delivery is assigned. For trades documented under the ISDA Master Agreement and Oil Annex, this presence of this element indicates that the provisions of clause (b)(i) of the ISDA Oil Annex are being varied.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="cycle" type="CommodityPipelineCycle" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">The cycle(s) during which the oil product will be transported in the pipeline.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OilProduct">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specification of the oil product to be delivered.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="type" type="OilProductType" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The type of oil product to be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="grade" type="CommodityProductGrade" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The grade of oil product to be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OilProductType">
<xsd:annotation>
<xsd:documentation xml:lang="en">The type of physical commodity product to be delivered.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="commodityOilProductTypeScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-oil-product-type" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="OilTransferDelivery">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical delivery conditions specific to an oil product delivered by title transfer.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="applicable" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates that the oil product will be delivered by title transfer. Should always be set to "true".</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliveryLocation" type="CommodityDeliveryPoint" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The location at which the transfer of the title to the commodity takes place.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PercentageTolerance">
<xsd:annotation>
<xsd:documentation xml:lang="en">The acceptable tolerance in the delivered quantity of a physical commodity product in terms of a percentage of the agreed delivery quantity.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="postitive" type="RestrictedPercentage" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The maximum percentage amount by which the quantity delivered can exceed the agreed quantity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="negative" type="RestrictedPercentage" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The maximum percentage amount by which the quantity delivered can be less than the agreed quantity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="option" type="PartyReference" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates whether the tolerance it at the seller's or buyer's option.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PhysicalForwardLeg" abstract="true">
<xsd:annotation>
<xsd:documentation xml:lang="en">The common components of a physically settled leg of a Commodity Forward. This is an abstract type and should be extended by commodity-specific types.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="CommodityForwardLeg">
<xsd:sequence>
<xsd:group ref="PayerReceiver.model"></xsd:group>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="PhysicalSwapLeg" abstract="true">
<xsd:annotation>
<xsd:documentation xml:lang="en">The common components of a physically settled leg of a Commodity Swap. This is an abstract type and should be extended by commodity-specific types.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="CommoditySwapLeg">
<xsd:sequence>
<xsd:group ref="PayerReceiver.model"></xsd:group>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="QuantityReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">A pointer tyle reference to a Quantity defined elsewhere.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Reference">
<xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="CommodityPhysicalQuantityBase" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ReferenceLevel">
<xsd:sequence>
<xsd:element name="amount" type="xsd:decimal" minOccurs="0"></xsd:element>
<xsd:element name="referenceLevelUnit" type="ReferenceLevelUnit" minOccurs="0"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ReferenceLevelUnit">
<xsd:annotation>
<xsd:documentation xml:lang="en">CPD Reference Level: millimeters or inches of daily precipitation HDD Reference Level: degree-days CDD Reference Level: degree-days.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="weatherIndexReferenceLevelScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/weather-index-reference-level" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="SequencedDisruptionFallback">
<xsd:annotation>
<xsd:documentation xml:lang="en">A Disruption Fallback with the sequence in which it should be applied relative to other Disruption Fallbacks.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="fallback" type="DisruptionFallback" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Disruption fallback that applies to the trade.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="sequence" type="xsd:positiveInteger" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Sequence in which the reference to the disruption fallback should be applied.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SettlementPeriods">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies a set of Settlement Periods associated with an Electricity Transaction for delivery on an Applicable Day or for a series of Applicable Days.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="duration" type="SettlementPeriodDurationEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The length of each Settlement Period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="applicableDay" type="DayOfWeekEnum" minOccurs="0" maxOccurs="7">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies the Applicable Day with respect to a range of Settlement Periods. This element can only be omitted if includesHolidays is present, in which case this range of Settlement Periods will apply to days that are holidays only.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="startTime" type="OffsetPrevailingTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies the hour-ending Start Time with respect to a range of Settlement Periods.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="endTime" type="OffsetPrevailingTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies the hour-ending End Time with respect to a range of Settlement Periods. If neither startTime nor endTime contain an offset element and endTime is earlier than startTime, this indicates that the time period "wraps around" midnight. For example, if startTime is 23:00 and endTime is 01:00 then Settlement Periods apply from 22:00 to 23:00 and 23:00 to 00:00 and 00:00 to 01:00 on each included day.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice minOccurs="0">
<xsd:element name="excludeHolidays" type="CommodityBusinessCalendar">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates that days that are holidays according to the referenced commodity business calendar should be excluded from this range of Settlement Periods, even if such day is an applicable day.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="includeHolidays" type="CommodityBusinessCalendar">
<xsd:annotation>
<xsd:documentation xml:lang="en">Indicates that days that are holidays according to the referenced commodity business calendar should be included in this range of Settlement Periods, even if such day is not an applicable day.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<xsd:complexType name="SettlementPeriodsFixedPrice">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type defining the Fixed Price applicable to a range or ranges of Settlement Periods.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="FixedPrice">
<xsd:sequence>
<xsd:element name="settlementPeriodsReference" type="SettlementPeriodsReference" maxOccurs="unbounded" minOccurs="0"></xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="SettlementPeriodsReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Allows a set of Settlement Periods to reference one already defined elsewhere in the trade.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="Reference">
<xsd:attribute name="href" type="xsd:IDREF" use="required" ecore:reference="SettlementPeriods" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="SettlementPeriodsSchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specification of the Settlement Periods in which the electricity will be delivered for a "shaped" trade i.e. where different Settlement Period ranges will apply to different periods of the trade.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="settlementPeriodsStep" type="SettlementPeriodsStep" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The range of Settlement Periods per Calculation Period. There must be a range of Settlement Periods specified for each Calculation Period, regardless of whether the range of Settlement Periods changes or stays the same between periods.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="CommodityDeliveryPeriodsPointer.model" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SettlementPeriodsStep">
<xsd:annotation>
<xsd:documentation xml:lang="en">A reference to the range of Settlement Periods that applies to a given period of a transaction.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="settlementPeriodsReference" type="SettlementPeriodsReference" maxOccurs="unbounded" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The specification of the Settlement Periods in which the electricity will be delivered. The Settlement Periods will apply for the duration of the appliable period. If more than one settlementPeriods element is present this indicates multiple ranges of Settlement Periods apply for the duration of the applicable period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="UnitQuantity">
<xsd:annotation>
<xsd:documentation xml:lang="en">A quantity and associated unit.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="quantityUnit" type="QuantityUnit" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Quantity Unit is the unit of measure applicable for the quantity on the Transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="quantity" type="NonNegativeDecimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Amount of commodity per quantity frequency.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<xsd:complexType name="WeatherCalculationPeriod">
<xsd:annotation>
<xsd:documentation xml:lang="en">The schedule of Calculation Period First Days and Lasts Days. If there is only one First Day - Last Day pair then the First is equal to the Effective Date and the Last Day is equal to the Termination Date.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="calculationPeriodFirstDay" type="IdentifiedDate" minOccurs="0"></xsd:element>
<xsd:element name="calculationPeriodEndDay" type="IdentifiedDate" minOccurs="0"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="WeatherCalculationPeriods">
<xsd:annotation>
<xsd:documentation xml:lang="en">The schedule of Calculation Period First Days and Lasts Days. If there is only one First Day - Last Day pair then the First is equal to the Effective Date and the Last Day is equal to the Termination Date.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="calculationPeriod" type="WeatherCalculationPeriod" maxOccurs="unbounded" minOccurs="0"></xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<xsd:complexType name="WeatherIndex">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type defining the Weather Index Level or Weather Index Strike Level.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="quantity" type="xsd:decimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">This is the Reference Level. The CDD, HDD or HDD Reference Level is specified as the number of (amount of) Weather Index Units specified by the parties in the related Confirmation.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="unit" type="QuantityUnit" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Weather Index Unit derived from one of the following variable methods of determination: Cooling Degree Day (CDD), Heating Degree Day (HDD), Critical Precipitation Day (CPD) as defined in Section 11.15 of the 2005 ISDA Commodity Definitions and User Guide.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<xsd:complexType name="WeatherIndexData">
<xsd:sequence>
<xsd:element name="referenceLevel" type="ReferenceLevel" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Reference level is the number of degree-days (in the case of HDD and CDD) or inches/millimeters (in the case of CPD) on which the differential is calculated. In the case of HDD it is the number of degree-days below this reference level. In the case of CDD it is the number of degree days above this reference level. In the case of CPD it is number of inches/millimeters above this reference level.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="dataProvider" type="DataProvider" minOccurs="0"></xsd:element>
<xsd:element name="finalEditedData" type="xsd:boolean" minOccurs="0"></xsd:element>
<xsd:element name="weatherStation" type="WeatherStation" minOccurs="0"></xsd:element>
<xsd:element name="weatherStationFallback" type="WeatherStation" minOccurs="0"></xsd:element>
<xsd:element name="weatherStationSecondFallback" type="WeatherStation" minOccurs="0"></xsd:element>
<xsd:element name="alternativeDataProvider" type="xsd:boolean" minOccurs="0"></xsd:element>
<xsd:element name="synopticDataFallback" type="xsd:boolean" minOccurs="0"></xsd:element>
<xsd:element name="adjustmentToFallbackWeatherStation" type="xsd:boolean" minOccurs="0"></xsd:element>
<xsd:element name="primaryDisruptionFallbacks" type="DisruptionFallback" minOccurs="0"></xsd:element>
<xsd:element name="secondaryDisruptionFallbacks" type="DisruptionFallback" minOccurs="0"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="WeatherLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Weather Leg of a Commodity Swap defines Weather Index Swap transactions. Weather Index Swap transactions are OTC derivative transactions which settle financially based on an index calculated from observations of temperature and precipitation at weather stations throughout the world. Sub-Annex C of the 2005 ISDA Commodity Definitions provides definitions and terms for a number of types of weather indices. These indices include: HDD (heating degree days), CDD (cooling degree days), CPD (critical precipitation days). Weather Index Swap transactions result in a cash flow to one of the two counterparties each Calculation Period depending on the relationship between the Settlement Level and the Weather Index Level.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="FinancialSwapLeg">
<xsd:sequence>
<xsd:element name="weatherIndexLevel" type="WeatherIndex" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Defining the Weather Index Level or Weather Index Strike Level.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="WeatherCalculationPeriod.model"></xsd:group>
<xsd:element name="weatherNotionalAmount" type="NonNegativeMoney" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Defines the price per weather index unit.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="calculation" type="WeatherLegCalculation" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Defines details relevant to the calculation of the aggregate weather index amount.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="paymentDates" type="CommodityRelativePaymentDates" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Payment Dates of the trade relative to the Calculation Periods or Calculation Date</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="weatherIndexData" type="WeatherIndexData" minOccurs="0" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="WeatherLegCalculation">
<xsd:annotation>
<xsd:documentation xml:lang="en">A type to capture details relevant to the calculation of the Payment Amount on a Weather Index Transaction.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="settlementLevel" type="WeatherSettlementLevelEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Settlement Level means either the cumulative number of Weather Index Units for each day in the Calculaiton Period (Cumulative) or the cumulative number of Weather Index Units for each day in the Calculation Period divided by the number of days in the Calculation Period (Average) or the maximum number of Weather Index Units for any day in the Calculation Period (Maximum) or the minimum number of Weather Index Units for any day in the Calculation Period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="referenceLevelEqualsZero" type="xsd:boolean" minOccurs="0"></xsd:element>
<xsd:element name="calculationDate" type="Period" minOccurs="0"></xsd:element>
<xsd:element name="businessDays" type="BusinessCenter" minOccurs="0"></xsd:element>
<xsd:element name="dataCorrection" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The date payment often revised after its publication, this indicates if the payment date could be recalculated.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="correctionPeriod" type="Period" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">If dataCorrection=true, this indicates how long after the publication of the date corrections could be made.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="maximumPaymentAmount" type="NonNegativeMoney" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Cups on total payment amount.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="maximumTransactionPaymentAmount" type="NonNegativeMoney" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Cups on payment amount that goes out in any particular calculation period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="rounding" type="Rounding" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Rounding direction and precision for price values.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="WeatherStation">
<xsd:annotation>
<xsd:documentation xml:lang="en">Weather Station.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="weatherStationCity" type="BusinessCenter" />
<xsd:element name="weatherStationAirport" type="WeatherStationAirport" />
<xsd:element name="weatherStationWBAN" type="WeatherStationWBAN" />
<xsd:element name="weatherStationWMO" type="WeatherStationWMO" />
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="WeatherStationAirport">
<xsd:annotation>
<xsd:documentation xml:lang="en">A code identifying a Weather Station Airport (based on the the IATA standard).</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="weatherStationAirportScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/external/weather-station-airport" />
<xsd:attribute name="id" type="xsd:ID" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="WeatherStationWBAN">
<xsd:annotation>
<xsd:documentation xml:lang="en">A code identifying a Weather Station WBAN.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="weatherStationWBANScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/external/weather-station-wban" />
<xsd:attribute name="id" type="xsd:ID" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="WeatherStationWMO">
<xsd:annotation>
<xsd:documentation xml:lang="en">A code identifying a Weather Index WMO.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="Scheme">
<xsd:attribute name="weatherStationWMOScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/external/weather-station-wmo" />
<xsd:attribute name="id" type="xsd:ID" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:element name="bullionPhysicalLeg" type="BullionPhysicalLeg" substitutionGroup="commodityForwardLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical leg of a Commodity Forward Transaction for which the underlyer is Bullion.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="coalPhysicalLeg" type="CoalPhysicalLeg" substitutionGroup="commoditySwapLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Physically settled coal leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="commodityForward" type="CommodityForward" substitutionGroup="product">
<xsd:annotation>
<xsd:documentation xml:lang="en">Defines a commodity forward product.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="commodityForwardLeg" type="CommodityForwardLeg" abstract="true">
<xsd:annotation>
<xsd:documentation xml:lang="en">Defines the substitutable commodity forward leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="commodityOption" type="CommodityOption" substitutionGroup="product">
<xsd:annotation>
<xsd:documentation xml:lang="en">Defines a commodity option product.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="commoditySwap" type="CommoditySwap" substitutionGroup="product">
<xsd:annotation>
<xsd:documentation xml:lang="en">Defines a commodity swap product.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="commoditySwapLeg" type="CommoditySwapLeg" abstract="true">
<xsd:annotation>
<xsd:documentation xml:lang="en">Defines the substitutable commodity swap leg</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="commoditySwaption" type="CommoditySwaption" substitutionGroup="product">
<xsd:annotation>
<xsd:documentation xml:lang="en">Defines a commodity swaption product</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="electricityPhysicalLeg" type="ElectricityPhysicalLeg" substitutionGroup="commoditySwapLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Physically settled electricity leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="environmentalPhysicalLeg" type="EnvironmentalPhysicalLeg" substitutionGroup="commoditySwapLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Physically settled environmental leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="fixedLeg" type="FixedPriceLeg" substitutionGroup="commoditySwapLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Fixed Price Leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="floatingLeg" type="FloatingPriceLeg" substitutionGroup="commoditySwapLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Floating Price leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="gasPhysicalLeg" type="GasPhysicalLeg" substitutionGroup="commoditySwapLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Physically settled natural gas leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="metalPhysicalLeg" type="MetalPhysicalLeg" substitutionGroup="commodityForwardLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Physically settled metal products leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="oilPhysicalLeg" type="OilPhysicalLeg" substitutionGroup="commoditySwapLeg">
<xsd:annotation>
<xsd:documentation xml:lang="en">Physically settled oil or refined products leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!--Other commodity features could be added here-->
<xsd:group name="CommodityOptionFeatures.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Describes additional features within the option.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<!--Made the effective date optional to be used with other commodity features like floating strike price-->
<xsd:element name="effectiveDate" type="AdjustableOrRelativeDate" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The effective date of the Commodity Option Transaction. Note that the Termination/Expiration Date should be specified in expirationDate within the CommodityAmericanExercise type or the CommodityEuropeanExercise type, as applicable.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="terminationDate" type="AdjustableOrRelativeDate" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies the termination date of the Commodity Option Transaction. In some confirmations this will be indicated as the second date in "Option Term" or "Term". Note: If provided, terminationDate should not be before specified expirationDate within the CommodityAmericanExercise type or the CommodityEuropeanExercise type.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="CommodityAsian.model" minOccurs="0" />
</xsd:sequence>
</xsd:group>
<xsd:group name="CommodityAsian.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Model group containing features specific to asian/averaging commodity options.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="calculationPeriodsSchedule" type="CommodityCalculationPeriodsSchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">A parametric representation of the Calculation Periods of the Commodity Option Transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="calculationPeriods" type="AdjustableDates">
<xsd:annotation>
<xsd:documentation xml:lang="en">An absolute representation of the Calculation Period start dates of the Commodity Option Transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="pricingDates" type="CommodityPricingDates" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The dates on which the option will price.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="averagingMethod" type="AveragingMethodEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Method of Averaging if there is more than one Pricing Date.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="CommodityDeliveryPeriodsPointer.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Model group to enable users to reference a Delivery Periods schedule in the form of a series of actual dates in a deliveryPeriods container or in the form of a parameterised schedule in a deliveryPeriodsSchedule container.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="deliveryPeriodsReference" type="CalculationPeriodsReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">A pointer style reference to the Delivery Periods defined elsewhere.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="deliveryPeriodsScheduleReference" type="CalculationPeriodsScheduleReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">A pointer style reference to the Calculation Periods Schedule defined elsewhere.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:group>
<xsd:group name="CommodityDeliveryPoints.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">A Delivery Point, applicable to physically settled commodity transactions.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="deliveryPoint" type="GasDeliveryPoint">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical or virtual point at which the commodity will be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:sequence>
<xsd:element name="entryPoint" type="CommodityDeliveryPoint" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical or virtual point at which the commodity enters a transportation system.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="withdrawalPoint" type="CommodityDeliveryPoint" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The physical or virtual point at which the commodity is withdrawn from a transportation system.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:choice>
</xsd:group>
<xsd:group name="CommodityCalculationPeriods.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the Calculation Periods.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="calculationDates" type="AdjustableDates">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Calculation Period dates for this leg of the trade where the Calculation Periods are all one day long, typically a physically-settled emissions or metals trade. Only dates explicitly included determine the Calculation Periods and there is a Calculation Period for each date specified.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="calculationPeriods" type="AdjustableDates">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Calculation Period start dates for this leg of the swap. This type is only intended to be used if the Calculation Periods differ on each leg. If Calculation Periods mirror another leg, then the calculationPeriodsReference element should be used to point to the Calculation Periods on that leg - or the calculationPeriodsScheduleReference can be used to point to the Calculation Periods Schedule for that leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="calculationPeriodsSchedule" type="CommodityCalculationPeriodsSchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Calculation Periods for this leg of the swap. This type is only intended to be used if the Calculation Periods differ on each leg. If Calculation Periods mirror another leg, then the calculationPeriodsReference element should be used to point to the Calculation Periods on the other leg - or the calculationPeriodsScheduleReference can be used to point to the Calculation Periods Schedule for that leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="CommodityCalculationPeriodsPointer.model" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Enables users to reference a Calculation Periods schedule in the form of a series of actual dates in a calculationPeriods container or in the form of a parameterised schedule in a calculationPeriodsSchedule container.</xsd:documentation>
</xsd:annotation>
</xsd:group>
</xsd:choice>
</xsd:group>
<xsd:group name="CommodityCalculationPeriodsPointer.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Model group to enable users to reference a Calculation Periods schedule in the form of a series of actual dates in a calculationPeriods container or in the form of a parameterised schedule in a calculationPeriodsSchedule container.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="calculationPeriodsReference" type="CalculationPeriodsReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">A pointer style reference to the Calculation Periods defined on another leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="calculationPeriodsScheduleReference" type="CalculationPeriodsScheduleReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">A pointer style reference to the Calculation Periods Schedule defined on another leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="calculationPeriodsDatesReference" type="CalculationPeriodsDatesReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">A pointer style reference to single-day-duration Calculation Periods defined on another leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:group>
<xsd:group name="CommodityCoalComposition.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Items defining the chemical composition of the coal product.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="moisture" type="CoalAttributePercentage" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The moisture content of the coal product.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ash" type="CoalAttributePercentage" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The ash content of the coal product.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="sulfur" type="CoalAttributePercentage" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The sulfur/sulphur content of the coal product.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="SO2" type="CoalAttributePercentage" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The sulfur/sulphur dioxide content of the coal product.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="volatile" type="CoalAttributePercentage" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The volatile content of the coal product.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="CommodityCoalProperties.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Items defining the physical attributes of the coal product.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="BTUperLB" type="CoalAttributeDecimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The number of British Thermal Units per Pound of the coal product.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="topSize" type="CoalAttributeDecimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The smallest sieve opening that will result in less than 5% of a sample of the coal product remaining.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="finesPassingScreen" type="CoalAttributeDecimal" minOccurs="0" />
<xsd:element name="grindability" type="CoalAttributeDecimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Hardgrove Grindability Index value of the coal to be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ashFusionTemperature" type="CoalAttributeDecimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The temperature at which the ash form of the coal product fuses completely in accordance with the ASTM International D1857 Standard Test Methodology.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="CommodityCoalReducingAtmosphere.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Items defining the attributes of the coal product determined by ash fusion tests.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="initialDeformation" type="CoalAttributeDecimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The temperature at which an ash cone shows evidence of deformation.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="softeningHeightWidth" type="CoalAttributeDecimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The temperature at which the height of an ash cone equals its width. (Softening temperature).</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="softeningHeightHalfWidth" type="CoalAttributeDecimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The temperature at which the height of an ash cone equals half its width. (Hemisphere temperature).</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="fluid" type="CoalAttributeDecimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The temperature at which the ash cone flattens.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="CommodityContent.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Items common to all Commodity Transactions.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="commonPricing" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Common pricing may be relevant for a Transaction that references more than one Commodity Reference Price. If Common Pricing is not specified as applicable, it will be deemed not to apply.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="marketDisruption" type="CommodityMarketDisruption" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Market disruption events as defined in the ISDA 1993 Commodity Definitions or in ISDA 2005 Commodity Definitions, as applicable.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="settlementDisruption" type="CommodityBullionSettlementDisruptionEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The consequences of Bullion Settlement Disruption Events.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="rounding" type="Rounding" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Rounding direction and precision for amounts.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="CommodityFinancialOption.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Items specific to financially-settled commodity options.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="commodity" type="Commodity">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies the underlying component. At the time of the initial schema design, only underlyers of type Commodity are supported; the choice group in the future could offer the possibility of adding other types later.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="CommodityOptionFeatures.model" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Describes additional features within the option.</xsd:documentation>
</xsd:annotation>
</xsd:group>
<xsd:group ref="CommodityNotionalQuantity.model" minOccurs="0"></xsd:group>
<xsd:element name="exercise" type="CommodityExercise" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The parameters for defining how the commodity option can be exercised and how it is settled.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice minOccurs="0">
<xsd:group ref="CommodityStrikePrice.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the Strike price per unit. This will consists of a single strike price of a strike price schedule.</xsd:documentation>
</xsd:annotation>
</xsd:group>
<xsd:group ref="CommodityFloatingStrikePrice.model"></xsd:group>
</xsd:choice>
</xsd:sequence>
</xsd:group>
<xsd:group name="CommodityFixedPhysicalQuantity.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying a fixed physical quantity of commodity to be delivered.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="physicalQuantity" type="CommodityNotionalQuantity">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Quantity per Delivery Period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="physicalQuantitySchedule" type="CommodityPhysicalQuantitySchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">Allows the documentation of a shaped quantity trade where the quantity changes over the life of the transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="totalPhysicalQuantity" type="UnitQuantity" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Total Quantity of the commodity to be delivered.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="CommodityFixedPrice.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the Fixed Price.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="fixedPriceSchedule" type="CommodityFixedPriceSchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">Allows the specification of a Fixed Price that varies over the life of the trade.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice minOccurs="0">
<xsd:element name="fixedPrice" type="FixedPrice">
<xsd:annotation>
<xsd:documentation xml:lang="en">Fixed price on which fixed payments are based.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="worldscaleRate" type="xsd:decimal">
<xsd:annotation>
<xsd:documentation xml:lang="en">For a WET Voyager Charter Commodity Swap, the number of Worldscale Points for purposes of the calculation of a Fixed Amount.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="contractRate" type="NonNegativeMoney">
<xsd:annotation>
<xsd:documentation xml:lang="en">For a DRY Voyage Charter or Time Charter Commodity Swap, the price per relevant unit for pruposes of the calculation of a Fixed Amount.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="settlementPeriodsPrice" type="SettlementPeriodsFixedPrice" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">For an electricity transaction, the fixed price for one or more groups of Settlement Periods on which fixed payments are based. If the fixed price differs for different groups of Settlement Periods, this element should be repeated.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:choice>
<xsd:element name="totalPrice" type="NonNegativeMoney" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The total amount of all fixed payments due during the term of the trade.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="CommodityFloatingStrikePrice.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the average strike price per unit. These options are to specify a single average strike price per unit or to specify a schedule of average strike prices.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="floatingStrikePricePerUnit" type="FloatingStrikePrice">
<xsd:annotation>
<xsd:documentation xml:lang="en">The currency amount of the strike price per unit.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="floatingStrikePricePerUnitSchedule" type="CommodityCalculationPeriodsSchedule"></xsd:element>
</xsd:choice>
</xsd:group>
<xsd:group name="CommodityFreightFlatRate.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Flat Rate, applicable to Wet Voyager Charter Freight Swaps.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="flatRate" type="FlatRateEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Whether the Flat Rate is the New Worldwide Tanker Nominal Freight Scale for the Freight Index Route taken at the Trade Date of the transaction or taken on each Pricing Date.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="flatRateAmount" type="NonNegativeMoney" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">If flatRate is set to "Fixed", the actual value of the Flat Rate.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="CommodityNonPeriodicPaymentDates.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the Payment Date.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="paymentDates" type="AdjustableDatesOrRelativeDateOffset">
<xsd:annotation>
<xsd:documentation xml:lang="en">Dates on which payments will be made.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="masterAgreementPaymentDates" type="xsd:boolean">
<xsd:annotation>
<xsd:documentation xml:lang="en">If present and true indicates that the Payment Date(s) are specified in the relevant master agreement.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:group>
<xsd:group name="CommodityNotionalQuantity.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the Notional Quantity. A flat notional for the term of the trade may be specified, or else the Notional Quantity per Calculation Period. In the latter case, there must be a notional quantity specified for each Calculation Period, regardless of whether the Notional Quantity changes or remains the same between periods.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element name="notionalQuantitySchedule" type="CommodityNotionalQuantitySchedule">
<xsd:annotation>
<xsd:documentation xml:lang="en">Allows the documentation of a shaped notional trade where the notional changes over the life of the transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="notionalQuantity" type="CommodityNotionalQuantity">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Notional Quantity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="settlementPeriodsNotionalQuantity" type="CommoditySettlementPeriodsNotionalQuantity" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation xml:lang="en">For an electricity transaction, the Notional Quantity for a one or more groups of Settlement Periods to which the Notional Quantity is based. If the schedule differs for different groups of Settlement Periods, this element should be repeated.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="totalNotionalQuantity" type="xsd:decimal" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Total Notional Quantity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:element name="quantityReference" type="QuantityReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">A pointer style reference to a quantity defined on another leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:group>
<xsd:group name="CommodityPaymentDates.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the Payment Date. This will consist of either a set of Payment Dates or else a Payment Date schedule.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="relativePaymentDates" type="CommodityRelativePaymentDates">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Payment Dates of the trade relative to the Calculation Periods.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="CommodityNonPeriodicPaymentDates.model" />
</xsd:choice>
</xsd:group>
<xsd:group name="CommodityPhysicalOption.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Items specific to financially-settled commodity options.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element ref="commoditySwap" fpml-annotation:deprecated="true" fpml-annotation:deprecatedReason="The model could not provide support for a cash settled commodity. Only physically exercised option could be expressed. Instead, commoditySwaption product, should be used.">
<xsd:annotation>
<xsd:documentation xml:lang="en">DEPRECATED. Defines a commodity swap product.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="commodityForward"></xsd:element>
</xsd:choice>
<xsd:element name="physicalExercise" type="CommodityPhysicalExercise" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The parameters for defining how the commodity option can be exercised into a physical transaction.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="CommodityStrikePrice.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying the Strike price per unit.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="strikePricePerUnit" type="NonNegativeMoney">
<xsd:annotation>
<xsd:documentation xml:lang="en">The currency amount of the strike price per unit.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="strikePricePerUnitSchedule" type="CommodityStrikeSchedule"></xsd:element>
</xsd:choice>
</xsd:group>
<xsd:group name="CommoditySwapDetails.model">
<xsd:sequence>
<xsd:element name="effectiveDate" type="AdjustableOrRelativeDate" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies the effective date of this leg of the swap. When defined in relation to a date specified somewhere else in the document (through the relativeDate component), this element will typically point to the effective date of the other leg of the swap.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="terminationDate" type="AdjustableOrRelativeDate" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies the termination date of this leg of the swap. When defined in relation to a date specified somewhere else in the document (through the relativeDate component), this element will typically point to the termination date of the other leg of the swap.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="settlementCurrency" type="IdentifiedCurrency" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The currency into which the Commodity Swap Transaction will settle. If this is not the same as the currency in which the Commodity Reference Price is quoted on a given floating leg of the Commodity Swap Transaction, then an FX rate should also be specified for that leg.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice minOccurs="0">
<xsd:element ref="commoditySwapLeg" maxOccurs="unbounded"></xsd:element>
<xsd:element name="weatherLeg" type="WeatherLeg" minOccurs="0" maxOccurs="2">
<xsd:annotation>
<xsd:documentation xml:lang="en">Weather Leg defines Weather Index Swap transactions. Weather Index Swap transactions are OTC derivative transactions which settle financially based on an index calculated from observations of temperature and precipitation at weather stations throughout the world. Sub-Annex C of the 2005 ISDA Commodity Definitions provides definitions and terms for a number of types of weather indices. These indices include: HDD (heating degree days), CDD (cooling degree days), CPD (critical precipitation days). Weather Index Swap transactions result in a cash flow to one of the two counterparties each Calculation Period depending on the relationship between the Settlement Level and the Weather Index Level.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:group ref="CommodityContent.model" minOccurs="0"></xsd:group>
</xsd:sequence>
</xsd:group>
<xsd:group name="CommodityUSCoalProduct.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Items specific to the definition of a US Coal Product.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="btuQualityAdjustment" type="CoalQualityAdjustments" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Quality Adjustment formula to be used where the Actual Shipment BTU/Lb value differs from the Standard BTU/Lb value.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="so2QualityAdjustment" type="CoalQualityAdjustments" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The Quality Adjustment formula to be used where the Actual Shipment SO2/MMBTU value differs from the Standard SO2/MMBTU value.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="CommodityUSCoalDelivery.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Items specific to the definition of the delivery of a US Coal Product.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="quantityVariationAdjustment" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">If true, indicates that QVA is applicable. If false, indicates that QVA is inapplicable.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="transportationEquipment" type="CoalTransportationEquipment" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The transportation equipment with which the Coal Product will be delivered and received.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="risk" type="CommodityDeliveryRisk" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies how the risk associated with the delivery is assigned.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="CommodityWeatherOption.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Described Weather Index Option component. Weather Index Option transactions are OTC derivative transactions which settle financially based on an index calculated from observations of temperature and precipitation at weather stations throughout the world. Sub-Annex C of the 2005 ISDA Commodity Definitions provides definitions and terms for a number of types of weather indices. These indices include: HDD (heating degree days), CDD (cooling degree days), CPD (critical precipitation days). Weather Index Option Transactions results in a cash flow to the buyer depending on the relationship between the Settlement Level to the Weather Index Strike Level.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="effectiveDate" type="AdjustableOrRelativeDate" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Effective date of an option.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="WeatherCalculationPeriod.model" />
<xsd:element name="weatherNotionalAmount" type="NonNegativeMoney" minOccurs="0" />
<xsd:element name="exercise" type="CommodityExercise" minOccurs="0"></xsd:element>
<xsd:element name="weatherIndexStrikeLevel" type="WeatherIndex" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Weather Index strike price level is specified in terms of weather index units (e.g. 1 Days, 3 Inches, etc.)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="calculation" type="WeatherLegCalculation" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Contains parameters which figure in the calculation of payments on a Weather Index Option.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="weatherIndexData" type="WeatherIndexData" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Specifies where the data (e.g. CPD) have been collected, an actual physical reference point (weather station) and various fall back arrangements.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="LagOrReference.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Allows a Lag or a LagReference to be specified.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="lag" type="Lag">
<xsd:annotation>
<xsd:documentation xml:lang="en">The pricing period per calculation period if the pricing days do not wholly fall within the respective calculation period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="lagReference" type="LagReference">
<xsd:annotation>
<xsd:documentation xml:lang="en">Allows a lag to reference one already defined elsewhere in the trade.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:group>
<xsd:group name="Price.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Price model group.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="priceCurrency" type="Currency" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">Currency of the fixed price.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="priceUnit" type="QuantityUnit" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The unit of measure used to calculate the Fixed Price.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="PricingDays.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">The different options for specifying which days are pricing days within a pricing period. Unless a lag element is present, the pricing period will be the calculation period.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="dayType" type="CommodityDayTypeEnum" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The type of day on which pricing occurs.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice minOccurs="0">
<xsd:sequence>
<xsd:element name="dayDistribution" type="CommodityFrequencyType" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The method by which the pricing days are distributed across the pricing period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="dayCount" type="xsd:positiveInteger" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The number of days over which pricing should take place.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:sequence>
<xsd:element name="dayOfWeek" type="DayOfWeekEnum" maxOccurs="7" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The day(s) of the week on which pricing will take place during the pricing period.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="dayNumber" type="xsd:integer" minOccurs="0">
<xsd:annotation>
<xsd:documentation xml:lang="en">The occurrence of the dayOfWeek within the pricing period on which pricing will take place, e.g. the 3rd Friday within each Calculation Period. If omitted, every dayOfWeek will be a pricing day.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:choice>
</xsd:sequence>
</xsd:group>
<xsd:group name="WeatherCalculationPeriod.model">
<xsd:annotation>
<xsd:documentation xml:lang="en">Descriptions of a calculation period.</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="weatherCalculationPeriods" type="WeatherCalculationPeriods"></xsd:element>
<xsd:element name="weatherCalculationPeriodsReference" type="CalculationPeriodsReference"></xsd:element>
</xsd:choice>
</xsd:group>
</xsd:schema>
|