# FpML 4.5 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.5 Working Draft.

## Content

- Namespace
- Rules
- Rules with comments
  - ref-18

## Namespace

default element namespace = http://www.fpml.org/2008/FpML-4-5

## 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
- SensitivitySetReference (complex type): ref-36
- AnyAssetReference (complex type): ref-37
- MandatoryEarlyTermination (complex type): ref-38
- Deprecated rules
- Removed rules

ref-1 (Mandatory)
Context: AssetReference (complex type)
The @href attribute = the @id attribute of an element of type Asset.
ref-2 (Mandatory)
Context: FixedRateReference (complex type)
The @href attribute = the @id attribute of an element of type FixedRate.
ref-3 (Mandatory)
Context: ProtectionTermsReference (complex type)
The @href attribute = the @id attribute of an element of type ProtectionTerms.
ref-4 (Mandatory)
Context: SettlementTermsReference (complex type)
The @href attribute = the @id attribute of an element of type SettlementTerms.
ref-6 (Mandatory)
Context: InterestCalculationReference (complex type)
The @href attribute = the @id attribute of an element of type InterestCalculation.
ref-7 (Mandatory)
Context: InterestLegCalculationPeriodDatesReference (complex type)
The @href attribute = the @id attribute of an element of type InterestLegCalculationPeriodDates.
ref-8 (Mandatory)
Context: CalculationPeriodDatesReference (complex type)
The @href attribute = the @id attribute of an element of type CalculationPeriodDates.
ref-9 (Mandatory)
Context: InterestRateStreamReference (complex type)
The @href attribute = the @id attribute of an element of type InterestRateStream.
ref-10 (Mandatory)
Context: PaymentCalculationPeriod (complex type)
The @href attribute = the @id attribute of an element of type PricingStructure.
ref-11 (Mandatory)
Context: PaymentDatesReference (complex type)
The @href attribute = the @id attribute of an element of type PaymentDates.
ref-12 (Mandatory)
Context: ResetDatesReference (complex type)
The @href attribute = the @id attribute of an element of type ResetDates.
ref-13 (Mandatory)
Context: CreditEventsReference (complex type)
The @href attribute = the @id attribute of an element of type CreditEvents.
ref-14 (Mandatory)
Context: CashflowFixingReference (complex type)
The @href attribute = the @id attribute of an element of type CashflowFixing.
ref-15 (Mandatory)
Context: CashflowObservationReference (complex type)
The @href attribute = the @id attribute of an element of type CashflowObservation.
ref-16 (Mandatory)
Context: StepReference (complex type)
The @href attribute = the @id attribute of an element of type Step.
ref-17 (Mandatory)
Context: TradeUnderlyerReference (complex type)
The @href attribute = the @id attribute of an element of type TradeUnderlyer.
ref-18 (Mandatory)
Context: PricingStructurePoint (complex type)
The coordinate/generic/@href attribute = the underlyingAsset/@id attribute.
Comment: underlyingAsset is an abstract element (substitution group for underlyers)
ref-19 (Mandatory)
Context: MarketReference (complex type)
The @href attribute = the @id attribute of an element of type Market.
ref-20 (Mandatory)
Context: PricingDataPointCoordinateReference (complex type)
The @href attribute = the @id attribute of an element of type PricingDataPointCoordinate.
ref-21 (Mandatory)
Context: PricingParameterDerivativeReference (complex type)
The @href attribute = the @id attribute of an element of type PricingParameterDerivative.
ref-22 (Mandatory)
Context: Valuation (complex type)
The @definitionRef attribute = the @id attribute of an element of type ValuationScenario.
ref-23 (Mandatory)
Context: ValuationReference (complex type)
The @href attribute = the @id attribute of an element of type Valuation.
ref-24 (Mandatory)
Context: ValuationScenarioReference (complex type)
The @href attribute = the @id attribute of an element of type ValuationScenario.
ref-25 (Mandatory)
Context: AccountReference (complex type)
The @href attribute = the @id attribute of an element of type Account.
ref-26 (Mandatory)
Context: BusinessCentersReference (complex type)
The @href attribute = the @id attribute of an element of type BusinessCenters.
ref-27 (Mandatory)
Context: BusinessDayAdjustmentsReference (complex type)
The @href attribute = the @id attribute of an element of type BusinessDayAdjustments.
ref-28 (Mandatory)
Context: LegalEntityReference (complex type)
The @href attribute = the @id attribute of an element of type LegalEntity.
ref-29 (Mandatory)
Context: PartyReference (complex type)
The @href attribute = the @id attribute of an element of type Party.
ref-30 (Mandatory)
Context: Payment (complex type)
The @href attribute = the @id attribute of an element of type PricingStructure.
ref-31 (Mandatory)
Context: PricingStructureReference (complex type)
The @href attribute = the @id attribute of an element of type PricingStructure.
ref-32 (Mandatory)
Context: ProductReference (complex type)
The @href attribute = the @id attribute of an element of type Product.
ref-33 (Mandatory)
Context: RateReference (complex type)
The @href attribute = the @id attribute of an element of type Rate.
ref-34 (Mandatory)
Context: ScheduleReference (complex type)
The @href attribute = the @id attribute of an element of type Schedule.
ref-35 (Mandatory)
Context: SpreadScheduleReference (complex type)
The @href attribute = the @id attribute of an element of type SpreadSchedule.
ref-36 (Mandatory)
Context: SensitivitySetReference (complex type)
The @href attribute = the @id attribute of an element of type SensitivitySet.
ref-37 (Mandatory)
Context: AnyAssetReference (complex type)
The @href attribute = 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.
ref-38 (Mandatory)
Context: MandatoryEarlyTermination (complex type)
The cashSettlement/cashSettlementValuationDate/dateRelativeTo/@href attribute = the @id attribute of an element mandatoryEarlyTerminationDate.
ref-39 (Mandatory)
Context: BusinessCentersReference (complex type)
The @href attribute = the @id attribute of an element of type BusinessCenters.

#### Deprecated rules

ref-5 (Mandatory)
DEPRECATED: The @href attribute = the ../../party/@id attribute. Rationale for deprecation: the rule has been replaced by the business process rule number 2 (bp-2).

#### Removed rules