FpML 4.0 Validation Rules - Rules for Shared Elements

This is the shared elements part of the validation rule set http://www.fpml.org/2003/FpML-4-0/2004-02-02 accompanying the FpML 4.0 Recommendation. The introductory section in the draft contains background information and documentation for this page.

The rules contained on this page contain links to cut down versions of valid and invalid test cases. These test cases have been analysed using Systemwire's xlinkit rule engine to highlight relevant document portions accessed by a rule. The cut down test cases are non-normative and are provided for the purpose of documentation only.

Content

Rules

Unique contexts:

Context: BusinessDayAdjustments (data type)

shared-1 (Mandatory)
businessCentersReference or businessCenters must be present if and only if the value of businessDayConvention is not equal to NONE or NotApplicable.
Test cases: [Valid] [Valid] [Invalid] [Invalid] [Invalid] [Invalid] [Invalid] [Invalid] [Invalid] [Invalid]

Context: RelativeDateOffset (data type)

shared-4 (Mandatory)
If the dayType is Business then the businessDayConvention should be NONE.
Test cases: [Valid] [Invalid]

Context: payerPartyReference

shared-5 (Mandatory)
If ../receiverPartyReference is present, then the @href attributes of the two elements must not be equal.
Test cases: [Valid] [Invalid] [Invalid]

Context: AmericanExercise (data type)

shared-6 (Mandatory)
earliestExerciseTime < latestExerciseTime, if latestExerciseTime exists.
Test cases: [Valid] [Invalid] [Invalid]

Context: BermudaExercise (data type)

shared-7 (Mandatory)
earliestExerciseTime < latestExerciseTime, if latestExerciseTime exists.
Test cases: [Valid] [Valid] [Invalid]

Context: DateRange (data type)

shared-8 (Mandatory)
unadjustedFirstDate < unadjustedLastDate.
Test cases: [Valid] [Valid] [Invalid] [Invalid] [Invalid]

Context: BusinessDateRange (data type)

shared-9 (Mandatory)
businessDayConvention is NONE or NotApplicable if and only if neither businessCentersReference nor businessCenters is present.
Test cases: [Valid] [Valid] [Invalid]

Context: calculationAgent

shared-10 (Mandatory)
The values of calculationAgentPartyReference/@href attributes shall be unique.
Test cases: [Valid] [Valid] [Invalid]

Context: Trade (data type)

shared-11 (Mandatory)
If businessDateRange exists within any descendant element of the trade, then businessCentersReference/@href, if present, must match some businessCenters/@id within the same trade.
Test cases: [Valid] [Valid] [Invalid]

Context: FpML

shared-12 (Mandatory)
For buyerPartyReference anywhere in the document, @href shall match the @id attribute of a party element.
Test cases: [Valid] [Invalid]
shared-13 (Mandatory)
For sellerPartyReference anywhere in the document, @href shall match the @id attribute of a party element.
Test cases: [Valid] [Invalid]
shared-14 (Mandatory)
For calculationAgentPartyReference/@href anywhere in the document, href shall match the @id attribute of a party element.
Test cases: [Valid] [Invalid]

Context: Offset (data type)

shared-15 (Mandatory)
dayType must only be present if and only if period is D and periodMultiplier is non-zero.
Test cases: [Valid] [Invalid] [Invalid]

Deprecated rules