FpML 5.0 Working Draft

Aug 2007

Commodities Confirmation Component Definitions

Version: 5.0

This Version:

http://www.fpml.org/spec/2007/wd-fpml-5-0-2007-08-10

Latest Version:

http://www.fpml.org/spec/2007/wd-fpml-5-0-2007-08-10

Previous Version:

http://www.fpml.org/spec/2007/wd-fpml-4-3-2007-07-05/

Errata for this Version:

http://www.fpml.org/spec/errata/wd-fpml-5-0-2007-08-10-errata.html

Document built: Fri 08/24/2007 11:10:51.01


Copyright (c) 1999 - 2006 by INTERNATIONAL SWAPS AND DERIVATIVES ASSOCIATION, INC.
Financial Products Markup Language is subject to the FpML public license
A copy of this license is available at http://www.fpml.org/documents/license.html



The FpML specifications provided are without warranty of any kind, either expressed or implied, including, without limitation, warranties that FpML, or the FpML specifications are free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the specifications is with you. Should any of the FpML specifications prove defective in any respect, you assume the cost of any necessary servicing or repair. Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall ISDA, any of its members, or any distributor of documents or software containing any of the FpML specifications, or any supplier of any of such parties, be liable to you or any other person for any indirect, special, incidental, or consequential damages of any character including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages.


Contents

Global Simple Types

Global Complex Types
CommodityMarketDisruption
CommodityNotional
CommodityReferencePrice
CommoditySwap
FixedPrice
FixedPriceLeg
FloatingPriceLeg
FloatLegAmount
FloatLegValuation
MarketDisruptionEvent
MarketDisruptionFallback
PriceUnit
QuantityFrequency
QuantityUnit
SpecifiedPrice
UnderlyerValuation

Global Elements
commoditySwap

Groups
CommodityContent.model
Price.model
Pricing.model
Quantity.model
Unit.model

Schema Listing

Applicability to views:

This sub-schema is used in all views.


Global Simple Types

The schema does not contain any global simple types.


Global Complex Types

CommodityMarketDisruption

Description:

Commodity Market Disruption elements.

Figure:

Contents:

There can be exactly one occurrence of the following choice: Choice of either

Or


additionalMarketDisruptionEvent(zero or any number of occurrences; of the type MarketDisruption)

disruptionFallback(zero or any number of occurrences; of the type MarketDisruptionFallback)

fallbackReferencePrice(zero or one occurence(s); of the type CommodityReferencePrice)

maximumNumberOfDaysOfDisruption(zero or one occurence(s); of the type xsd:nonNegativeInteger)

Used by:

Schema Fragment:

<xsd:complexType name="CommodityMarketDisruption">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Commodity Market Disruption elements.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:choice>
      <xsd:element name="marketDisruption" type="xsd:boolean"/>
      <xsd:element name="marketDisruptionEvent" type="MarketDisruptionEvent" maxOccurs="unbounded"/>
    </xsd:choice>
    <xsd:element name="additionalMarketDisruptionEvent" type="MarketDisruption" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element name="disruptionFallback" type="MarketDisruptionFallback" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element name="fallbackReferencePrice" type="CommodityReferencePrice" minOccurs="0"/>
    <xsd:element name="maximumNumberOfDaysOfDisruption" type="xsd:nonNegativeInteger" minOccurs="0"/>
  </xsd:sequence>
</xsd:complexType>

CommodityNotional

Description:

Commodity Notional.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type ReturnSwapNotional)

priceCurrency(exactly one occurrence; of the type Currency)

priceUnit(exactly one occurrence; of the type PriceUnit)

quantityUnit(exactly one occurrence; of the type QuantityUnit)

quantityFrequency(exactly one occurrence; of the type QuantityFrequency)

quantity(exactly one occurrence; of the type xsd:decimal)

totalQuantity(exactly one occurrence; of the type xsd:decimal)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="CommodityNotional">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Commodity Notional.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="ReturnSwapNotional">
      <xsd:sequence>
        <xsd:group ref="Unit.model"/>
        <xsd:group ref="Quantity.model"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

CommodityReferencePrice

Description:

Commodity Reference Price as specified by ISDA 2005 Commodity Definition Annexes.

Figure:

Contents:

specifiedPrice(exactly one occurrence; of the type SpecifiedPrice)

priceCurrency(exactly one occurrence; of the type Currency)

priceUnit(exactly one occurrence; of the type PriceUnit)

rounding(zero or one occurence(s); of the type Rounding)

Used by:

Schema Fragment:

