diff --git a/pom.xml b/pom.xml
index fbe3734d..d112a9c7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -55,8 +55,8 @@
UTF-8
17
- 2.0.15.2
- 3.1.71
+ 2.0.16-SNAPSHOT
+ 4.0.0-SNAPSHOT
12.9
33.0
2.5
diff --git a/src/main/java/org/entur/netex/validation/validator/id/ReferenceToValidEntityTypeValidator.java b/src/main/java/org/entur/netex/validation/validator/id/ReferenceToValidEntityTypeValidator.java
index 9a122735..11e779f5 100644
--- a/src/main/java/org/entur/netex/validation/validator/id/ReferenceToValidEntityTypeValidator.java
+++ b/src/main/java/org/entur/netex/validation/validator/id/ReferenceToValidEntityTypeValidator.java
@@ -139,6 +139,13 @@ private Map> getAllowedSubstitutions() {
vehicleScheduleJourneyRefSubstitutions.add("DeadRun");
substitutions.put("VehicleJourneyRef", vehicleScheduleJourneyRefSubstitutions);
+ Set datedVehicleJourneyRefSubstitutions = new HashSet<>();
+ datedVehicleJourneyRefSubstitutions.add("DatedServiceJourney");
+ substitutions.put(
+ "DatedVehicleJourneyRef",
+ datedVehicleJourneyRefSubstitutions
+ );
+
Set serviceJourneyPatternRefSubstitutions = new HashSet<>();
serviceJourneyPatternRefSubstitutions.add("ServiceJourneyPattern");
substitutions.put("JourneyPatternRef", serviceJourneyPatternRefSubstitutions);
diff --git a/src/main/java/org/entur/netex/validation/validator/jaxb/support/DatedServiceJourneyUtils.java b/src/main/java/org/entur/netex/validation/validator/jaxb/support/DatedServiceJourneyUtils.java
index c6b35122..d35a0be9 100644
--- a/src/main/java/org/entur/netex/validation/validator/jaxb/support/DatedServiceJourneyUtils.java
+++ b/src/main/java/org/entur/netex/validation/validator/jaxb/support/DatedServiceJourneyUtils.java
@@ -3,8 +3,7 @@
import jakarta.xml.bind.JAXBElement;
import javax.annotation.Nullable;
import org.rutebanken.netex.model.DatedServiceJourney;
-import org.rutebanken.netex.model.DatedServiceJourneyRefStructure;
-import org.rutebanken.netex.model.VersionOfObjectRefStructure;
+import org.rutebanken.netex.model.VehicleJourneyRefStructure;
public class DatedServiceJourneyUtils {
@@ -18,12 +17,11 @@ public static String originalDatedServiceJourneyRef(
DatedServiceJourney datedServiceJourney
) {
return datedServiceJourney
- .getJourneyRef()
+ .getReplacedJourneys()
+ .getDatedVehicleJourneyRefOrNormalDatedVehicleJourneyRef()
.stream()
.map(JAXBElement::getValue)
- .filter(DatedServiceJourneyRefStructure.class::isInstance)
- .map(DatedServiceJourneyRefStructure.class::cast)
- .map(VersionOfObjectRefStructure::getRef)
+ .map(VehicleJourneyRefStructure::getRef)
.findFirst()
.orElse(null);
}
diff --git a/src/main/java/org/entur/netex/validation/validator/xpath/tree/DefaultTimetableFrameValidationTreeFactory.java b/src/main/java/org/entur/netex/validation/validator/xpath/tree/DefaultTimetableFrameValidationTreeFactory.java
index 4c27774f..caf5912a 100644
--- a/src/main/java/org/entur/netex/validation/validator/xpath/tree/DefaultTimetableFrameValidationTreeFactory.java
+++ b/src/main/java/org/entur/netex/validation/validator/xpath/tree/DefaultTimetableFrameValidationTreeFactory.java
@@ -230,7 +230,7 @@ public ValidationTreeBuilder builder() {
)
.withRuleForLineFile(
new ValidateNotExist(
- "vehicleJourneys/DatedServiceJourney/DatedServiceJourneyRef[@ref = preceding-sibling::DatedServiceJourneyRef/@ref]",
+ "vehicleJourneys/DatedServiceJourney/replacedJourneys/DatedVehicleJourneyRef[@ref = preceding-sibling::DatedVehicleJourneyRef/@ref]",
CODE_DATED_SERVICE_JOURNEY_5,
"DatedServiceJourney multiple references to the same DatedServiceJourney",
"Multiple references from a DatedServiceJourney to the same DatedServiceJourney",
diff --git a/src/main/java/org/entur/netex/validation/xml/NetexSchemaRepository.java b/src/main/java/org/entur/netex/validation/xml/NetexSchemaRepository.java
index d2a998c0..4689fbcb 100644
--- a/src/main/java/org/entur/netex/validation/xml/NetexSchemaRepository.java
+++ b/src/main/java/org/entur/netex/validation/xml/NetexSchemaRepository.java
@@ -82,6 +82,8 @@ public static NeTExValidator.NetexVersion detectNetexSchemaVersion(byte[] conten
return NeTExValidator.NetexVersion.v1_14;
case "1.15":
return NeTExValidator.NetexVersion.v1_15;
+ case "1.16":
+ return NeTExValidator.NetexVersion.v1_16;
default:
}
}