NeTEx-CEN / NeTEx

NeTEx is a CEN Technical Standard for exchanging Public Transport schedules and related data.
http://netex-cen.eu
GNU General Public License v3.0
79 stars 39 forks source link

Why is ServiceFacilitySet, SiteFacilitySet, PassengerCapacity not a VersionedChild? #406

Open skinkie opened 1 year ago

skinkie commented 1 year ago

https://github.com/NeTEx-CEN/NeTEx/blob/master/xsd/netex_framework/netex_reusableComponents/netex_facility_version.xsd#L306

skinkie commented 1 year ago

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.

Aurige commented 1 year ago

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

skinkie commented 1 year ago

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

Aurige commented 1 year ago

I can't see this: image

skinkie commented 1 year ago

@Aurige you can here: https://github.com/NeTEx-CEN/NeTEx/blob/master/xsd/netex_framework/netex_reusableComponents/netex_vehicleType_version.xsd#L613

Aurige commented 1 year ago

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 ...)

skinkie commented 1 year ago

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

Aurige commented 1 year ago

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

skinkie commented 1 year ago

I don't think we should promote inconsistent behavior.

nick-knowles commented 9 months ago

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.

ue71603 commented 9 months ago

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

skinkie commented 9 months ago

Not really :-)

Aurige commented 9 months ago

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

ue71603 commented 5 months ago

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