NeTEx-CEN/NeTEx

Circular references

Opened this issue · 1 comments

The latest version of xsData allows for an easy check for circular references. The list below is its output. Maybe we can investigate how to solve a single instance and then find a path forward.

debug: Possible circular reference validityConditions_RelStructure, ValidBetween
debug: Possible circular reference timebands_RelStructure, Timeband_VersionedChildStructure
debug: Possible circular reference validityConditions_RelStructure, SimpleAvailabilityCondition
debug: Possible circular reference validityConditions_RelStructure, ValidDuring
debug: Possible circular reference FareDayType, validityConditions_RelStructure
debug: Possible circular reference FareDayType, ValidBetween
debug: Possible circular reference alternativeTexts_RelStructure, AlternativeText
debug: Possible circular reference dayTypes_RelStructure, FareDayType
debug: Possible circular reference OrganisationDayType, validityConditions_RelStructure
debug: Possible circular reference OrganisationDayType, ValidBetween
debug: Possible circular reference dayTypes_RelStructure, OrganisationDayType
debug: Possible circular reference DayType, validityConditions_RelStructure
debug: Possible circular reference DayType, ValidBetween
debug: Possible circular reference dayTypes_RelStructure, DayType
debug: Possible circular reference OperatingDay, validityConditions_RelStructure
debug: Possible circular reference OperatingDay, ValidBetween
debug: Possible circular reference operatingDays_RelStructure, OperatingDay
debug: Possible circular reference validityConditions_RelStructure, AvailabilityCondition
debug: Possible circular reference validityConditions_RelStructure, ValidityRuleParameter
debug: Possible circular reference validityConditions_RelStructure, ValidityTrigger
debug: Possible circular reference validityConditions_RelStructure, ValidityCondition
debug: Possible circular reference EntityInVersionStructure, ValidBetween
debug: Possible circular reference JourneyPattern, sectionsInSequence_RelStructure
debug: Possible circular reference FareSection_VersionStructure, JourneyPattern
debug: Possible circular reference FareSection, sectionsInSequence_RelStructure
debug: Possible circular reference FareSection, JourneyPattern
debug: Possible circular reference SectionInSequence_VersionedChildStructure, FareSection
debug: Possible circular reference CommonSection, sectionsInSequence_RelStructure
debug: Possible circular reference SectionInSequence_VersionedChildStructure, CommonSection
debug: Possible circular reference LineSection, sectionsInSequence_RelStructure
debug: Possible circular reference SectionInSequence_VersionedChildStructure, LineSection
debug: Possible circular reference GeneralSection, sectionsInSequence_RelStructure
debug: Possible circular reference SectionInSequence_VersionedChildStructure, GeneralSection
debug: Possible circular reference SectionInSequence, FareSection
debug: Possible circular reference SectionInSequence, CommonSection
debug: Possible circular reference SectionInSequence, LineSection
debug: Possible circular reference SectionInSequence, GeneralSection
debug: Possible circular reference AdministrativeZone_VersionStructure, administrativeZones_RelStructure
debug: Possible circular reference TransportAdministrativeZone, administrativeZones_RelStructure
debug: Possible circular reference AdministrativeZone, administrativeZones_RelStructure
debug: Possible circular reference ParkingChargeBand_VersionStructure, farePrices_RelStructure
debug: Possible circular reference ParkingChargeBand, priceGroups_RelStructure
debug: Possible circular reference FareTableColumn_VersionedChildStructure, fareTableColumns_RelStructure
debug: Possible circular reference FareTableColumn, fareTableColumns_RelStructure
debug: Possible circular reference FareTableRow_VersionedChildStructure, fareTableRows_RelStructure
debug: Possible circular reference FareTableRow, fareTableRows_RelStructure
debug: Possible circular reference FareTable_VersionStructure, fareTables_RelStructure
debug: Possible circular reference FareTable_VersionStructure, farePrices_RelStructure
debug: Possible circular reference Cell_VersionedChildStructure, ParkingPrice
debug: Possible circular reference geographicalUnitPrices_RelStructure, GeographicalUnitPrice_VersionedChildStructure
debug: Possible circular reference Cell, ParkingPrice
debug: Possible circular reference CellInContext, ParkingPrice
debug: Possible circular reference cells_RelStructure, ParkingPrice
debug: Possible circular reference FareTable, fareTables_RelStructure
debug: Possible circular reference FareTable, farePrices_RelStructure
debug: Possible circular reference ParkingChargeBand, farePrices_RelStructure
debug: Possible circular reference ParkingPrice_VersionedChildStructure, ParkingChargeBand
debug: Possible circular reference ParkingPrice, ParkingChargeBand
debug: Possible circular reference SpecificParameterAssignment_VersionStructure, specificParameterAssignments_RelStructure
debug: Possible circular reference SpecificParameterAssignment, specificParameterAssignments_RelStructure
debug: Possible circular reference GenericParameterAssignment_VersionStructure, genericParameterAssignments_RelStructure
debug: Possible circular reference GenericParameterAssignment, genericParameterAssignments_RelStructure
debug: Possible circular reference GenericParameterAssignmentInContext, genericParameterAssignments_RelStructure
debug: Possible circular reference generalFrameMembers_RelStructure, CompositeFrame
debug: Possible circular reference generalFrameMembers_RelStructure, GeneralFrame
debug: Possible circular reference typesOfFrame_RelStructure, TypeOfFrame
debug: Possible circular reference entitiesInVersion_RelStructure, CompositeFrame
debug: Possible circular reference entitiesInVersion_RelStructure, GeneralFrame
Aurige commented

No generic patterns here, unfortunately, and often, no real issue... take the first one: a ValidityCondition is a DataManagedObject and a DataManagedObject can have ValidityCondition ... and quite a lot also are linked to ValidBetween which is a kind of simplified ValidityCondition. And that's something we want to keep (for example to have a ValidityCondition from 8am to 6pm only active on days where there is snow, or whatever other trigger).
We have multiple situations where an object is possibly containing instances of the same "class" creating a "Possible circular reference".