929: shared-12 XPath

The XPath version of shared-12 is today: ” XPath Description: Context: Document (complex type) For buyerPartyReference anywhere in the document, @href shall match the @id attribute of a party element or the @id attribute of a tradeSide element. ” The XPath version should be: ” Context: for $document in //element(*, Document) every $buyerPartyReference in $document//buyerPartyReference … Continued

928: shared-10 path doesn’t exist

The rule shared-10 uses a path that doesn’t exist. There is no element named “CalculationAgent” – that is a type not an element. The rule today: ” shared-10 (Mandatory) Context: CalculationAgent English Description: The values of calculationAgentPartyReference/@href attributes shall be unique. count(distinct-values(calculationAgentPartyReference/@href)) eq count(calculationAgentPartyReference/@href) ” The correct rule, including comment is: ” shared-10 (Mandatory) Context: … Continued

927: ird-14 needs to handle relative dates

ird-14 handles effectiveDate but not relativeEffectiveDate The rule today is: ” Context: CalculationPeriodDates (complex type) terminationDate/unadjustedDate gt effectiveDate/unadjustedDate ” We can either put a guard on the context to limit the rule to effectiveDate, or we can also evaluate the relativeEffectiveDates With a guard: ” Context: CalculationPeriodDates (complex type)[exists(effectiveDate)] terminationDate/unadjustedDate gt effectiveDate/unadjustedDate ” Handling just … Continued

926: cd-26 does not handle optional effectiveDate field

cd-26 does not handle the effectiveDate being optional. cd-26 today is: ” Context: CreditDefaultSwap (complex type) [exists(feeLeg/singlePayment/adjustablePaymentDate)] feeLeg/singlePayment/adjustablePaymentDate gt generalTerms/effectiveDate/unadjustedDate ” There is a guard on paymentDate, there should also be a guard on effectiveDate. I propose the new rule be: ” Context: CreditDefaultSwap (complex type) [exists(feeLeg/singlePayment/adjustablePaymentDate)][exists(generalTerms/effectiveDate)] feeLeg/singlePayment/adjustablePaymentDate gt generalTerms/effectiveDate/unadjustedDate ” I do not know … Continued

925: The rule eqd-6 does not work in 5-0.

The rule eqd-6 does not work in 5-0. There are two issues with: 1) in 5-0, these two elements (latestExerciseTimeType and latestExerciseTime) cannot exist together, only one or the other. —————– eqd-6 (Mandatory) English Description: Context: EquityBermudaExercise (complex type) If latestExerciseTimeType is equal to “SpecificTime”, then latestExerciseTime exists —————– Choice between a latest exercise time … Continued

924: The rule eqd-3 does not work in 5-0

The rule eqd-3 does not work in 5-0 where these two elements cannot exist together, only one or the other. —————– eqd-3 (Mandatory) English Description: Context: EquityAmericanExercise (complex type) If latestExerciseTimeType is equal to “SpecificTime”, then latestExerciseTime exists —————– Choice between a latest exercise time type, such as official close of the exchange, or an … Continued

922: ln-21 freely or bound interpretation

There are many clauses in ln-21 should they be used freely or bound? Should the clauses be split into separate rules? —–Original Message—– From: valwg@fpml.org [mailto:valwg@fpml.org] On Behalf Of Christian Nentwich Sent: 24 March 2009 15:39 To: valwg@fpml.org; Andrew P Parry Subject: FpML-VAL More feedback on validation rules All, I am posting this here again … Continued

921: eqd-32 missing an effectiveDate from path

eqd-32 should be: XPath Description: Context: Contract (complex type) [//element(*, EquityDerivativeBase)/equityEffectiveDate] Every $equityDerivativeBase in //element(*, EquityDerivativeBase)[exists(equityEffectiveDate)] $equityDerivativeBase/effectiveDate ge header/contractDate Today the effectiveDate is missing from the path.

920: eqd-31 missing date off the path

eqd-31 should be: XPath Description: Context: Trade (complex type) [//element(*, EquityDerivativeBase)/equityEffectiveDate] Every $equityDerivativeBase in //element(*, EquityDerivativeBase)[exists(equityEffectiveDate)] $equityDerivativeBase/effectiveDate ge tradeHeader/tradeDate Today the effectiveDate is missing.