FpML 4.4 Validation Rules - Rules for Shared Elements
This is the shared element part of the validation rule set accompanying the FpML 4.4 Working Draft. 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 rules to highlight relevant document portions accessed by a rule. These cut down
test cases are non-normative and are provided for the purpose of documentation only.
Content
Namespace
http://www.fpml.org/spec/fpml-4-4-4-wd-3
Rules
Unique contexts:
Context:
BusinessDayAdjustments (complex 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.
Context:
RelativeDateOffset (complex type)
shared-4 (Mandatory)
If the dayType is Business then the businessDayConvention should be NONE.
Context:
payerPartyReference
shared-5 (Mandatory)
If ../receiverPartyReference exists, then the @href attributes of the two elements must not be equal.
Context:
AmericanExercise (complex type)
shared-6 (Mandatory)
earliestExerciseTime/hourMinuteTime < latestExerciseTime/hourMinuteTime, if latestExerciseTime exists.
Context:
BermudaExercise (complex type)
shared-7 (Mandatory)
earliestExerciseTime/hourMinuteTime < latestExerciseTime/hourMinuteTime, if latestExerciseTime exists.
Context:
DateRange (complex type)
shared-8 (Mandatory)
unadjustedFirstDate < unadjustedLastDate.
Context:
BusinessDateRange (complex type)
shared-9 (Mandatory)
businessDayConvention is NONE or NotApplicable if and only if neither businessCentersReference nor businessCenters exists.
Context:
calculationAgent
shared-10 (Mandatory)
The values of calculationAgentPartyReference/@href attributes shall be unique.
Context:
Trade (complex type)
shared-11 (Mandatory)
If businessDateRange exists within any descendant element of the trade, then businessCentersReference/@href, if present in any descendant element of the trade, must match some businessCenters/@id within any descendant of the same trade.
Context:
FpML
shared-12 (Mandatory)
For buyerPartyReference anywhere in the document, @href shall match the @id attribute of a party element or the @id attribute of a tradeSide element.
shared-13 (Mandatory)
For sellerPartyReference anywhere in the document, @href shall match the @id attribute of a party element or the @id attribute of a tradeSide element.
shared-14 (Mandatory)
For calculationAgentPartyReference/@href anywhere in the document, href shall match the @id attribute of a party element.
Context:
Offset (complex type)
shared-15 (Mandatory)
dayType must only be present if and only if period is D and periodMultiplier is non-zero.
Context:
TradeSide (complex type)
shared-16 (Mandatory)
For party/@href anywhere within the tradeSide element, href shall match the @id attribute of an /FpML/party element.
shared-17 (Mandatory)
For account/@href anywhere within the tradeSide element, href shall match the @id attribute of an /FpML/party/account element.
Deprecated rules
Removed rules
shared-2 (Mandatory)
REMOVED:
Context: Offset; Description: If the dayType element exists then the period must be D.
shared-3 (Mandatory)
REMOVED:
Context: Offset; Description: If the dayType is Business then the periodMultiplier must be non-zero.