<xsd:complexType name="CommodityReferencePrice">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Commodity Reference Price as specified by ISDA 2005 Commodity
      Definition Annexes.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="specifiedPrice" type="SpecifiedPrice">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Specified price used to calculate the price on a transaction.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:group ref="Price.model"/>
    <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>

CommoditySwap

Description:

Commodity Swap.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type Product)

There can be one or any number of occurrences of the following choice: Choice of either

Or


marketDisruption(zero or one occurence(s); of the type CommodityMarketDisruption)

rounding(zero or one occurence(s); of the type Rounding)

Used by:

Extension of:

Schema Fragment:

<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:choice maxOccurs="unbounded">
          <xsd:element name="fixedLeg" type="FixedPriceLeg">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Fixed Price Leg.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="floatLeg" type="FloatingPriceLeg">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Floating Price leg.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:choice>
        <xsd:group ref="CommodityContent.model" minOccurs="0"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

FixedPrice

Description:

Fixed Price.

Figure:

Contents:

price(exactly one occurrence; of the type xsd:decimal)

priceCurrency(exactly one occurrence; of the type Currency)

priceUnit(exactly one occurrence; of the type PriceUnit)

Used by:

Schema Fragment:

<xsd:complexType name="FixedPrice">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Fixed Price.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="price" type="xsd:decimal"/>
    <xsd:group ref="Price.model"/>
  </xsd:sequence>
</xsd:complexType>

FixedPriceLeg

Description:

Fixed Price Leg of a Return Swap.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type ReturnSwapLeg)

fixedPrice(exactly one occurrence; of the type FixedPrice)

notional(exactly one occurrence; of the type ReturnSwapNotional)

paymentDates(exactly one occurrence; of the type AdjustableOrRelativeDates)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="FixedPriceLeg">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Fixed Price Leg of a Return Swap.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="ReturnSwapLeg">
      <xsd:sequence>
        <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="notional" type="ReturnSwapNotional">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Notional on which fixed payments are based.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="paymentDates" type="AdjustableOrRelativeDates">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Dates on which fixed price payments will be made.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

FloatingPriceLeg

Description:

Floating Price Leg of a Return Swap.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type ReturnSwapLeg)

effectiveDate(exactly one occurrence; of the type AdjustableOrRelativeDate)

terminationDate(exactly one occurrence; of the type AdjustableOrRelativeDate)

underlyer(exactly one occurrence; of the type Underlyer)

return(exactly one occurrence; of the type FloatLegValuation)

notional(exactly one occurrence; of the type CommodityNotional)

amount(exactly one occurrence; of the type FloatLegAmount)

fxFeature(zero or one occurence(s); of the type FxFeature)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="FloatingPriceLeg">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Floating Price Leg of a Return Swap.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="ReturnSwapLeg">
      <xsd:sequence>
        <xsd:element name="effectiveDate" type="AdjustableOrRelativeDate">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the effective date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="terminationDate" type="AdjustableOrRelativeDate">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the termination date.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="underlyer" type="Underlyer">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the underlying component, which can be either
              one or many and consists of either equity, index, bond,
              or commodity component, or a combination of these.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="return" type="FloatLegValuation">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The parameters for defining when valuation of the
              underlying which drives return takes place.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="notional" type="CommodityNotional">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the notional of a return type swap. When used
              in the float leg, the definition will typically combine
              the actual amount (using the notional component) and the
              determination method.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="amount" type="FloatLegAmount">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies, in relation to each Payment Date, the amount
              to which the Payment Date relates. Unless otherwise
              specified, this term has the meaning defined in the ISDA
              2000 ISDA Definitions.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="fxFeature" type="FxFeature" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              A Quanto or Composite FX Feature.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

FloatLegAmount

Description:

Float Leg Amount.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type LegAmount)

settlementType(exactly one occurrence; of the type SettlementTypeEnum)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="FloatLegAmount">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Float Leg Amount.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="LegAmount">
      <xsd:sequence>
        <xsd:element name="settlementType" type="SettlementTypeEnum"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

FloatLegValuation

Description:

Floating Leg Valuation.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type UnderlyerValuation)

paymentDates(exactly one occurrence; of the type AdjustableOrRelativeDates)

Used by:

Extension of:

Schema Fragment:

<xsd:complexType name="FloatLegValuation">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Floating Leg Valuation.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="UnderlyerValuation">
      <xsd:sequence>
        <xsd:element name="paymentDates" type="AdjustableOrRelativeDates">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Specifies the payment dates of the swap.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

MarketDisruptionEvent

Description:

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type xsd:normalizedString)

Attribute: commodityMarketDisruptionScheme (xsd:anyURI)

Used by:

Schema Fragment:

