691: ird-26 should be moved from IRD to IDREF rules

The ird-26 rule should be an ID/IDREF Rule, instead of a IRD rule. Please move its category. The rule today is: ” Context: BusinessCentersReference (complex type) ird-26 (Mandatory) The @href attribute must match the @id attribute of a businessCenters element somewhere within the document. ”

690: ird-58 is missing an else clause

ird-58 is missing an else clause as currently expressed. The problem is that there is no result if the “if” clause isn’t satisfied. The rule today: ” Context: CalculationPeriodDates ird-58 (Mandatory) Preconditions: isParametric If rollConvention is a day of the week ( MON, TUE, WED, THU, FRI, SAT or SUN) then the period must be … Continued

689: ird-57 is missing an else clause, that should be a condition

Rule ird-57 as currently expressed is missing an else clause on its “if”. This leads to a situation where there is no result for the rule. The rule today is: ” Context: CalculationPeriodDates (complex type) ird-57 (Mandatory) Preconditions: isParametric If rollConvention is neither NONE nor SFE, nor a day of the week ( MON, TUE, … Continued

688: replace present with exists

Some of the Validation Rules still contain the function “present” rather than “exists”. To bring the rules into line with the other VWG rules, aand in to line with the VWG’s decision on using “exists”, these should be changed to “exists”.

687: rules-english-ird-wip.xml

What is the state of this file? Nothing has happened to it since 2005-10-03. It appears to be redundant. If it is redundant, please remove it. https://dedicated.fpml.org/svn/fpml/trunk/src/validation/rules-english-ird-wip.xml

686: sameCurrency is too strong a precondition for eqd-25

eqd-25 is: ” Context: BrokerEquityOption (complex type) eqd-25 (Mandatory) Preconditions: SameCurrency If numberOfOptions, equityPremium/paymentAmount and equityPremium/pricePerOption are present then: equityPremium/pricePerOption/amount * numberOfOptions = equityPremium/paymentAmount/amount. Comment: This is equivalent to eqd-20, but for brokerEquityOption, where there is no optionEntitlement. ” The precondition “SameCurrency” is too strong. The only items that must be the same currency are … Continued

685: eqd-23 uses the ancestor axis

Section 4.6.1 of the FpML Manual states: ” 4.6.1 Implementations For the purposes of precision, extensibility, and robustness to change the structure of the Validation Rules is profiled. The rules of the profile are: * The context for a validation rule must always be a type. * The paths from the context should be node … Continued

684: sameCurrency is too strong a precondition for eqd-20

This is the same issue as #683. The corrected rule is: ” Context: (EquityOption (complex type), EquityDerivativeShortFormBase (complex type))[numberOfOptions][optionEntitlement][equityPremium/paymentAmount][equityPremium/pricePerOption][val:same-currency((equityPremium/pricePerOption, equityPremium/paymentAmount))] eqd-20 (Mandatory) /equityPremium/pricePerOption/amount * $equityOption/numberOfOptions * $equityOption/optionEntitlement eq $equityOption/equityPremium/paymentAmount/amount ” In XQuery this is: ” (for $equityOption in (//element(*, EquityOption)|//element(*, EquityDerivativeShortFormBase))[numberOfOptions][optionEntitlement][equityPremium/paymentAmount][equityPremium/pricePerOption][val:same-currency((equityPremium/pricePerOption, equityPremium/paymentAmount))] return ) “

683: sameCurrency is too strong a precondition for eqd-19

eqd-19 is: ” Context: EquityOption, EquityDerivativeShortFormBase (complex type) eqd-19 (Mandatory) Preconditions: SameCurrency If notional, equityPremium/percentageOfNotional and equityPremium/paymentAmount are present, then equityPremium/paymentAmount/amount = notional/amount * equityPremium/percentageOfNotional ” The precondition “SameCurrency” is too strong. The only items that must be the same currency are the paymentAmount and the notional amount. We shouldn’t be checking the other items. … Continued

682: eqd-17 fix broke the context

The context for eqd-17 doesn’t take into account optional fields. The rule today is: ” Context: EquityOption, EquityDerivativeShortFormBase (complex type) eqd-17 (Mandatory) equityExercise/equityAmericanExercise/equityMultipleExercise/maximumNumberOfOptions * equityExercise/equityAmericanExercise/equityMultipleExercise/integralMultipleExercise >= numberOfOptions. ” This is a change. The rule was changed in issue #457. This fixed one problem but removed the handling of optional fields from the context. The correct … Continued