FpML Issues Tracker

1258: Recordkeeping Schema missing includes

January 25, 2019









The fpml-recordkeeping-processes-5-10.xsd is missing several includes because of which it excludes several product substitution groups. This issue may be in other versions of Record keeping schema also. It was corrected by manually including them. The list of includes missing is as below:

<xsd:include schemaLocation="fpml-generic-5-10.xsd"/> <xsd:include schemaLocation="fpml-standard-5-10.xsd"/> <xsd:include schemaLocation="fpml-ird-5-10.xsd"/> <xsd:include schemaLocation="fpml-fx-5-10.xsd"/> <xsd:include schemaLocation="fpml-fx-targets-5-10.xsd"/> <xsd:include schemaLocation="fpml-fx-accruals-5-10.xsd"/> <xsd:include schemaLocation="fpml-eqd-5-10.xsd"/> <xsd:include schemaLocation="fpml-return-swaps-5-10.xsd"/> <xsd:include schemaLocation="fpml-cd-5-10.xsd"/> <xsd:include schemaLocation="fpml-bond-option-5-10.xsd"/> <xsd:include schemaLocation="fpml-correlation-swaps-5-10.xsd"/> <xsd:include schemaLocation="fpml-dividend-swaps-5-10.xsd"/> <xsd:include schemaLocation="fpml-variance-swaps-5-10.xsd"/> <xsd:include schemaLocation="fpml-volatility-swaps-5-10.xsd"/> <xsd:include schemaLocation="fpml-repo-5-10.xsd"/>



  • iyermakova

    04/03/19 3:14 pm

    Hi Rajesh,

    could you please provide more specific example of the issue. You can attache an FpML message that using record-keeping process with the products which you said it did not work, so we can review it.

    As I could not replicate your issue based on your description. Here what I did: I just used a Repo product representation in the “nonpublicExecutionReport” reporting message which is part of the  fpml-recordkeeping-processes-5-10.xsd process and it worked for me.

    Thank you,

    Irina Yermakova

  • rajesh.taparia

    04/03/19 4:33 pm

    Hi Irina, If you open the FpML project after unzipping the 5.10 recordkeeping zip file in XMLSpy and expand the element nonPublicExecutionReport under fpml-recordkeeping-processes-5-10.xsd and then expand trade element and see the product substitution groups listed under product element. You will see that several product types are not displayed by XMLSpy schema browser as part of product substitution groups. While individual schemas where different product substitution groups are defined are present in the folder/project, they are not included in the fpml-recordkeeping-processes-5-10.xsd schema and therefore the link gets broken when trying to view them from the fpml-recordkeeping-processes-5-10.xsd in XML spy schema browser.

  • iyermakova

    04/04/19 10:35 am


    Hi Rajesh,

    I followed your steps… and it looks like a tool’s diagram representation limitation, rather than FpML.

    You can check what products supported in a particular FpML view set with the following steps:

    1. The sub-schemes with the supported products are “included” in the fpml-main.xsd

    <xsd:documentation xml:lang=”en”>products</xsd:documentation>
    <xsd:include schemaLocation=”fpml-generic-5-10.xsd” />
    <xsd:include schemaLocation=”fpml-standard-5-10.xsd” />
    <xsd:include schemaLocation=”fpml-ird-5-10.xsd” />
    <xsd:include schemaLocation=”fpml-fx-5-10.xsd” />
    <xsd:include schemaLocation=”fpml-fx-targets-5-10.xsd” />
    <xsd:include schemaLocation=”fpml-fx-accruals-5-10.xsd” />
    <xsd:include schemaLocation=”fpml-eqd-5-10.xsd” />
    <xsd:include schemaLocation=”fpml-return-swaps-5-10.xsd” />
    <xsd:include schemaLocation=”fpml-cd-5-10.xsd” />
    <xsd:include schemaLocation=”fpml-bond-option-5-10.xsd” />
    <xsd:include schemaLocation=”fpml-correlation-swaps-5-10.xsd” />
    <xsd:include schemaLocation=”fpml-dividend-swaps-5-10.xsd” />
    <xsd:include schemaLocation=”fpml-variance-swaps-5-10.xsd” />
    <xsd:include schemaLocation=”fpml-volatility-swaps-5-10.xsd” />
    <xsd:include schemaLocation=”fpml-com-5-10.xsd” />
    <xsd:include schemaLocation=”fpml-repo-5-10.xsd” />

    1. If you go to each of these sub-scheme, towards the end, you find list of the products.

    For example, in the fpml-ird-5-10.xsd, you find the below products. As you can see they are all part of the “substitutionGroup=”product” and if you expand each of the products, you would see that they have base class “Product”. These two technics, will allow you to place all this product where you see the place holder “product”, just like in the “trade”.

    —Head of the substitution group—

    <xsd:element name=”product” type=”Product” abstract=”true”/>

    —Product substitution group——

    <xsd:element name=”bulletPayment” type=”BulletPayment” substitutionGroup=”product”/>
    <xsd:element name=”capFloor” type=”CapFloor” substitutionGroup=”product”/>
    <xsd:element name=”fra” type=”Fra” substitutionGroup=”product”/>
    <xsd:element name=”swap” type=”Swap” substitutionGroup=”product”/>
    <xsd:element name=”swaption” type=”Swaption” substitutionGroup=”product”/>

    —– Head of the substitution group for IRS product variation ——

    —— Product substitution group ——–

    <xsd:element name=”rateCalculation” type=”Rate” abstract=”true”/>


    <xsd:element name=”floatingRateCalculation” type=”FloatingRateCalculation” substitutionGroup=”rateCalculation”/>

    <xsd:element name=”inflationRateCalculation” type=”InflationRateCalculation” substitutionGroup=”rateCalculation”/>

    So, the FpML  recordkeeping view schema is not really missing the includes.

    Hope this explains.


    Irina Yermakova

  • iyermakova

    04/08/19 12:01 pm

    There is not FpML related issues. All supported in the recordkeeping view products are present in the FpML Recordkeeping view schema set.

  • Leave an update

    You must be logged in to post an update.