FpML Issues Tracker

833: Context in ird-59 is too high

September 17, 2008

closed

Minor

Always

Validation Rules

Admin

None

Summary

The context in rule ird-59 is too high, as part of the rule to be evaluated lies outside the context.

The rule today is: " ird-59 (Mandatory) Context: ResetDates (complex type) In calculationPeriodDatesReference, the @href attribute = the @id attribute of calculationPeriodDates in the same swapStream. "

The phrase "the same swapStream" is undefined. If we assume it to mean ../calculationPeriodDates then the only problem is that it is out of context. It isn't visible from the context.

The solution is to raise the context to the appropriate level: " ird-59 (Mandatory) Context: InterestRateStream (complex type) id(resetDates/calculationPeriodDatesReference/@href) is calculationPeriodDates. "

Notice that I use "is" instead of "=" because this needs to be the very same element, and not just have the same value. What is required is an identity test not a value equivalence test.

There is a further complication in that resetDates is optional. This requires the addition of a guard upon the rule. The revised proposal is then: " ird-59 (Mandatory) Context: InterestRateStream (complex type) [exists(resetDates)] id(resetDates/calculationPeriodDatesReference/@href) is calculationPeriodDates. "

Given that there is always only ever at most one "resetDates/calculationPeriodDatesReference" and "calculationPeriodDates" then it seems to me that "resetDates/calculationPeriodDatesReference" contains no additional information and is redundant in the XML document. If this value was not present it would not change the interpretation of the XML document. The rule is fine, but the field the rule is upon appear un-necessary. Is the field just a convenience?

Notes:

  • matthewdr

    12/09/08 2:21 pm

    Agreed at the VWG today to implemented the proposed fix.

  • lyteck

    12/09/08 8:27 pm

    Implemented Formal Description as proposed.

    Modified English Description as:
    In resetDates/calculationPeriodDatesReference, the @href attribute is equal to the @id attribute of calculationPeriodDates in the same InterestRateStream

  • matthewdr

    12/10/08 10:14 am

    Tested, passed, closing.

  • Leave an update

    You must be logged in to post an update.