861: fx-46 uses undefined term “either” instead of approved terms

The rule fx-46 uses an undefined term of “either” in conjunction with “or”. The rule should use “or” as defined in the operators section. The rule today is: ” fx-46 (Mandatory) Context: SideRates (complex type) currency1SideRate/sideRateBasis = either “BaseCurrencyPerCurrency1” or “Currency1PerBaseCurrency”. ” Solution 1 – using the union operator “|”: fx-46 (Mandatory) Context: SideRates (complex … Continued

860: rule to prevent circular reference in relative notionals

A rule is needed to prevent circular references in relative notionals. An example failure scenario of a notional reference being circular is a notional referring to itself. In general a new rule is needed. The rule would prohibit circular references within notionals. This is expressed with a function because this is the simplest way to … Continued

859: fx-31 is unclear

The rule today is: ” fx-31 (Mandatory) Context: SideRates (complex type) [same-currency-scheme((baseCurrency,currency1SideRate/currency,currency2SideRate/currency))] baseCurrency != the values of both currency1SideRate/currency and currency2SideRate/currency. ” The problem is that precedence operators (parentheses) are missing. 1st possible interpretation is: “(baseCurrency != currency1SideRate/currency) and (baseCurrency != currency2SideRate/currency)” 2nd possible interpretation is: “baseCurrency != (currency1SideRate/currency and currency2SideRate/currency)” Secondly what does “the … Continued

858: Rule eqd-26 needs to be corrected.

The “numberOfOptions” in the eqd-26 is outside of Context: EquityMultipleExercise Context: EquityMultipleExercise (complex type) eqd-26 (Mandatory) maximumNumberOfOptions

857: Correct fx-45 (revised)

The example invalid-fx-36-02.xml is invalid against rule fx-45 as well as fx-36. Correct invalid-fx-36-02.xml so it is only invalid gainst fx-36.

856: invalid-fx-36-01.xml errors

The example invalid-fx-36-01.xml is invalid against rule fx-42 as well as fx-36. Correct the example so it is only invalid against fx-36.

853: Some ird rules use contains() rather than exists()

Some of the ird rules use the function “contains()” rather than “exists()”. In each case the usage shows that what is meant is exists() and not contains(). As per the FpML Validation Architecture, where a term is not defined we use the XPath2 definition. Changing the contains() to exists() would bring the ird into line … Continued

852: ird-15 depends on an optional element

The constraint ird-15 depends on an optional element existing. When the element does not exist there is no result from the constraint. The rule today: ” ird-15 (Mandatory) Context: CalculationPeriodDates (complex type) [isParametric] terminationDate/unadjustedDate > firstPeriodStartDate/unadjustedDate. ” The element //element(*, CalculationPeriodDates)/firstPeriodStartDate is optional.