<xsd:complexType name="MarketDisruptionEvent">
  <xsd:simpleContent>
    <xsd:extension base="xsd:normalizedString">
      <xsd:attribute name="commodityMarketDisruptionScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-market-disruption-1-0"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

MarketDisruptionFallback

Description:

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type xsd:token)

Attribute: commodityMarketDisruptionFallbackScheme (xsd:anyURI)

Used by:

Schema Fragment:

<xsd:complexType name="MarketDisruptionFallback">
  <xsd:simpleContent>
    <xsd:extension base="xsd:token">
      <xsd:attribute name="commodityMarketDisruptionFallbackScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-market-disruption-fallback-1-0.xml"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

PriceUnit

Description:

A Price Unit classification.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type xsd:token)

Attribute: priceUnitScheme (xsd:anyURI)

Used by:

Schema Fragment:

<xsd:complexType name="PriceUnit">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A Price Unit classification.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:token">
      <xsd:attribute name="priceUnitScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/price-unit-1-0"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

QuantityFrequency

Description:

A Quantity Frequency

Figure:

Contents:

periodMultiplier(exactly one occurrence; of the type xsd:integer)

period(exactly one occurrence; of the type PeriodEnum)

Used by:

Schema Fragment:

<xsd:complexType name="QuantityFrequency">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      A Quantity Frequency
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="periodMultiplier" type="xsd:integer">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A time period multiplier, e.g. 1, 2 or 3 etc. A negative
          value can be used when specifying an offset relative to
          another date, e.g. -2 days. If the period value is T (Term)
          then periodMultiplier must contain the value 1.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="period" type="PeriodEnum">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A time period, e.g. a day, week, month, year or term of the
          stream. If the periodMultiplier value is 0 (zero) then period
          must contain the value D (day).
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

QuantityUnit

Description:

Quantity Unit classification.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type xsd:token)

Attribute: quantityUnitScheme (xsd:anyURI)

Used by:

Schema Fragment:

<xsd:complexType name="QuantityUnit">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Quantity Unit classification.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:token">
      <xsd:attribute name="quantityUnitScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/quantity-unit-1-0"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

SpecifiedPrice

Description:

Specified price used to calculate the price on a transaction.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type xsd:token)

Attribute: specifiedPriceScheme (xsd:anyURI)

Used by:

Schema Fragment:

<xsd:complexType name="SpecifiedPrice">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Specified price used to calculate the price on a transaction.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:simpleContent>
    <xsd:extension base="xsd:token">
      <xsd:attribute name="specifiedPriceScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/specified-price-1-0"/>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

UnderlyerValuation

Description:

Underlyer Valuation.

Figure:

Contents:

Inherited element(s): (This definition inherits the content defined by the type EquityValuation)

spreadSchedule(zero or any number of occurrences; of the type SpreadSchedule)

commonPricing(zero or one occurence(s); of the type xsd:boolean)

referencePrice(zero or one occurence(s); of the type CommodityReferencePrice)

pricingDates(zero or one occurence(s); of the type AdjustableOrRelativeDates)

priceSource(zero or one occurence(s); of the type InformationSource)

averagingMethod(zero or one occurence(s); of the type AveragingMethodEnum)

Used by:

Extension of:

Derived Types:

Schema Fragment:

<xsd:complexType name="UnderlyerValuation">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Underlyer Valuation.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
    <xsd:extension base="EquityValuation">
      <xsd:sequence>
        <xsd:element name="spreadSchedule" type="SpreadSchedule" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:group ref="Pricing.model"/>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

Global Global Elements

commoditySwap

Description:

Defines a commodity swap product.

Figure:

Contents:

commoditySwap(exactly one occurrence; of the type CommoditySwap)

Used by:

Schema Fragment:

<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>

Global Groups

CommodityContent.model

Description:

Model group which Commodity Swap and Derivative content elements.

Figure:

Contents:

marketDisruption(zero or one occurence(s); of the type CommodityMarketDisruption)

rounding(zero or one occurence(s); of the type Rounding)

Used by:

Schema Fragment:

<xsd:group name="CommodityContent.model">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Model group which Commodity Swap and Derivative content elements.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="marketDisruption" type="CommodityMarketDisruption" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Market disruption events as defined by ISDA 2005 Commodity
          Definitions.
        </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>

Price.model

Description:

Price model group.

Figure:

Contents:

priceCurrency(exactly one occurrence; of the type Currency)

priceUnit(exactly one occurrence; of the type PriceUnit)

Used by:

Schema Fragment:

<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">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Currency of the price units (index, or securities, or
          commodity).
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="priceUnit" type="PriceUnit">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Price Unit is the unit of measure applicable for the price on
          the transaction.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:group>

