FpML Issues Tracker

734: ln-2 fixes for missing else and for type of value and for missing comment

June 6, 2008

closed

Minor

Always

Validation Rules

Admin

lyteck

Summary

ln-2 requires fixes for the missing else clause, and for the missing type of the keyword.

The missing else clause is solved by adding the correct condition as per the VWG's approved way of writing the rules.

The FpML Rules when quoting a literal value have always given its type. For example cd-3 has "...must not begin with the string ISDA2003Credit". The value "PRIME" in ln-2 is a normalizedString. This should be given as per the other FpML rules.

A comment would help explain the rule.

The fixed rule looks like: " ln-2 (Mandatory) Context: LoanContract (complex type)[currentInterestRatePeriod/floatingRateIndex = normalizedString("PRIME")] Rule: currentInterestRatePeriod/rateFixingDate = effectiveDate. Comment: For a LoanContract the fixing date for the rate is always the effective date of the contract.

Notes:

  • matthewdr

    06/06/08 6:47 pm

    The old rule was:


    ln-2 (Mandatory)
    If currentInterestRatePeriod/floatingRateIndex = PRIME then currentInterestRatePeriod/rateFixingDate = effectiveDate.

  • lyteck

    07/21/08 8:48 pm

    implemented as (after update from Bhavik/Marc):

    “ln-2
    context: DrawdownNotice (complexe type)
    [if loanContract exists][if loanContract/currentInterestRatePeriod/floatingRateIndex contains the normalizedString ‘PRIME’]
    loanContract/currentInterestRatePeriod/rateFixingDate = loanContract/effectiveDate.”

  • matthewdr

    08/12/08 3:53 pm

    The current rule:


    ln-2 (Mandatory)
    Context: DrawdownNotice (complex type)
    [if loanContract exists] [if loanContract/currentInterestRatePeriod/floatingRateIndex contains the normalizedString PRIME]
    loanContract/currentInterestRatePeriod/rateFixingDate = loanContract/effectiveDate.

    The problem is that the phrase “contains” is incorrect. The operator should be “=”. Contains is not strong enough.

    Corrected:

    ln-2 (Mandatory)
    Context: DrawdownNotice (complex type)
    [loanContract exists] [loanContract/currentInterestRatePeriod/floatingRateIndex = normalizedString PRIME]
    loanContract/currentInterestRatePeriod/rateFixingDate = loanContract/effectiveDate.

  • lyteck

    08/18/08 7:50 pm

    fixed as suggested (contains -> =)

  • matthewdr

    08/19/08 5:12 pm

    The first problem is the comment has become lost. The comment agreed by the WG was: “Comment: For a LoanContract the fixing date for the rate is always the effective date of the contract.”.

    The second problem is the guard is:
    “[loanContract/currentInterestRatePeriod/floatingRateIndex = normalizedString PRIME]”

    What was agreed was:
    [loanContract/currentInterestRatePeriod/floatingRateIndex = normalizedString(“PRIME”)]

    There is a rule in the style guide that functions (like normalizedString), must be written using brackets. Otherwise paths, names, and plain English get confused.

  • lyteck

    08/19/08 7:32 pm

    – added missing comment
    – changed to normalizedString(“PRIME”)

  • matthewdr

    08/20/08 9:25 am

    Accepting resolution after review.

  • Leave an update

    You must be logged in to post an update.