862: Knock complex type should force at least one of knockIn or knockOut

The design of the Knock type and its usage with an optional element of the OptionFeatures type means that it is possible to define an equityOption or equityOptionTransactionSupplement that contains a knock feature but omits any definition of the knock in/out levels. e.g. … … … … I suggest that the model for Knock type … Continued

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