Pricing.model

Description:

Pricing model group.

Figure:

Contents:

commonPricing(zero or one occurence(s); of the type xsd:boolean)

referencePrice(zero or one occurence(s); of the type CommodityReferencePrice)

pricingDates(zero or one occurence(s); of the type AdjustableOrRelativeDates)

priceSource(zero or one occurence(s); of the type InformationSource)

averagingMethod(zero or one occurence(s); of the type AveragingMethodEnum)

Used by:

Schema Fragment:

<xsd:group name="Pricing.model">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Pricing model group.
    </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="referencePrice" type="CommodityReferencePrice" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Commodity Reference Price.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="pricingDates" type="AdjustableOrRelativeDates" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Commodity Pricing Dates.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="priceSource" type="InformationSource" minOccurs="0">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Indicates which price source is used to calculate the price
          on a transaction. Holiday dates will differ by Pricing
          Calendar.
        </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:sequence>
</xsd:group>

Quantity.model

Description:

Quantity element group.

Figure:

Contents:

quantityFrequency(exactly one occurrence; of the type QuantityFrequency)

quantity(exactly one occurrence; of the type xsd:decimal)

totalQuantity(exactly one occurrence; of the type xsd:decimal)

Used by:

Schema Fragment:

<xsd:group name="Quantity.model">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Quantity element group.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="quantityFrequency" type="QuantityFrequency">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Rate at which quantity is quoted in the transaction.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="quantity" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Amount of commodity per quantity frequency.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
    <xsd:element name="totalQuantity" type="xsd:decimal">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Total amount of commodity.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>
  </xsd:sequence>
</xsd:group>

Unit.model

Description:

Unit element group.

Figure:

Contents:

priceCurrency(exactly one occurrence; of the type Currency)

priceUnit(exactly one occurrence; of the type PriceUnit)

quantityUnit(exactly one occurrence; of the type QuantityUnit)

Used by:

Schema Fragment:

<xsd:group name="Unit.model">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Unit element group.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:group ref="Price.model"/>
    <xsd:element name="quantityUnit" type="QuantityUnit">
      <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:sequence>
</xsd:group>

Full XML Schema

