NeTEx-CEN/NeTEx

Why is ServiceFacilitySet, SiteFacilitySet, PassengerCapacity not a VersionedChild?

skinkie opened this issue · 14 comments

You want to investigate:
'LineSection', 'ServiceAccessRight2', 'ActivatedEquipment', 'SimpleValidityCondition', 'TravelSpecification2', 'FareSection', 'GroupOfStopPlaces', 'ServiceFacilitySet', 'TimetabledPassingTimeView', 'EstimatedPassingTimeView', 'ComplexFeature', 'GeneralSection', 'SiteFacilitySet', 'OtherPlaceEquipment', 'CommonSection', 'TargetPassingTimeView', 'FareContractEntry', 'ObservedPassingTimeView', 'ServiceAccessRight1', 'SimpleFeature', 'PassengerCapacity'

These are not part of GeneralFrame. My guess is they are invalidly not VersionedChild.

I think that it makes sense to complement them with a substitutionGroup="VersionedChild"

@Aurige PassengerCapacity is also a really strange variant. It is an EntityInVersion with an optional id attribute... why make such exceptions?

I can't see this:
image

I have this, but this is not an additional Id, it is the specialisation of the Id to a type="PassengerCapacityIdType" (the original Id being inherited from ENTITY IN VERSION ...)

Yes, but it now makes an entity in version with an optional id.

Id is not always necessary when something is mainly embedded in the xml hierarchy, and not a standalone object... but ok, that's not best for database... also in such case there is one single use of the info (no reuse) so you can define the id you want

I don't think we should promote inconsistent behavior.

FacilitySets can be reused in many different places.
Just because something can be inlined doesnt make it a versioned child. Typically a versioned child has no independent existance, thus, if its parent is deleted so is it. Similalry the same capacity requirement might be specified on many different vehicle types.

@skinkie Does Nick's anser satisfy you? Then we might close this issue.

Not really :-)

There are some missing substitution groups ... to be fixed

I do this for 2.1. I guess this is hygiene only.