Skip to content
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
6331085
Add DatedServiceJourney_UniqueBy_Id_Version
skinkie Jul 11, 2023
69a0247
Lint and update documentation tables
github-actions[bot] Jul 11, 2023
e0394e8
Add AccessibilityAssessment and AccessibilityLimitation unique constr…
skinkie Jul 11, 2023
34957c0
Lint and update documentation tables
github-actions[bot] Jul 11, 2023
7f33df4
Add AvailabilityCondition Unique constraint as part of the ValidityCo…
skinkie Jul 11, 2023
37eeab8
Put AvailabilityCondition in a new unique constraint because of Avail…
skinkie Jul 11, 2023
052e8d8
Lint and update documentation tables
github-actions[bot] Jul 11, 2023
0472ac7
Add DatedVehicleJourney and NormalDatedVehicleJourney constraints
skinkie Jul 11, 2023
5307ff0
Add FlexibleRoute, FlexibleQuay, FlexibleLine, FlexibleStopAssignment
skinkie Jul 11, 2023
78bd1be
Fix typo
skinkie Jul 11, 2023
4ddc79e
Fix FlexibleStopAssignment in examples for missing order attribute
skinkie Jul 11, 2023
490a395
Lint and update documentation tables
github-actions[bot] Jul 11, 2023
dfffa31
Introduce SitePathLink unique as path of PathLinkIdType
skinkie Jul 11, 2023
60a5d0c
Introduce unique constraint for ValidityPeriod which uses ValidityCon…
skinkie Jul 11, 2023
7a67523
Introduce unique constraint for ValidDuring which uses AvailabilityCo…
skinkie Jul 11, 2023
b83e5aa
Introduce unique constraint for ValidyPeriod which uses UsageValidity…
skinkie Jul 11, 2023
fd30d52
Fix broken example, due to the assignment within a single unique cons…
skinkie Jul 11, 2023
c69c90b
Reintroduce OperatingDay unique constraints
skinkie Jul 11, 2023
d86de7f
Merge branch 'master' into fix_unique_constraints
ue71603 Apr 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -579,7 +579,7 @@ The Calendar is shown coded as
</connections>
<!--- =========STOP ASSIGNMENTs=========== -->
<stopAssignments>
<FlexibleStopAssignment version="any" id="hde:fsa_SSP_021+fsp_Quebec">
<FlexibleStopAssignment version="any" id="hde:fsa_SSP_021+fsp_Quebec" order="1">
<Description lang="en">Assigns Quebec to flexibleHail and ride section</Description>
<ScheduledStopPointRef version="any" ref="mybus:SSP_021"/>
<FlexibleStopPlaceRef version="any" ref="mybus:fsp_Quebec"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,7 @@ The Calendar is shown coded as
</servicePatterns>
<!--- =========STOP ASSIGNMENTs=========== -->
<stopAssignments>
<FlexibleStopAssignment version="any" id="hde:fsa_SSP_077+fsp_Sigma">
<FlexibleStopAssignment version="any" id="hde:fsa_SSP_077+fsp_Sigma" order="1">
<Description lang="en">Assigns Charley to Tau Zone </Description>
<ScheduledStopPointRef version="any" ref="mybus:SSP_077"/>
<FlexibleStopPlaceRef version="any" ref="mybus:fsp_Tau"/>
Expand Down
2 changes: 1 addition & 1 deletion examples/functions/versioning/Netex_Uniqueness_01.xml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ This is part 1 of a multistep example on versioning
</operatingDays>
</AvailabilityCondition>
<ValidDuring version="001" id="bar:foo"/>
<ValidBetween version="001" id="bar:foo"/>
<ValidBetween version="001" id="bar:foo2"/>
</validityConditions>
<alternativeTexts>
<AlternativeText version="001" id="bar:foo" attributeName="Name" order="1">
Expand Down
157 changes: 141 additions & 16 deletions xsd/NeTEx_publication.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@
CR00310 add constraints on JOURNEY PART POSITION
</Date>
<Date><Modified>2017-05-09</Modified>
Correct COnstraints for PointOnRoute
Correct Constraints for PointOnRoute
Add Missing Constraints For CommonSectionMember / PointOnSection and LinkOnSection er
Add Missing Constraints For GroupOfServicesMember , JourneyAccounting DelegatedResponsibilitySet
Reinstate Constraints for CAll
Expand Down Expand Up @@ -3157,6 +3157,14 @@ Correct COnstraints for PointOnRoute
</xsd:key>
<!-- =====ACCESSIBILITY Constraints========================= -->
<!-- =====AccessibilityAssessment============================ -->
<xsd:unique name="AccessibilityAssessment_UniqueBy_Id_Version">
<xsd:annotation>
<xsd:documentation>Every [AccessibilityAssessment Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:AccessibilityAssessment"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
<xsd:keyref name="AccessibilityAssessment_AnyKeyRef" refer="netex:AccessibilityAssessment_AnyVersionedKey">
<xsd:selector xpath=".//netex:AccessibilityAssessmentRef"/>
<xsd:field xpath="@ref"/>
Expand All @@ -3167,6 +3175,15 @@ Correct COnstraints for PointOnRoute
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:key>
<!-- =====AccessibilityLimitation============================ -->
<xsd:unique name="AccessibilityLimitation_UniqueBy_Id_Version">
<xsd:annotation>
<xsd:documentation>Every [AccessibilityLimitation Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:AccessibilityLimitation"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
<!-- =====SERVICE CALENDAR Constraints========================= -->
<!-- =====DayType============================== -->
<!-- =====DayType unique========================== -->
Expand Down Expand Up @@ -3265,14 +3282,14 @@ Correct COnstraints for PointOnRoute
</xsd:key>
<!-- =====OperatingDay============================== -->
<!-- =====OperatingDay unique========================== -->
<!-- <xsd:unique name="OperatingDay_UniqueBy_Id_Version">
<xsd:annotation>
<xsd:documentation>Every [OperatingDay Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:OperatingDay"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>-->
<xsd:unique name="OperatingDay_UniqueBy_Id_Version">
<xsd:annotation>
<xsd:documentation>Every [OperatingDay Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:OperatingDay"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
<!-- =====OperatingDay unique==In Calendar======================== -->
<xsd:unique name="OperatingDay_UniqueCalendarDateInCalendar">
<xsd:annotation>
Expand Down Expand Up @@ -3365,7 +3382,7 @@ Correct COnstraints for PointOnRoute
<xsd:annotation>
<xsd:documentation>Every [ValidityCondition Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:ValidityCondition | .//netex:ValidityTrigger | .//netex:ValidityRuleParameter"/>
<xsd:selector xpath=".//netex:ValidityCondition | .//netex:ValidityTrigger | .//netex:ValidityRuleParameter | .//netex:ValidBetween"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
Expand All @@ -3381,6 +3398,15 @@ Correct COnstraints for PointOnRoute
<xsd:field xpath="@version"/>
</xsd:key>
<!-- =====AvailabilityCondition============================== -->
<!-- =====AvailabilityCondition unique========================== -->
<xsd:unique name="AvailabilityCondition_UniqueBy_Id_Version">
<xsd:annotation>
<xsd:documentation>Every [AvailabilityCondition Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:AvailabilityCondition | .//netex:ValidDuring"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
<xsd:keyref name="AvailabilityCondition_AnyKeyRef" refer="netex:AvailabilityCondition_AnyVersionedKey">
<xsd:selector xpath=".//netex:AvailabilityConditionRef"/>
<xsd:field xpath="@ref"/>
Expand Down Expand Up @@ -4162,6 +4188,48 @@ Correct COnstraints for PointOnRoute
<xsd:field xpath="@version"/>
<xsd:field xpath="@order"/>
</xsd:key>
<!-- =====FlexibleRoute============================== -->
<!-- =====FlexibleRoute unique========================== -->
<xsd:unique name="FlexibleRoute_UniqueBy_Id_Version">
<xsd:annotation>
<xsd:documentation>Every [FlexibleRoute Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:FlexibleRoute"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
<!-- =====FlexibleRoute Key ========================== -->
<xsd:keyref name="FlexibleRoute_KeyRef" refer="netex:FlexibleRoute_AnyVersionedKey">
<xsd:selector xpath=".//netex:FlexibleRouteRef"/>
<xsd:field xpath="@ref"/>
<xsd:field xpath="@version"/>
</xsd:keyref>
<xsd:key name="FlexibleRoute_AnyVersionedKey">
<xsd:selector xpath=".//netex:FlexibleRoute"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:key>
<!-- =====FlexibleQuay============================== -->
<!-- =====FlexibleQuay unique========================== -->
<xsd:unique name="FlexibleQuay_UniqueBy_Id_Version">
<xsd:annotation>
<xsd:documentation>Every [FlexibleQuay Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:FlexibleQuay"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
<!-- =====FlexibleQuay Key ========================== -->
<xsd:keyref name="FlexibleQuay_KeyRef" refer="netex:FlexibleQuay_AnyVersionedKey">
<xsd:selector xpath=".//netex:FlexibleQuayRef"/>
<xsd:field xpath="@ref"/>
<xsd:field xpath="@version"/>
</xsd:keyref>
<xsd:key name="FlexibleQuay_AnyVersionedKey">
<xsd:selector xpath=".//netex:FlexibleQuay"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:key>
<!-- =====FlexibleStopPlace============================== -->
<!-- =====FlexibleStopPlace unique========================== -->
<xsd:unique name="FlexibleStopPlace_UniqueBy_Id_Version">
Expand Down Expand Up @@ -4805,7 +4873,7 @@ Correct COnstraints for PointOnRoute
<xsd:field xpath="@version"/>
<xsd:field xpath="@order"/>
</xsd:key>
<!-- =====CHECK CONSTRAINT COnstraints============== -->
<!-- =====CHECK CONSTRAINT Constraints============== -->
<!-- =====CheckConstraint============================== -->
<!-- =====CheckConstraint unique========================== -->
<xsd:unique name="CheckConstraint_UniqueBy_Id_Version">
Expand Down Expand Up @@ -4869,14 +4937,14 @@ Correct COnstraints for PointOnRoute
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:key>
<!-- =====PATH COnstraints============== -->
<!-- =====PATH Constraints============== -->
<!-- =====PathLink============================== -->
<!-- =====PathLink unique========================== -->
<xsd:unique name="PathLink_UniqueBy_Id_Version">
<xsd:annotation>
<xsd:documentation>Every [PathLink Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:PathLink"/>
<xsd:selector xpath=".//netex:PathLink | .//netex:SitePathLink"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
Expand Down Expand Up @@ -5423,6 +5491,15 @@ Correct COnstraints for PointOnRoute
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
<!-- =====FlexibleLine unique========================== -->
<xsd:unique name="FlexibleLine_UniqueBy_Id_Version">
<xsd:annotation>
<xsd:documentation>Every [FlexibleLine Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:FlexibleLine"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
<!-- =====Line Key ========================== -->
<xsd:keyref name="Line_KeyRef" refer="netex:Line_AnyVersionedKey">
<xsd:selector xpath=".//netex:LineRef | .//netex:FlexibleLineRef | .//netex:MainLineRef"/>
Expand Down Expand Up @@ -6275,6 +6352,30 @@ Correct COnstraints for PointOnRoute
<xsd:field xpath="@version"/>
</xsd:key>
<!-- =====STOP ASSIGNMENT Constraints============================== -->
<!-- =====FlexibleStopAssignment============================== -->
<!-- =====FlexibleStopAssignment unique========================== -->
<xsd:unique name="FlexibleStopAssignment_UniqueBy_Id_Version_Order">
<xsd:annotation>
<xsd:documentation>Every [FlexibleStopAssignment Id + Version + order] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:FlexibleStopAssignment"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
<xsd:field xpath="@order"/>
</xsd:unique>
<!-- =====FlexibleStopAssignment Key ========================== -->
<xsd:keyref name="FlexibleStopAssignment_KeyRef" refer="netex:FlexibleStopAssignment_AnyVersionedKey_ordered">
<xsd:selector xpath=".//netex:FlexibleStopAssignmentRef"/>
<xsd:field xpath="@ref"/>
<xsd:field xpath="@version"/>
<xsd:field xpath="@order"/>
</xsd:keyref>
<xsd:key name="FlexibleStopAssignment_AnyVersionedKey_ordered">
<xsd:selector xpath=".//netex:FlexibleStopAssignment"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
<xsd:field xpath="@order"/>
</xsd:key>
<!-- =====PassengerStopAssignment============================== -->
<!-- =====PassengerStopAssignment unique========================== -->
<xsd:unique name="PassengerStopAssignment_UniqueBy_Id_Version_Order">
Expand Down Expand Up @@ -6904,6 +7005,22 @@ Correct COnstraints for PointOnRoute
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
<xsd:unique name="DatedVehicleJourney_UniqueBy_Id_Version">
<xsd:annotation>
<xsd:documentation>Every [DatedVehicleJourney Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:DatedVehicleJourney"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
<xsd:unique name="NormalDatedVehicleJourney_UniqueBy_Id_Version">
<xsd:annotation>
<xsd:documentation>Every [NormalDatedVehicleJourney Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:NormalDatedVehicleJourney"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
<xsd:unique name="ServiceJourney_UniqueBy_Id_Version">
<xsd:annotation>
<xsd:documentation>Every [ServiceJourney Id + Version] must be unique within document.</xsd:documentation>
Expand All @@ -6912,7 +7029,15 @@ Correct COnstraints for PointOnRoute
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
<xsd:unique name="TemplateVehicleourney_UniqueBy_Id_Version">
<xsd:unique name="DatedServiceJourney_UniqueBy_Id_Version">
<xsd:annotation>
<xsd:documentation>Every [DatedServiceJourney Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:DatedServiceJourney"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
<xsd:unique name="TemplateVehicleJourney_UniqueBy_Id_Version">
<xsd:annotation>
<xsd:documentation>Every [TemplateVehicleJourney Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
Expand All @@ -6935,7 +7060,7 @@ Correct COnstraints for PointOnRoute
<xsd:field xpath="@version"/>
</xsd:keyref>
<xsd:key name="Journey_AnyVersionedKey">
<xsd:selector xpath=".//netex:ServiceJourney | .//netex:VehicleJourney | .//netex:DeadRun | .//netex:SpecialService | .//netex:TemplateServiceJourney | .//netex:DatedServiceJourney"/>
<xsd:selector xpath=".//netex:ServiceJourney | .//netex:VehicleJourney | .//netex:DeadRun | .//netex:SpecialService | .//netex:TemplateServiceJourney | .//netex:DatedServiceJourney | .//netex:DatedVehicleJourney | .//netex:NormalDatedVehicleJourney"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:key>
Expand Down Expand Up @@ -9500,7 +9625,7 @@ Correct COnstraints for PointOnRoute
<xsd:annotation>
<xsd:documentation>Every [UsageValidityPeriod Id + Version] must be unique within document.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath=".//netex:UsageValidityPeriod"/>
<xsd:selector xpath=".//netex:UsageValidityPeriod | .//netex:ValidityPeriod"/>
<xsd:field xpath="@id"/>
<xsd:field xpath="@version"/>
</xsd:unique>
Expand Down
Loading