<xsd:schema ecore:nsPrefix="fpml" ecore:package="org.fpml" ecore:documentRoot="FpML" targetNamespace="http://www.fpml.org/FpML-5-0/confirmation" version="$Revision: $" attributeFormDefault="unqualified" elementFormDefault="qualified">
  <xsd:include schemaLocation="fpml-asset-5-0.xsd"/>
  <xsd:include schemaLocation="fpml-shared-5-0.xsd"/>
  <xsd:include schemaLocation="fpml-eq-shared-5-0.xsd"/>
  <xsd:complexType name="CommodityMarketDisruption">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Commodity Market Disruption elements.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:choice>
        <xsd:element name="marketDisruption" type="xsd:boolean"/>
        <xsd:element name="marketDisruptionEvent" type="MarketDisruptionEvent" maxOccurs="unbounded"/>
      </xsd:choice>
      <xsd:element name="additionalMarketDisruptionEvent" type="MarketDisruption" minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element name="disruptionFallback" type="MarketDisruptionFallback" minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element name="fallbackReferencePrice" type="CommodityReferencePrice" minOccurs="0"/>
      <xsd:element name="maximumNumberOfDaysOfDisruption" type="xsd:nonNegativeInteger" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CommodityNotional">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Commodity Notional.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ReturnSwapNotional">
        <xsd:sequence>
          <xsd:group ref="Unit.model"/>
          <xsd:group ref="Quantity.model"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="CommodityReferencePrice">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Commodity Reference Price as specified by ISDA 2005 Commodity
        Definition Annexes.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="specifiedPrice" type="SpecifiedPrice">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Specified price used to calculate the price on a
            transaction.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="Price.model"/>
      <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="CommoditySwap">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Commodity Swap.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="Product">
        <xsd:sequence>
          <xsd:choice maxOccurs="unbounded">
            <xsd:element name="fixedLeg" type="FixedPriceLeg">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Fixed Price Leg.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="floatLeg" type="FloatingPriceLeg">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Floating Price leg.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <xsd:group ref="CommodityContent.model" minOccurs="0"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FixedPrice">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Fixed Price.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="price" type="xsd:decimal"/>
      <xsd:group ref="Price.model"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="FixedPriceLeg">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Fixed Price Leg of a Return Swap.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ReturnSwapLeg">
        <xsd:sequence>
          <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="notional" type="ReturnSwapNotional">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Notional on which fixed payments are based.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="paymentDates" type="AdjustableOrRelativeDates">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Dates on which fixed price payments will be made.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FloatLegAmount">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Float Leg Amount.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="LegAmount">
        <xsd:sequence>
          <xsd:element name="settlementType" type="SettlementTypeEnum"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FloatLegValuation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Floating Leg Valuation.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="UnderlyerValuation">
        <xsd:sequence>
          <xsd:element name="paymentDates" type="AdjustableOrRelativeDates">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the payment dates of the swap.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="FloatingPriceLeg">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Floating Price Leg of a Return Swap.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ReturnSwapLeg">
        <xsd:sequence>
          <xsd:element name="effectiveDate" type="AdjustableOrRelativeDate">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the effective date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="terminationDate" type="AdjustableOrRelativeDate">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the termination date.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="underlyer" type="Underlyer">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the underlying component, which can be either
                one or many and consists of either equity, index, bond,
                or commodity component, or a combination of these.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="return" type="FloatLegValuation">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The parameters for defining when valuation of the
                underlying which drives return takes place.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="notional" type="CommodityNotional">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies the notional of a return type swap. When used
                in the float leg, the definition will typically combine
                the actual amount (using the notional component) and
                the determination method.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="amount" type="FloatLegAmount">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Specifies, in relation to each Payment Date, the amount
                to which the Payment Date relates. Unless otherwise
                specified, this term has the meaning defined in the
                ISDA 2000 ISDA Definitions.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fxFeature" type="FxFeature" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                A Quanto or Composite FX Feature.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="MarketDisruptionEvent">
    <xsd:simpleContent>
      <xsd:extension base="xsd:normalizedString">
        <xsd:attribute name="commodityMarketDisruptionScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-market-disruption-1-0"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="MarketDisruptionFallback">
    <xsd:simpleContent>
      <xsd:extension base="xsd:token">
        <xsd:attribute name="commodityMarketDisruptionFallbackScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/commodity-market-disruption-fallback-1-0.xml"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="PriceUnit">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A Price Unit classification.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:token">
        <xsd:attribute name="priceUnitScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/price-unit-1-0"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="SpecifiedPrice">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Specified price used to calculate the price on a transaction.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:token">
        <xsd:attribute name="specifiedPriceScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/specified-price-1-0"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="QuantityFrequency">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        A Quantity Frequency
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="periodMultiplier" type="xsd:integer">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A time period multiplier, e.g. 1, 2 or 3 etc. A negative
            value can be used when specifying an offset relative to
            another date, e.g. -2 days. If the period value is T (Term)
            then periodMultiplier must contain the value 1.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="period" type="PeriodEnum">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A time period, e.g. a day, week, month, year or term of the
            stream. If the periodMultiplier value is 0 (zero) then
            period must contain the value D (day).
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="QuantityUnit">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Quantity Unit classification.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:token">
        <xsd:attribute name="quantityUnitScheme" type="xsd:anyURI" default="http://www.fpml.org/coding-scheme/quantity-unit-1-0"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="UnderlyerValuation">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Underlyer Valuation.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="EquityValuation">
        <xsd:sequence>
          <xsd:element name="spreadSchedule" type="SpreadSchedule" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:group ref="Pricing.model"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <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:group name="CommodityContent.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Model group which Commodity Swap and Derivative content
        elements.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="marketDisruption" type="CommodityMarketDisruption" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Market disruption events as defined by ISDA 2005 Commodity
            Definitions.
          </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="Price.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Price model group.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="priceCurrency" type="Currency">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Currency of the price units (index, or securities, or
            commodity).
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="priceUnit" type="PriceUnit">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Price Unit is the unit of measure applicable for the price
            on the transaction.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="Pricing.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Pricing model group.
      </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="referencePrice" type="CommodityReferencePrice" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Commodity Reference Price.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="pricingDates" type="AdjustableOrRelativeDates" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Commodity Pricing Dates.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="priceSource" type="InformationSource" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Indicates which price source is used to calculate the price
            on a transaction. Holiday dates will differ by Pricing
            Calendar.
          </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:sequence>
  </xsd:group>
  <xsd:group name="Quantity.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Quantity element group.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="quantityFrequency" type="QuantityFrequency">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Rate at which quantity is quoted in the transaction.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="quantity" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Amount of commodity per quantity frequency.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="totalQuantity" type="xsd:decimal">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Total amount of commodity.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:group>
  <xsd:group name="Unit.model">
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
        Unit element group.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:group ref="Price.model"/>
      <xsd:element name="quantityUnit" type="QuantityUnit">
        <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:sequence>
  </xsd:group>
</xsd:schema>