A number of data elements defined in FpML are restricted to holding one of a limited set of possible values, e.g. currency, business centers, etc. Such restricted sets of values are frequently referred to as domains.

Domains in FpML that are expected to change over time are coded using a strategy that has been defined by the Architecture Working Group, referred to as 'Coding Schemes'. 

Each Coding Scheme is associated with a URI. Coding Schemes can be categorized as one of the following:

* An external coding Scheme, which has a well-known URI. In this case the URI is assigned by an external body, and may or may not have its own versioning, date syntax and semantics.
 
* An external coding Scheme, which does not have a well-known URI. In this case FpML assigns a URI as a proxy to refer to the concept of the external Scheme.  URI will not be versioned.

* An FpML-defined coding Scheme. In this case the Scheme is fully under FpML control and the URI will change reflecting newer versions and revisions as the scheme evolves and changes.

A coding scheme provides alternate identifiers for one identity. It is not used to identify things other than the identity of the thing that contains it.


The "codelist.zip" file contains the following coding Scheme XML files:

FpML Schemes (represented in XML)
================================
 account-type
 allocation-reporting-status
 asset-class 
 asset-measure
 broker-confirmation-type
 bullion-delivery-location
 business-center
 business-process
 cashflow-type
 category
 cdx-index-annex-source
 clearance-system
 clearing-status
 collateral-dispute-resolution-method-code
 collateral-dispute-resolution-method-reason
 collateral-dispute-resolution-reason - (missing)
 collateral-interest-response-reason
 collateral-margin-call-response-reason
 collateral-margin-call-response-reason-code - missing
 collateral-response-reason
 collateral-response-reason-code - (missing)
 collateral-retraction-reason
 collateral-retraction-reason-code - (missing)
 collateral-substitution-response-reason
 collateral-type
 commodity-business-calendar
 commodity-coal-product-source
 commodity-coal-product-type
 commodity-coal-quality-adjustments
 commodity-coal-transportation-equipment
 commodity-code - (The CFTC based code for Large Trader Position Reporting (Part 20) purposes)
 commodity-delivery-risk
 commodity-environmental-tracking-system
 commodity-expire-relative-to-event
 commodity-floating-rate-index (working-draft - FpML 5-5)
 commodity-frequency-type
 commodity-fx-type
 commodity-information-provider
 commodity-market-disruption
 commodity-market-disruption-fallback
 commodity-metal-brand-manager
 commodity-metal-brand-name
 commodity-metal-product-type
 commodity-metal-shape 
 commodity-oil-product-grade
 commodity-oil-product-type
 commodity-pay-relative-to-event
 commodity-quantity-frequency
 commodity-reference-price-1-0 - (version 1-0 - not in use)
 commodity-reference-price - (starting with version 2-0 - The CFTC based code for Large Trader Position Reporting (Part 20) purposes )
 compounding-frequency
 compression-type
 confirmation-method
 confirmation-type  (missing)
 contractual-definitions
 contractual-supplement
 corporate-action (working-draft - FpML 5-5) 
 coupon-type
 credit-document
 credit-matrix-transaction-type
 credit-seniority
 credit-seniority-trading
 credit-support-agreement-type
 cut-name
 day-count-fraction
 declear-reason
 derivative-calculation-method
 designated-priority
 determination-method
 embedded-option-type
 entity-type
 event-status
 execution-type
 execution-venue-type
 exposure-type
 facility-type
 floating-rate-index
 generic-exercise-style  (working-draft - FpML 5-5) 
 governing-law
 index-annex-source - (missing)
 inflation-index-description
 inflation-index-source
 inflation-main-publication
 information-provider
 interpolation-method
 local-jurisdiction
 loan-type - missing
 market-disruption
 master-agreement-type
 master-agreement-version
 master-confirmation-annex-type
 master-confirmation-type
 matrix-type
 mortgage-sector
 option-type
 organization-characteristic
 organization-type
 org-type-category
 originating-event
 party-role
 party-role-type
 person-role
 perturbation-type
 position-change-type
 position-status
 position-update-reason-code
 price-quote-units
 pricing-input-type
 pricing-model (working-draft - FpML 5-5) 
 product-taxonomy
 product-type-simple
 query-parameter-operator
 quote-timing
 reason-code
 region
 regulator
 regulatory-corporate-sector (working-draft - FpML 5-5) 
 reporting-currency-type
 reporting-purpose
 reporting-regime
 reporting-regime-name
 reporting-role
 requested-action
 requested-collateral-allocation-action (working-draft - FpML 5-5) 
 requested-withdrawal-action
 resource-type
 restructuring
 routing-id-code - (missing)
 scheduled-date-type
 service-advisory-category
 service-processing-cycle
 service-processing-event
 service-processing-step
 service-status
 set-of-schemes
 settled-entity-matrix-source
 settlement-method
 settlement-price-default-election
 settlement-price-source
 settlement-rate-option
 spread-schedule-type
 supervisory-body
 terminating-event
 trade-cashflows-status
 transaction-characteristic
 unit-role
 valuation-set-detail - (missing)
 verification-method
 verification-status
 weather-data-provider
 weather-index-reference-level
 withdrawal-reason
 
External Schemes (represented in Specification, not in XML)
===========================================================
 countryScheme - provides codes for country
 creditRatingScheme - Contains a code representing the credit rating agencies
 currencyScheme - provides codes for currency
 entityIdScheme - qualifier for using entity identifiers
 entityNameScheme - specifies entity names used
 exchangeIdScheme - specifies a set of exchange identifiers
 floatingRateIndexScheme - allows floating rate index code definitions - (represented in xml)
 industryClassificationScheme - Contains a code representing the party's industry sector classification
 instrumentIdScheme - specifies a set of instrument identifiers
 issuerIdScheme - provides code for identifying issuers of Unique Swap IDs (USIs), also known as Unique Transaction Identifiers.  This code follows the CFTC's 10 character issuer identification system, which begins with 102 or 103 to identify CFTC vs. NFA issued organization identifiers.
 partyIdScheme - provides codes for identification of parties
 routingIdCodeScheme - The specification of the routing id code, which can be used to determine the coding convention for the settlement
 weatherStationAirportScheme - A code identifying a Weather Station Airport (based on the the IATA standard) in ftp://ftp.ncdc.noaa.gov/pub/data/inventories/COOP.TXT
 weatherStationWBANScheme - A code identifying a Weather Station WBAN in ftp://ftp.ncdc.noaa.gov/pub/data/inventories/COOP.TXT
 weatherStationWMOScheme - A code identifying a Weather Index WMO in ftp://ftp.ncdc.noaa.gov/pub/data/inventories/COOP.TXT


Additional Information
======================
The Coding Schemes follow the content model defined by the CodeList.xsd schema file.

The FpML coding Schemes have been validated using Xerces J v 2.4.1.

For more information about Code Lists, visit:
http://www.genericode.org/
http://www.idealliance.org/proceedings/xml04/abstracts/paper86.html 