FpML Issues Tracker

1123: Wrong attribute type for complex type IdentifiedPayerReceiver

May 30, 2012

closed

Minor

Always

Interest Rate Derivatives

cottona

h_mcallister

Summary

The fpml IRD xsd defines a complex type called IdentifiedPayerReceiver in file fpml-shared-5-3.xsd. This type has a single attribute called id of type xsd:ID which should indicate which counterparty of the trade is the payer or receiver. Using type xsd:ID is defining a new reference to be used somewhere else in the XML document when really what is needed here is a use of an existing reference that has been defined somewhere else. In all other cases where a reference to a counterparty is required the type is xsd:IDREF and I think that should be the case here as well.

Notes:

  • h_mcallister

    05/30/12 11:52 am

    This issue report is based on a misreading of the purpose of the id attribute under IdentifiedPayerReceiver.

    IdentifiedPayerReceiver serves as the type of the optional “buyer” and “seller” elements within Strike and StrikeSchedule. IdentifiedPayerReceiver extends PayerReceiverEnum with the addition of an id attribute – the values of PayerReceiverEnum are “Payer” and “Receiver”.

    The use of the enumeration ensures that the buyer & seller of the strike rate are defined exclusively in terms of the payer & receiver parties to the containing InterestRateStream, and not any other party to the trade (e.g. a broker).

    Then the *value* of the buyer|seller element indicates “which counterparty of the trade is the payer or receiver”, and the purpose of the id attribute is to serve as the *target* of a reference from some other component of the trade.

    Note: the Strike[_Schedule] buyer & seller elements have carried an id attribute since FpML 2.0 (the transition to the formal “Identified-” type occurred at FpML 4-1). This must have seemed a good idea at some point, but as far as I aware the id’s remain un-used.

  • mgratacos

    06/15/12 11:01 am

    This is not an issue. The IdentifiedPayerReceiver adds an optional id to the PayerReceiverEnum enumeration value (with values Payer and Receiver). I don’t think the id attribute is ever used as a reference but the purpose is not to create an IDREF pointing to the party structure somewhere.

  • Leave an update

    You must be logged in to post an update.