851: ird-16 requires optional element to be present

There is a problem with ird-16. The rules requires an optional element to be present. The rule today is: ” ird-16 (Mandatory) Context: CalculationPeriodDates (complex type) [isParametric] terminationDate/unadjustedDate > firstRegularPeriodStartDate. ” The problem is that //element(*, CalculationPeriodDates)/firstPeriodStartDate is optional.

850: ird-23 referenced element doesn’t exist

An element referenced in ird-23 do not exist in the FpML schema. The rule today is: ” ird-23 (Mandatory) Context: StubCalculationPeriodAmount (complex type) iff(exist initialStub, calculationPeriodDates element referenced by calculationPeriodDates/@href contains at least one of: * firstPeriodStartDate * firstRegularPeriodStartDate ). ” The element that does not exist in FpML is: //element(*, StubCalculationPeriodAmount)/calculationPeriodDates

849: The term regular Period as a function

The term “regularPeriod” can be written out as a function as per the Validation Architecture. The reason why the function is so much better is that the context of all the item is no longer ambiguous – it becomes explicit. The XQuery equivalent is included for comparison only. The proposal does not advocate XQuery, it … Continued

847: ird-10 needs clarification

ird-10 contains some ambiguity that requires clarification. The rule today is: ” ird-10 (Mandatory) Context: CalculationPeriodDates (complex type) [isParametric] [calculationPeriodFrequency/rollConvention is a number] If firstRegularPeriodStartDate exists, then the start date is firstRegularPeriodStartDate, else the start date is effectiveDate/unadjustedDate. If calculationPeriodFrequency/rollConvention is less than or equal to the last day of the month in the start … Continued

846: test case numbering based at 1

The numbering for the test cases sometimes starts at 01, and sometimes starts at 00. For example invalid-ird-14-00.xml. Please make the numbering consistent so they all start at 00 or 01.

844: ird-31 uses the term “contains” differently to its definition

ird-31 uses the term “contains” differently to its definition. The rule should be changed to use terms as defined. The rule today: ” ird-31 (Mandatory) Context: CalculationPeriod (complex type) Must contain unadjustedEndDate and/or adjustedEndDate. ” The proposal: ” ird-31 (Mandatory) Context: CalculationPeriod (complex type) unadjustedEndDate exists or adjustedEndDate exists. “

843: ref-10 needs a guard or narrower context on the existence of the tested item

The constraint ref-10 needs a guard on the existence of the tested item. The rule today: ” ref-10 (Mandatory) Context: PaymentCalculationPeriod (complex type) The @href attribute = the @id attribute of an element of type PricingStructure. ” The problem is that //element(*, PaymentCalculationPeriod)/@href is optional. The rule could be rewritten as: ” ref-10 (Mandatory) Context: … Continued

842: ird-36 date arithmetic in days and weeks only

The problem with ird-36 is that it is currently undefined in how to do calculations that mix days and weeks. The rule today is: ” ird-36 (Mandatory) Context: PaymentDates (complex type) [exists(firstPaymentDate)] [exists(lastRegularPaymentDate)] The period defined by the dates firstPaymentDate and lastRegularPaymentDate must be an integer multiple of paymentFrequency. ” The problem is that one … Continued