FpML 4.6 Validation Rules - Rules for ID / IDREF References
This section details ID / IDREF relationship constraints (based on the eCore references at the Schema) accompanying the FpML
4.6 Working Draft.
Content
Namespace
default element namespace = http://www.fpml.org/2009/FpML-4-6
namespace xs = http://www.w3.org/2001/XMLSchema
Rules
Unique contexts:
- AssetReference (complex type): ref-1
- FixedRateReference (complex type): ref-2
- ProtectionTermsReference (complex type): ref-3
- SettlementTermsReference (complex type): ref-4
- FirstPeriodStartDate (complex type): ref-5
- InterestCalculationReference (complex type): ref-6
- InterestLegCalculationPeriodDatesReference (complex type): ref-7
- CalculationPeriodDatesReference (complex type): ref-8
- InterestRateStreamReference (complex type): ref-9
- PaymentCalculationPeriod (complex type): ref-10
- PaymentDatesReference (complex type): ref-11
- ResetDatesReference (complex type): ref-12
- CreditEventsReference (complex type): ref-13
- CashflowFixingReference (complex type): ref-14
- CashflowObservationReference (complex type): ref-15
- StepReference (complex type): ref-16
- TradeUnderlyerReference (complex type): ref-17
- PricingStructurePoint (complex type): ref-18
- MarketReference (complex type): ref-19
- PricingDataPointCoordinateReference (complex type): ref-20
- PricingParameterDerivativeReference (complex type): ref-21
- Valuation (complex type): ref-22
- ValuationReference (complex type): ref-23
- ValuationScenarioReference (complex type): ref-24
- AccountReference (complex type): ref-25
- BusinessCentersReference (complex type): ref-26 ref-39
- BusinessDayAdjustmentsReference (complex type): ref-27
- LegalEntityReference (complex type): ref-28
- PartyReference (complex type): ref-29
- Payment (complex type): ref-30
- PricingStructureReference (complex type): ref-31
- ProductReference (complex type): ref-32
- RateReference (complex type): ref-33
- ScheduleReference (complex type): ref-34
- SpreadScheduleReference (complex type): ref-35
- SensitivitySetDefinitionReference (complex type): ref-36
- AnyAssetReference (complex type): ref-37
- MandatoryEarlyTermination (complex type) /cashSettlement/cashSettlementValuationDate/dateRelativeTo: ref-38
- Deprecated rules
- Removed rules
ref-1 (Mandatory)
English Description:
Context: AssetReference (complex type)
The @href attribute is equal to the @id attribute of an element of type Asset
XPath Description:
Context: AssetReference (complex type)
id($context/@href) instance of element(*, Asset)
ref-2 (Mandatory)
English Description:
Context: FixedRateReference (complex type)
The @href attribute is equal to the @id attribute of an element of type FixedRate
XPath Description:
Context: FixedRateReference (complex type)
id($context/@href) instance of element(*, FixedRate)
ref-3 (Mandatory)
English Description:
Context: ProtectionTermsReference (complex type)
The @href attribute is equal to the @id attribute of an element of type ProtectionTerms
XPath Description:
Context: ProtectionTermsReference (complex type)
id($context/@href) instance of element(*, ProtectionTerms)
ref-4 (Mandatory)
English Description:
Context: SettlementTermsReference (complex type)
The @href attribute is equal to the @id attribute of an element of type SettlementTerms
XPath Description:
Context: SettlementTermsReference (complex type)
id($context/@href) instance of element(*, SettlementTerms)
ref-7 (Mandatory)
English Description:
Context: InterestLegCalculationPeriodDatesReference (complex type)
The @href attribute is equal to the @id attribute of an element of type InterestLegCalculationPeriodDates
XPath Description:
Context: InterestLegCalculationPeriodDatesReference (complex type)
id($context/@href) instance of element(*, InterestLegCalculationPeriodDates)
ref-8 (Mandatory)
English Description:
Context: CalculationPeriodDatesReference (complex type)
The @href attribute is equal to the @id attribute of an element of type CalculationPeriodDates
XPath Description:
Context: CalculationPeriodDatesReference (complex type)
id($context/@href) instance of element(*, CalculationPeriodDates)
ref-9 (Mandatory)
English Description:
Context: InterestRateStreamReference (complex type)
The @href attribute is equal to the @id attribute of an element of type InterestRateStream
XPath Description:
Context: InterestRateStreamReference (complex type)
id($context/@href) instance of element(*, InterestRateStream)
ref-10 (Mandatory)
English Description:
Context: PaymentCalculationPeriod (complex type)
If the @href attribute exists, the @href attribute is equal to the @id attribute of an element of type PricingStructure
XPath Description:
Context: PaymentCalculationPeriod (complex type)
[exists(@href)]
id($context/@href) instance of element(*, PricingStructure)
ref-11 (Mandatory)
English Description:
Context: PaymentDatesReference (complex type)
The @href attribute is equal to the @id attribute of an element of type PaymentDates
XPath Description:
Context: PaymentDatesReference (complex type)
id($context/@href) instance of element(*, PaymentDates)
ref-12 (Mandatory)
English Description:
Context: ResetDatesReference (complex type)
The @href attribute is equal to the @id attribute of an element of type ResetDates
XPath Description:
Context: ResetDatesReference (complex type)
id($context/@href) instance of element(*, ResetDates)
ref-13 (Mandatory)
English Description:
Context: CreditEventsReference (complex type)
The @href attribute is equal to the @id attribute of an element of type CreditEvents
XPath Description:
Context: CreditEventsReference (complex type)
id($context/@href) instance of element(*, CreditEvents)
ref-14 (Mandatory)
English Description:
Context: CashflowFixingReference (complex type)
The @href attribute is equal to the @id attribute of an element of type CashflowFixing
XPath Description:
Context: CashflowFixingReference (complex type)
id($context/@href) instance of element(*, CashflowFixing)
ref-15 (Mandatory)
English Description:
Context: CashflowObservationReference (complex type)
The @href attribute is equal to the @id attribute of an element of type CashflowObservation
XPath Description:
Context: CashflowObservationReference (complex type)
id($context/@href) instance of element(*, CashflowObservation)
ref-16 (Mandatory)
English Description:
Context: StepReference (complex type)
The @href attribute is equal to the @id attribute of an element of type Step
XPath Description:
Context: StepReference (complex type)
id($context/@href) instance of element(*, Step)
ref-17 (Mandatory)
English Description:
Context: TradeUnderlyerReference (complex type)
The @href attribute is equal to the @id attribute of an element of type TradeUnderlyer
XPath Description:
Context: TradeUnderlyerReference (complex type)
id($context/@href) instance of element(*, TradeUnderlyer)
ref-18 (Mandatory)
English Description:
Context: PricingStructurePoint (complex type)
The coordinate/generic/@href attribute is equal to the underlyingAsset/@id attribute
XPath Description:
Context: PricingStructurePoint (complex type)
[exists(underlyingAsset)]
every $generic in coordinate/generic satisfies id($generic/@href) is underlyingAsset
ref-19 (Mandatory)
English Description:
Context: MarketReference (complex type)
The @href attribute is equal to the @id attribute of an element of type Market
XPath Description:
Context: MarketReference (complex type)
id($context/@href) instance of element(*, Market)
ref-20 (Mandatory)
English Description:
Context: PricingDataPointCoordinateReference (complex type)
The @href attribute is equal to the @id attribute of an element of type PricingDataPointCoordinate
XPath Description:
Context: PricingDataPointCoordinateReference (complex type)
id($context/@href) instance of element(*, PricingDataPointCoordinate)
ref-21 (Mandatory)
English Description:
Context: PricingParameterDerivativeReference (complex type)
The @href attribute is equal to the @id attribute of an element of type PricingParameterDerivative
XPath Description:
Context: PricingParameterDerivativeReference (complex type)
id($context/@href) instance of element(*, PricingParameterDerivative)
ref-22 (Mandatory)
English Description:
Context: Valuation (complex type)
The @definitionRef attribute is equal to the @id attribute of an element of type ValuationScenario
XPath Description:
Context: Valuation (complex type)
id($context/@definitionRef) instance of element(*, ValuationScenario)
ref-23 (Mandatory)
English Description:
Context: ValuationReference (complex type)
The @href attribute is equal to the @id attribute of an element of type Valuation
XPath Description:
Context: ValuationReference (complex type)
id($context/@href) instance of element(*, Valuation)
ref-24 (Mandatory)
English Description:
Context: ValuationScenarioReference (complex type)
The @href attribute is equal to the @id attribute of an element of type ValuationScenario
XPath Description:
Context: ValuationScenarioReference (complex type)
id($context/@href) instance of element(*, ValuationScenario)
ref-25 (Mandatory)
English Description:
Context: AccountReference (complex type)
The @href attribute is equal to the @id attribute of an element of type Account
XPath Description:
Context: AccountReference (complex type)
id($context/@href) instance of element(*, Account)
ref-26 (Mandatory)
English Description:
Context: BusinessCentersReference (complex type)
The @href attribute is equal to the @id attribute of an element of type BusinessCenters
XPath Description:
Context: BusinessCentersReference (complex type)
id($context/@href) instance of element(*, BusinessCenters)
ref-27 (Mandatory)
English Description:
Context: BusinessDayAdjustmentsReference (complex type)
The @href attribute is equal to the @id attribute of an element of type BusinessDayAdjustments
XPath Description:
Context: BusinessDayAdjustmentsReference (complex type)
id($context/@href) instance of element(*, BusinessDayAdjustments)
ref-28 (Mandatory)
English Description:
Context: LegalEntityReference (complex type)
The @href attribute is equal to the @id attribute of an element of type LegalEntity
XPath Description:
Context: LegalEntityReference (complex type)
id($context/@href) instance of element(*, LegalEntity)
ref-29 (Mandatory)
English Description:
Context: PartyReference (complex type)
The @href attribute is equal to the @id attribute of an element of type Party
XPath Description:
Context: PartyReference (complex type)
id($context/@href) instance of element(*, Party)
ref-30 (Mandatory)
English Description:
Context: Payment (complex type)
The @href attribute is equal to the @id attribute of an element of type PricingStructure
XPath Description:
Context: Payment (complex type)
id($context/@href) instance of element(*, PricingStructure)
ref-31 (Mandatory)
English Description:
Context: PricingStructureReference (complex type)
The @href attribute is equal to the @id attribute of an element of type PricingStructure
XPath Description:
Context: PricingStructureReference (complex type)
id($context/@href) instance of element(*, PricingStructure)
ref-32 (Mandatory)
English Description:
Context: ProductReference (complex type)
The @href attribute is equal to the @id attribute of an element of type Product
XPath Description:
Context: ProductReference (complex type)
id($context/@href) instance of element(*, Product)
ref-33 (Mandatory)
English Description:
Context: RateReference (complex type)
The @href attribute is equal to the @id attribute of an element of type Rate
XPath Description:
Context: RateReference (complex type)
id($context/@href) instance of element(*, Rate)
ref-34 (Mandatory)
English Description:
Context: ScheduleReference (complex type)
The @href attribute is equal to the @id attribute of an element of type Schedule
XPath Description:
Context: ScheduleReference (complex type)
id($context/@href) instance of element(*, Schedule)
ref-35 (Mandatory)
English Description:
Context: SpreadScheduleReference (complex type)
The @href attribute is equal to the @id attribute of an element of type SpreadSchedule
XPath Description:
Context: SpreadScheduleReference (complex type)
id($context/@href) instance of element(*, SpreadSchedule)
ref-36 (Mandatory)
English Description:
Context: SensitivitySetDefinitionReference (complex type)
The @href attribute is equal to the @id attribute of an element of type SensitivitySetDefinition
XPath Description:
Context: SensitivitySetDefinitionReference (complex type)
id($context/@href) instance of element(*, SensitivitySetDefinition)
ref-37 (Mandatory)
English Description:
Context: AnyAssetReference (complex type)
The @href attribute is equal to the @id attribute of an element of type Leg, or the @id attribute of an element of type Trade, or the @id attribute of an element of type BasketConstituent
XPath Description:
Context: AnyAssetReference (complex type)
(id($context/@href) instance of element(*, Leg)) or (id($context/@href) instance of element(*, Trade)) or (id($context/@href) instance of element(*, BasketConstituent))
ref-38 (Mandatory)
English Description:
Context: MandatoryEarlyTermination (complex type) /cashSettlement/cashSettlementValuationDate/dateRelativeTo
The @href attribute is equal to the @id attribute of an element mandatoryEarlyTerminationDate
XPath Description:
Context: MandatoryEarlyTermination (complex type) /cashSettlement/cashSettlementValuationDate/dateRelativeTo
name(id(@href)) eq xs:string("mandatoryEarlyTerminationDate")
Deprecated rules
ref-5 (Mandatory)
DEPRECATED:
Context: FirstPeriodStartDate
Description: The @href attribute is equal to the ../../party/@id attribute.
Rationale for deprecation: the rule has been replaced by the business process rule number 2 (bp-2).
ref-39 (Mandatory)
DEPRECATED:
Context: BusinessCentersReference
Description: The @href attribute is equal to the @id attribute of an element of type BusinessCenters.
Rationale for deprecation: the rule is a duplicate of ref-26.
Removed rules
ref-6 (Mandatory)
REMOVED:
Context: InterestCalculationReference
Description: The @href attribute = the @id attribute of an element of type InterestCalculation.
Rationale for removal: The type doesn't exist anymore.