From a15871c12345c4cadcf3b673e77d9e57bf1940a3 Mon Sep 17 00:00:00 2001
From: Stefanos Doumpoulakis <dubulak@gmail.com>
Date: Thu, 6 Oct 2022 18:44:30 +0300
Subject: [PATCH] a)bugfixes for VTP report, b)started new xsd files for report

---
 .../DeclarationModeVectoRunDataFactory.cs     |    8 +-
 .../DeclarationVTPModeVectoRunDataFactory.cs  |    8 +-
 .../SimulationFactoryNinjectModule.cs         |    5 +-
 .../VectoCore/OutputData/DeclarationReport.cs |    4 +-
 .../OutputData/XML/XMLDeclarationReport.cs    |    2 +-
 .../VectoCore/OutputData/XML/XMLVTPReport.cs  |   57 +-
 .../Resources/XSD/VTPReport.0.1.1.xsd         |  560 ++++
 .../XSD/VectoDeclarationDefinitions.1.1.xsd   | 2731 +++++++++++++++++
 VectoCore/VectoCore/VectoCore.csproj          |    6 +
 9 files changed, 3349 insertions(+), 32 deletions(-)
 create mode 100644 VectoCore/VectoCore/Resources/XSD/VTPReport.0.1.1.xsd
 create mode 100644 VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.1.1.xsd

diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs
index 02ef8b8637..198ea68b04 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs
@@ -156,6 +156,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 		private void InitializeReport()
 		{
 			VectoRunData powertrainConfig;
+			List<List<FuelData.Entry>> fuels;
 			var vehicle = InputDataProvider.JobInputData.Vehicle;
 			if (InputDataProvider.JobInputData.Vehicle.ExemptedVehicle) {
 				powertrainConfig = new VectoRunData() {
@@ -164,13 +165,18 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 					InputDataHash = InputDataProvider.XMLHash
 				};
 				powertrainConfig.VehicleData.VehicleClass = _segment.Found ? _segment.VehicleClass : VehicleClass.Class0;
+				fuels = new List<List<FuelData.Entry>>();
 			} else {
 				powertrainConfig = _segment.Missions.Select(
 						mission => CreateVectoRunData(
 							vehicle, 0, mission, mission.Loadings.First()))
 					.FirstOrDefault(x => x != null);
+
+				fuels = vehicle.Components.EngineInputData.EngineModes.Select(x => x.Fuels.Select(f => DeclarationData.FuelData.Lookup(f.FuelType, vehicle.TankSystem)).ToList())
+								.ToList();
 			}
-			Report.InitializeReport(powertrainConfig);
+
+			Report.InitializeReport(powertrainConfig, fuels);
 		}
 
 		public IEnumerable<VectoRunData> NextRun()
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs
index 9e5444e8ab..7810e77927 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs
@@ -113,7 +113,13 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 			Report.InputDataHash = JobInputData.VectoJobHash;
 			Report.ManufacturerRecord = JobInputData.ManufacturerReportInputData;
 			Report.ManufacturerRecordHash = JobInputData.VectoManufacturerReportHash;
-			Report.InitializeReport(powertrainConfig);
+
+			var fuels = JobInputData.Vehicle.Components.EngineInputData.EngineModes.Select(
+					x => x.Fuels.Select(f => DeclarationData.FuelData.Lookup(f.FuelType, JobInputData.Vehicle.TankSystem))
+						.ToList())
+				.ToList();
+
+			Report.InitializeReport(powertrainConfig, fuels);
 		}
 
 
diff --git a/VectoCore/VectoCore/Models/Simulation/SimulationFactoryNinjectModule.cs b/VectoCore/VectoCore/Models/Simulation/SimulationFactoryNinjectModule.cs
index 497d08304a..723cc08c32 100644
--- a/VectoCore/VectoCore/Models/Simulation/SimulationFactoryNinjectModule.cs
+++ b/VectoCore/VectoCore/Models/Simulation/SimulationFactoryNinjectModule.cs
@@ -29,6 +29,7 @@
 *   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
 */
 
+using System.Collections.Generic;
 using Ninject.Extensions.Factory;
 using Ninject.Modules;
 using TUGraz.VectoCommon.InputData;
@@ -65,7 +66,7 @@ namespace TUGraz.VectoCore.Models.Simulation
 	{
 		#region Implementation of IDeclarationReport
 
-		public void InitializeReport(VectoRunData modelData)
+		public void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes)
 		{
 
 		}
@@ -87,7 +88,7 @@ namespace TUGraz.VectoCore.Models.Simulation
 	{
 		#region Implementation of IDeclarationReport
 
-		public void InitializeReport(VectoRunData modelData)
+		public void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes)
 		{
 
 		}
diff --git a/VectoCore/VectoCore/OutputData/DeclarationReport.cs b/VectoCore/VectoCore/OutputData/DeclarationReport.cs
index 03fca43302..306f03a9ec 100644
--- a/VectoCore/VectoCore/OutputData/DeclarationReport.cs
+++ b/VectoCore/VectoCore/OutputData/DeclarationReport.cs
@@ -47,7 +47,7 @@ namespace TUGraz.VectoCore.OutputData
 		 * This methodd is called once befor creating the simulation runs with a temporary 
 		 * VectoRunData instance
 		 */
-		void InitializeReport(VectoRunData modelData);
+		void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes);
 
 		/**
 		 * called when creating the simulation run (before starting the simulations)
@@ -158,6 +158,6 @@ namespace TUGraz.VectoCore.OutputData
 		protected internal abstract void DoWriteReport();
 
 
-		public abstract void InitializeReport(VectoRunData modelData);
+		public abstract void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes);
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
index 8ba338e0f4..d735d5d8bc 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
@@ -229,7 +229,7 @@ namespace TUGraz.VectoCore.OutputData.XML
 		}
 
 
-		public override void InitializeReport(VectoRunData modelData)
+		public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes)
 		{
 			if (modelData.Exempted) {
 				WeightingGroup = WeightingGroup.Unknown;
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs
index 2d649eebaf..67b4700679 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs
@@ -60,7 +60,7 @@ namespace TUGraz.VectoCore.OutputData.XML
 {
 	internal class XMLVTPReport : DeclarationReport<XMLVTPReport.ResultEntry>, IVTPReport
 	{
-		public const string CURRENT_SCHEMA_VERSION = "0.1";
+		public const string CURRENT_SCHEMA_VERSION = "0.1.1";
 
 		private const string VTPReportTartetName = "VTPReportTarget";
 		
@@ -326,28 +326,34 @@ namespace TUGraz.VectoCore.OutputData.XML
 				new XElement(
 					tns + "CO2",
 					new XElement(
-						tns + "Mission",
-						string.Format("{0}, {1}", Missions.FirstOrDefault(x => x.Key != MissionType.VerificationTest).Key.ToXMLFormat(), selectedLoading.ToString())
-					),
-					new XElement(
-						tns + "Declared", new XAttribute(XMLNames.Report_Results_Unit_Attr, key),
-						new ConvertedSI(declaredCO2.Value(), declaredCO2.UnitString).ToMinSignificantDigits(3, 2)
-					),
-					new XElement(
-						tns + "Verified", new XAttribute(XMLNames.Report_Results_Unit_Attr, key),
-						new ConvertedSI(declaredCO2.Value(), verifiedCO2.UnitString).ToMinSignificantDigits(3, 2)
-					),
-					new XElement(
-						tns + "Measured",  new XAttribute(XMLNames.Report_Results_Unit_Attr, CO2Measured.ConvertToGramPerKiloWattHour().Units),
-						CO2Measured.ConvertToGramPerKiloWattHour().Value.ToXMLFormat(3)
-					),
-					new XElement(
-						tns + "MeasuredCorrected",  new XAttribute(XMLNames.Report_Results_Unit_Attr, CO2MeasuredCorrected.ConvertToGramPerKiloWattHour().Units),
-						CO2MeasuredCorrected.ConvertToGramPerKiloWattHour().Value.ToXMLFormat(3)
+						tns + "Certification",
+						new XElement(
+							tns + "Mission",
+							string.Format("{0}, {1}", Missions.FirstOrDefault(x => x.Key != MissionType.VerificationTest).Key.ToXMLFormat(), selectedLoading.ToString())
+						),
+						new XElement(
+							tns + "Declared", new XAttribute(XMLNames.Report_Results_Unit_Attr, key),
+							new ConvertedSI(declaredCO2.Value(), declaredCO2.UnitString).ToMinSignificantDigits(3, 2)
+						),
+						new XElement(
+							tns + "Verified", new XAttribute(XMLNames.Report_Results_Unit_Attr, key),
+							new ConvertedSI(declaredCO2.Value(), verifiedCO2.UnitString).ToMinSignificantDigits(3, 2)
+						)
 					),
 					new XElement(
-						tns + "Simulated",  new XAttribute(XMLNames.Report_Results_Unit_Attr, CO2Simulated.ConvertToGramPerKiloWattHour().Units),
-						CO2Simulated.ConvertToGramPerKiloWattHour().Value.ToXMLFormat(3)
+						tns + "VTP",
+						new XElement(
+							tns + "Measured",  new XAttribute(XMLNames.Report_Results_Unit_Attr, CO2Measured.ConvertToGramPerKiloWattHour().Units),
+							CO2Measured.ConvertToGramPerKiloWattHour().Value.ToXMLFormat(3)
+						),
+						new XElement(
+							tns + "MeasuredCorrected",  new XAttribute(XMLNames.Report_Results_Unit_Attr, CO2MeasuredCorrected.ConvertToGramPerKiloWattHour().Units),
+							CO2MeasuredCorrected.ConvertToGramPerKiloWattHour().Value.ToXMLFormat(3)
+						),
+						new XElement(
+							tns + "Simulated",  new XAttribute(XMLNames.Report_Results_Unit_Attr, CO2Simulated.ConvertToGramPerKiloWattHour().Units),
+							CO2Simulated.ConvertToGramPerKiloWattHour().Value.ToXMLFormat(3)
+						)
 					)
 				),
 				new XElement(tns + "C_VTP", cVtp.ToXMLFormat(4)),
@@ -453,7 +459,7 @@ namespace TUGraz.VectoCore.OutputData.XML
 			return retVal;
 		}
 
-		public override void InitializeReport(VectoRunData modelData)
+		public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes)
 		{
 			GeneralPart.Add(
 				new XElement(tns + XMLNames.Component_Manufacturer, modelData.VehicleData.Manufacturer),
@@ -472,7 +478,7 @@ namespace TUGraz.VectoCore.OutputData.XML
 				new XElement(tns + XMLNames.Vehicle_PTO, modelData.PTO != null),
 				new XElement(
 					tns + XMLNames.Vehicle_Components,
-					GetEngineDescription(modelData.EngineData),
+					GetEngineDescription(modelData.EngineData, fuelModes),
 					GetGearboxDescription(modelData.GearboxData),
 					GetTorqueConverterDescription(modelData.GearboxData.TorqueConverterData),
 					GetRetarderDescription(modelData.Retarder),
@@ -640,7 +646,7 @@ namespace TUGraz.VectoCore.OutputData.XML
 					XmlConvert.ToString(DateTime.Now, XmlDateTimeSerializationMode.Utc)));
 		}
 
-		private XElement GetEngineDescription(CombustionEngineData engineData)
+		private XElement GetEngineDescription(CombustionEngineData engineData, List<List<FuelData.Entry>> fuelModes)
 		{
 			return new XElement(
 				tns + XMLNames.Component_Engine,
@@ -649,7 +655,8 @@ namespace TUGraz.VectoCore.OutputData.XML
 				new XElement(
 					tns + XMLNames.Engine_Displacement,
 					engineData.Displacement.ConvertToCubicCentiMeter().ToXMLFormat(0)),
-				new XElement(tns + XMLNames.Engine_FuelType, engineData.Fuels.First().FuelData.FuelType.ToXMLFormat())
+				fuelModes.SelectMany(x => x.Select(f => f.FuelType.ToXMLFormat())).Distinct().Select(
+					x => new XElement(tns + XMLNames.Engine_FuelType, x))
 			);
 		}
 
diff --git a/VectoCore/VectoCore/Resources/XSD/VTPReport.0.1.1.xsd b/VectoCore/VectoCore/Resources/XSD/VTPReport.0.1.1.xsd
new file mode 100644
index 0000000000..9efe9ef720
--- /dev/null
+++ b/VectoCore/VectoCore/Resources/XSD/VTPReport.0.1.1.xsd
@@ -0,0 +1,560 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2016 rel. 2 sp1 (x64) (http://www.altova.com) by Helmut Eichlseder (TU Graz/Inst. f. VKM und THD) -->
+<xs:schema xmlns="urn:tugraz:ivt:VectoAPI:VTPReport:v0.1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" targetNamespace="urn:tugraz:ivt:VectoAPI:VTPReport:v0.1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.1">
+	<xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" schemaLocation="VectoDeclarationDefinitions.1.1.xsd"/>
+	<xs:element name="VectoVTPReport">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="Data">
+					<xs:complexType>
+						<xs:sequence>
+							<xs:element name="General">
+								<xs:complexType>
+									<xs:sequence>
+										<xs:element name="Manufacturer" type="vdecdef:ManufacturerType"/>
+										<xs:element name="ManufacturerAddress" type="vdecdef:ManufacturerAddressType"/>
+									</xs:sequence>
+								</xs:complexType>
+							</xs:element>
+							<xs:element name="Vehicle" type="VehicleType"/>
+							<xs:element name="DataIntegrityCheck" type="DataIntegrityCheckType"/>
+							<xs:element name="TestConditions"/>
+							<xs:element name="Results" type="ResultsType"/>
+							<xs:element name="ApplicationInformation">
+								<xs:complexType>
+									<xs:sequence>
+										<xs:element name="SimulationToolVersion"/>
+										<xs:element name="Date"/>
+									</xs:sequence>
+								</xs:complexType>
+							</xs:element>
+						</xs:sequence>
+					</xs:complexType>
+				</xs:element>
+			</xs:sequence>
+			<xs:attribute name="schemaVersion" type="xs:decimal" use="required"/>
+		</xs:complexType>
+	</xs:element>
+	<xs:complexType name="AirDragType">
+		<xs:sequence>
+			<xs:element name="Model" type="vdecdef:ModelType" minOccurs="0">
+				<xs:annotation>
+					<xs:documentation>P241</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="CertificationMethod" type="AirdragCertificationOptionType">
+				<xs:annotation>
+					<xs:documentation>VECTO</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0">
+				<xs:annotation>
+					<xs:documentation>P268</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="CdxA" type="vdecdef:AirdragCdxAType">
+				<xs:annotation>
+					<xs:documentation>P146</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="AngleDriveType">
+		<xs:sequence>
+			<xs:element name="Model" type="vdecdef:ModelType">
+				<xs:annotation>
+					<xs:documentation>P221</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="CertificationMethod" type="vdecdef:AngledriveCertificationOptionType">
+				<xs:annotation>
+					<xs:documentation>P258</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0">
+				<xs:annotation>
+					<xs:documentation>P265</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="Ratio" type="vdecdef:AngledriveRatioType">
+				<xs:annotation>
+					<xs:documentation>P176</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="AuxiliariesType">
+		<xs:sequence>
+			<xs:element name="FanTechnology" type="vdecdef:AuxFanTechnologyType">
+				<xs:annotation>
+					<xs:documentation>P181</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="SteeringPumpTechnology" type="vdecdef:AuxSPTechnologyType" maxOccurs="4">
+				<xs:annotation>
+					<xs:documentation>P182</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="ElectricSystemTechnology" type="vdecdef:AuxESTechnologyType">
+				<xs:annotation>
+					<xs:documentation>P183</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="PneumaticSystemTechnology" type="vdecdef:AuxPSTechnologyType">
+				<xs:annotation>
+					<xs:documentation>P184</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="HVACTechnology" type="vdecdef:AuxHVACTechnologyType">
+				<xs:annotation>
+					<xs:documentation>P185</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+      <xs:element name="FanDiameter" type="vdecdef:AuxFanDiameterType">
+      </xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="AxlegearType">
+		<xs:sequence>
+			<xs:element name="Model" type="vdecdef:ModelType">
+				<xs:annotation>
+					<xs:documentation>P216</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="CertificationMethod" type="vdecdef:AxlegearCertificationOptionType">
+				<xs:annotation>
+					<xs:documentation>P256</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0">
+				<xs:annotation>
+					<xs:documentation>P264</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="LineType" type="vdecdef:AxlegearLineTypeType">
+				<xs:annotation>
+					<xs:documentation>P253</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="Ratio" type="vdecdef:AxlegearRatioType">
+				<xs:annotation>
+					<xs:documentation>P150</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="AxleType">
+		<xs:sequence>
+			<xs:element name="TyreDimension" type="vdecdef:TyreDimensionType">
+				<xs:annotation>
+					<xs:documentation>P108</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType">
+				<xs:annotation>
+					<xs:documentation>P267</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="TyreRRCDeclared" type="vdecdef:TyreRRCISOType">
+				<xs:annotation>
+					<xs:documentation>P046</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="TwinTyres" type="vdecdef:AxleTwinTyresType">
+				<xs:annotation>
+					<xs:documentation>P045</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+		</xs:sequence>
+		<xs:attribute name="axleNumber" use="required">
+			<xs:simpleType>
+				<xs:restriction base="xs:int">
+					<xs:minInclusive value="1"/>
+					<xs:maxInclusive value="4"/>
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+	</xs:complexType>
+	<xs:complexType name="AxleWheelsType">
+		<xs:sequence minOccurs="2" maxOccurs="4">
+			<xs:element name="Axle" type="AxleType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="CO2ResultType">
+		<xs:sequence>
+			<xs:element name="Mission">
+				<xs:simpleType>
+					<xs:restriction base="xs:string">
+						<xs:minLength value="1"/>
+					</xs:restriction>
+				</xs:simpleType>
+			</xs:element>
+			<xs:element name="Declared">
+				<xs:complexType>
+					<xs:simpleContent>
+						<xs:extension base="xs:double">
+							<xs:attribute name="unit" type="CO2UnitType" use="required"/>
+						</xs:extension>
+					</xs:simpleContent>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="Verified">
+				<xs:complexType>
+					<xs:simpleContent>
+						<xs:extension base="xs:double">
+							<xs:attribute name="unit" type="CO2UnitType" use="required"/>
+						</xs:extension>
+					</xs:simpleContent>
+				</xs:complexType>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="DataIntegrityCheckType">
+		<xs:sequence>
+			<xs:element name="Components">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element name="Component" minOccurs="0" maxOccurs="unbounded">
+							<xs:complexType>
+								<xs:complexContent>
+									<xs:extension base="DataIntegrityResultType">
+										<xs:attribute name="componentName" type="xs:token" use="required"/>
+									</xs:extension>
+								</xs:complexContent>
+							</xs:complexType>
+						</xs:element>
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="ManufacturerReport" type="DataIntegrityResultType"/>
+			<xs:element name="JobData" type="DataIntegrityResultType"/>
+		</xs:sequence>
+		<xs:attribute name="status" type="DataIntegrityStatusType" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="DataIntegrityResultType">
+		<xs:choice>
+			<xs:sequence>
+				<xs:element name="DigestValueRecomputed" type="xs:token"/>
+				<xs:element name="DigestValueRead" maxOccurs="unbounded">
+					<xs:complexType>
+						<xs:simpleContent>
+							<xs:extension base="xs:token">
+								<xs:attribute name="source" type="xs:token" use="required"/>
+							</xs:extension>
+						</xs:simpleContent>
+					</xs:complexType>
+				</xs:element>
+			</xs:sequence>
+			<xs:sequence>
+				<xs:element name="Error" type="xs:string"/>
+			</xs:sequence>
+		</xs:choice>
+		<xs:attribute name="status" type="DataIntegrityStatusType" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="EngineType">
+		<xs:sequence>
+			<xs:element name="Model" type="vdecdef:ModelType">
+				<xs:annotation>
+					<xs:documentation>P201</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType">
+				<xs:annotation>
+					<xs:documentation>P261</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="RatedPower" type="vdecdef:EngineRatedPower">
+				<xs:annotation>
+					<xs:documentation>P250</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="Displacement" type="vdecdef:EngineDisplacementType">
+				<xs:annotation>
+					<xs:documentation>P061</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="FuelType" type="vdecdef:FuelTypeType" maxOccurs="unbounded">
+				<xs:annotation>
+					<xs:documentation>P193</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="FuelConsumptionResultType">
+		<xs:sequence>
+			<xs:element name="Measured">
+				<xs:complexType>
+					<xs:simpleContent>
+						<xs:extension base="xs:double">
+							<xs:attribute name="unit" type="FCUnitType" use="required"/>
+						</xs:extension>
+					</xs:simpleContent>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="MeasuredCorrected">
+				<xs:complexType>
+					<xs:simpleContent>
+						<xs:extension base="xs:double">
+							<xs:attribute name="unit" type="FCUnitType" use="required"/>
+						</xs:extension>
+					</xs:simpleContent>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="Simulated">
+				<xs:complexType>
+					<xs:simpleContent>
+						<xs:extension base="xs:double">
+							<xs:attribute name="unit" type="FCUnitType" use="required"/>
+						</xs:extension>
+					</xs:simpleContent>
+				</xs:complexType>
+			</xs:element>
+		</xs:sequence>
+		<xs:attribute name="fuelType" use="required">
+			<xs:simpleType>
+				<xs:restriction base="xs:string">
+					<xs:minLength value="1"/>
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+	</xs:complexType>
+	<xs:complexType name="GearboxType">
+		<xs:sequence>
+			<xs:element name="Model" type="vdecdef:ModelType">
+				<xs:annotation>
+					<xs:documentation>P206</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="CertificationMethod" type="vdecdef:GearboxCertificationOptionType">
+				<xs:annotation>
+					<xs:documentation>P254</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0">
+				<xs:annotation>
+					<xs:documentation>P262</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="TransmissionType" type="vdecdef:GearboxTransmissionTypeType">
+				<xs:annotation>
+					<xs:documentation>P076</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="GearsCount">
+				<xs:annotation>
+					<xs:documentation>P199</xs:documentation>
+				</xs:annotation>
+				<xs:simpleType>
+					<xs:restriction base="xs:int">
+						<xs:minInclusive value="1"/>
+					</xs:restriction>
+				</xs:simpleType>
+			</xs:element>
+			<xs:element name="TransmissionRatioFinalGear" type="vdecdef:GearboxGearRatioType">
+				<xs:annotation>
+					<xs:documentation>P078</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="ResultsType">
+		<xs:sequence>
+			<xs:element name="Status" type="VTPStatusType"/>
+			<xs:element name="AverageFanPower">
+				<xs:complexType>
+					<xs:simpleContent>
+						<xs:extension base="xs:double">
+							<xs:attribute name="unit" type="PowerUnitType" use="required"/>
+						</xs:extension>
+					</xs:simpleContent>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="WorkPosVT">
+				<xs:complexType>
+					<xs:simpleContent>
+						<xs:extension base="xs:double">
+							<xs:attribute name="unit" type="WorkUnitType" use="required"/>
+						</xs:extension>
+					</xs:simpleContent>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="TestFuelNCV" minOccurs="0">
+				<xs:complexType>
+					<xs:simpleContent>
+						<xs:extension base="xs:double">
+							<xs:attribute name="unit" type="NCVUnitType" use="required"/>
+						</xs:extension>
+					</xs:simpleContent>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="FuelConsumption" type="FuelConsumptionResultType" maxOccurs="unbounded"/>
+			<xs:element name="CO2" type="CO2ResultType"/>
+			<xs:element name="C_VTP" type="xs:double"/>
+			<xs:element name="Warnings" minOccurs="0">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element name="Warning" maxOccurs="unbounded"/>
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="RetarderType">
+		<xs:sequence>
+			<xs:element name="RetarderType" type="vdecdef:RetarderTypeType">
+				<xs:annotation>
+					<xs:documentation>P052</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:sequence minOccurs="0">
+				<xs:element name="Model" type="vdecdef:ModelType">
+					<xs:annotation>
+						<xs:documentation>P226</xs:documentation>
+					</xs:annotation>
+				</xs:element>
+				<xs:element name="CertificationMethod" type="vdecdef:RetarderCertificationOptionType">
+					<xs:annotation>
+						<xs:documentation>P255</xs:documentation>
+					</xs:annotation>
+				</xs:element>
+				<xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0">
+					<xs:annotation>
+						<xs:documentation>P266</xs:documentation>
+					</xs:annotation>
+				</xs:element>
+			</xs:sequence>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="TorqueConverterType">
+		<xs:sequence>
+			<xs:element name="Model" type="vdecdef:ModelType">
+				<xs:annotation>
+					<xs:documentation>P211</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="CertificationMethod" type="vdecdef:TorqueConverterCertificationOptionType">
+				<xs:annotation>
+					<xs:documentation>P257</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0">
+				<xs:annotation>
+					<xs:documentation>P263</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="VehicleType">
+		<xs:sequence>
+			<xs:element name="Model" type="vdecdef:ModelType">
+				<xs:annotation>
+					<xs:documentation>P236</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="VIN" type="vdecdef:VINType">
+				<xs:annotation>
+					<xs:documentation>P238</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="LegislativeClass" type="vdecdef:LegislativeClassDeclarationType">
+				<xs:annotation>
+					<xs:documentation>P251</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="VehicleGroup" type="VehicleGroupType">
+				<xs:annotation>
+					<xs:documentation>VECTO</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="AxleConfiguration" type="vdecdef:VehicleAxleConfigurationDeclarationType">
+				<xs:annotation>
+					<xs:documentation>P037</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="GrossVehicleMass" type="vdecdef:VehicleGrossVehicleMassType">
+				<xs:annotation>
+					<xs:documentation>P041</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="CurbMassChassis" type="vdecdef:VehicleCurbMassChassisType">
+				<xs:annotation>
+					<xs:documentation>P038</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="RetarderRatio" type="vdecdef:RetarderRatioType" minOccurs="0">
+				<xs:annotation>
+					<xs:documentation>P053</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="PTO" type="xs:boolean">
+				<xs:annotation>
+					<xs:documentation>P247</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="Components">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element name="Engine" type="EngineType"/>
+						<xs:element name="Gearbox" type="GearboxType"/>
+						<xs:element name="TorqueConverter" type="TorqueConverterType" minOccurs="0"/>
+						<xs:element name="Retarder" type="RetarderType"/>
+						<xs:element name="AngleDrive" type="AngleDriveType" minOccurs="0"/>
+						<xs:element name="Axlegear" type="AxlegearType"/>
+						<xs:element name="AirDrag" type="AirDragType"/>
+						<xs:element name="AxleWheels" type="AxleWheelsType"/>
+						<xs:element name="Auxiliaries" type="AuxiliariesType"/>
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:simpleType name="AirdragCertificationOptionType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Measured"/>
+			<xs:enumeration value="Standard values"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="CO2UnitType">
+		<xs:restriction base="xs:token">
+			<xs:enumeration value="g/t-km"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="DataIntegrityStatusType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="success"/>
+			<xs:enumeration value="failed"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="FCUnitType">
+		<xs:restriction base="xs:token">
+			<xs:enumeration value="g/kWh"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="NCVUnitType">
+		<xs:restriction base="xs:token">
+			<xs:enumeration value="MJ/kg"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="PowerUnitType">
+		<xs:restriction base="xs:token">
+			<xs:enumeration value="kW"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="VehicleGroupType">
+		<xs:restriction base="xs:int">
+			<xs:minInclusive value="1"/>
+			<xs:maxInclusive value="16"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="VTPStatusType">
+		<xs:restriction base="xs:token">
+			<xs:enumeration value="Passed"/>
+			<xs:enumeration value="Failed"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="WorkUnitType">
+		<xs:restriction base="xs:token">
+			<xs:enumeration value="kWh"/>
+		</xs:restriction>
+	</xs:simpleType>
+</xs:schema>
diff --git a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.1.1.xsd b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.1.1.xsd
new file mode 100644
index 0000000000..f719410d8a
--- /dev/null
+++ b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.1.1.xsd
@@ -0,0 +1,2731 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2021 (x64) (http://www.altova.com) by Markus Quaritsch (Technische Universität Graz) -->
+<?xml-stylesheet type="text/xsl" href="../RenderTable.xslt"?>
+<xs:schema xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vectoParam="urn:tugraz:ivt:VectoAPI:ParameterDocumentation" xmlns:di="http://www.w3.org/2000/09/xmldsig#" targetNamespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:ParameterDocumentation ParameterDocumentation.xsd">
+	<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
+	<xs:complexType name="AbstractAirdragDataDeclarationType" abstract="true">
+		<xs:complexContent>
+			<xs:extension base="tns:VectoSimulationComponent"/>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="AbstractAngledriveDataDeclarationType" abstract="true">
+		<xs:complexContent>
+			<xs:extension base="tns:VectoSimulationComponent"/>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="AbstractAxlegearDataDeclarationType" abstract="true">
+		<xs:complexContent>
+			<xs:extension base="tns:VectoSimulationComponent"/>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="AbstractCombustionEngineDataDeclarationType" abstract="true">
+		<xs:annotation>
+			<xs:documentation>Engine Component</xs:documentation>
+		</xs:annotation>
+		<xs:complexContent>
+			<xs:extension base="tns:VectoSimulationComponent"/>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="AbstractRetarderDataDeclarationType" abstract="true">
+		<xs:complexContent>
+			<xs:extension base="tns:VectoSimulationComponent"/>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="AbstractTorqueConverterDataDeclarationType" abstract="true">
+		<xs:complexContent>
+			<xs:extension base="tns:VectoSimulationComponent"/>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="AbstractTransmissionDataDeclarationType" abstract="true">
+		<xs:complexContent>
+			<xs:extension base="tns:VectoSimulationComponent"/>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="AbstractTyreDataDeclarationType" abstract="true">
+		<xs:complexContent>
+			<xs:extension base="tns:VectoSimulationComponent"/>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="AbstractVehicleType" abstract="true">
+		<xs:complexContent>
+			<xs:extension base="tns:VectoSimulationComponent"/>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="ADASType">
+		<xs:sequence>
+			<xs:element name="EngineStopStart" type="tns:EngineStopStartType">
+				<xs:annotation>
+					<xs:documentation>P271 - bool</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="EcoRollWithoutEngineStop" type="tns:EcoRollWithoutEngineStopType">
+				<xs:annotation>
+					<xs:documentation>P272 - bool</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="EcoRollWithEngineStop" type="tns:EcoRollWithEngineStopType">
+				<xs:annotation>
+					<xs:documentation>P273 - bool</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="PredictiveCruiseControl">
+				<xs:annotation>
+					<xs:documentation>P274 - enum</xs:documentation>
+				</xs:annotation>
+				<xs:simpleType>
+					<xs:restriction base="tns:PredictiveCruiseControlType"/>
+				</xs:simpleType>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="AirDragComponentDeclarationType">
+		<xs:sequence>
+			<xs:element name="Data" type="tns:AirDragDataDeclarationType"/>
+			<xs:element name="Signature" type="tns:SignatureType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="AirDragDataDeclarationType">
+		<xs:complexContent>
+			<xs:extension base="tns:AbstractAirdragDataDeclarationType">
+				<xs:sequence>
+					<xs:element name="Manufacturer" type="tns:ManufacturerType">
+						<xs:annotation>
+							<xs:documentation>P240</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Model" type="tns:ModelType">
+						<xs:annotation>
+							<xs:documentation>P241</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="CertificationNumber" type="tns:CertificationNumberType">
+						<xs:annotation>
+							<xs:documentation>P268</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Date" type="tns:DateTimeWithTimezone">
+						<xs:annotation>
+							<xs:documentation>P243</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="AppVersion" type="tns:AppVersionType">
+						<xs:annotation>
+							<xs:documentation>P244</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="CdxA_0" type="tns:AirdragCdxAType">
+						<xs:annotation>
+							<xs:documentation>P245 - [m²]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="TransferredCdxA" type="tns:AirdragCdxAType">
+						<xs:annotation>
+							<xs:documentation>P246 - [m²]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="DeclaredCdxA" type="tns:AirdragCdxAType">
+						<xs:annotation>
+							<xs:documentation>P146 - [m²]  Drag coefficient * Cross Sectional Area (Truck &amp; Trailer)</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="AngledriveComponentDeclarationType">
+		<xs:sequence>
+			<xs:element name="Data" type="tns:AngledriveDataDeclarationType"/>
+			<xs:element name="Signature" type="tns:SignatureType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="AngledriveDataDeclarationType">
+		<xs:complexContent>
+			<xs:extension base="tns:AbstractAngledriveDataDeclarationType">
+				<xs:sequence>
+					<xs:element name="Manufacturer" type="tns:ManufacturerType">
+						<xs:annotation>
+							<xs:documentation>P220</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Model" type="tns:ModelType">
+						<xs:annotation>
+							<xs:documentation>P221</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="CertificationNumber" type="tns:CertificationNumberType">
+						<xs:annotation>
+							<xs:documentation>P265</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Date" type="tns:DateTimeWithTimezone">
+						<xs:annotation>
+							<xs:documentation>P223</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="AppVersion" type="tns:AppVersionType">
+						<xs:annotation>
+							<xs:documentation>P224</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Ratio" type="tns:AngledriveRatioType">
+						<xs:annotation>
+							<xs:documentation>P176 - [-]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="CertificationMethod" type="tns:AngledriveCertificationOptionType">
+						<xs:annotation>
+							<xs:documentation>P258 - [-]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="TorqueLossMap">
+						<xs:complexType>
+							<xs:sequence minOccurs="4" maxOccurs="unbounded">
+								<xs:element name="Entry" type="tns:AngledriveLossMapEntryType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="AngledriveLossMapEntryType">
+		<xs:attribute name="inputSpeed" type="tns:AngledriveInputSpeedType" use="required">
+			<xs:annotation>
+				<xs:documentation>P173 - [1/min]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="inputTorque" type="tns:AngledriveInputTorqueType" use="required">
+			<xs:annotation>
+				<xs:documentation>P174 - [Nm]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="torqueLoss" type="tns:AngledriveTorqueLossType" use="required">
+			<xs:annotation>
+				<xs:documentation>P175 - [Nm]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+	</xs:complexType>
+	<xs:complexType name="AuxiliariesBaseType">
+		<xs:annotation>
+			<xs:documentation>Auxiliaries</xs:documentation>
+		</xs:annotation>
+	</xs:complexType>
+	<xs:complexType name="AuxiliariesComponentDeclarationType">
+		<xs:sequence>
+			<xs:element name="Data" type="tns:AuxiliariesDataDeclarationType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="AuxiliariesDataDeclarationType">
+		<xs:complexContent>
+			<xs:extension base="tns:AuxiliariesBaseType">
+				<xs:sequence>
+					<xs:element name="Fan">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Technology" type="tns:AuxFanTechnologyType">
+									<xs:annotation>
+										<xs:documentation>P181</xs:documentation>
+									</xs:annotation>
+								</xs:element>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="SteeringPump">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Technology" type="tns:AuxSPTechnologyType" maxOccurs="4">
+									<xs:annotation>
+										<xs:documentation>P182</xs:documentation>
+									</xs:annotation>
+								</xs:element>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="ElectricSystem">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Technology" type="tns:AuxESTechnologyType">
+									<xs:annotation>
+										<xs:documentation>P183</xs:documentation>
+									</xs:annotation>
+								</xs:element>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="PneumaticSystem">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Technology" type="tns:AuxPSTechnologyType">
+									<xs:annotation>
+										<xs:documentation>P184</xs:documentation>
+									</xs:annotation>
+								</xs:element>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="HVAC">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Technology" type="tns:AuxHVACTechnologyType">
+									<xs:annotation>
+										<xs:documentation>P185</xs:documentation>
+									</xs:annotation>
+								</xs:element>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="AxleDeclarationType">
+		<xs:sequence>
+			<xs:element name="AxleType" type="tns:AxleTypeDeclarationType">
+				<xs:annotation>
+					<xs:documentation>P154 - enum</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="TwinTyres" type="tns:AxleTwinTyresType">
+				<xs:annotation>
+					<xs:documentation>P045 - bool</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="Steered" type="tns:AxleSteeredType">
+				<xs:annotation>
+					<xs:documentation>P195 - bool</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="Tyre" type="tns:TyreComponentDeclarationType"/>
+		</xs:sequence>
+		<xs:attribute name="axleNumber" use="required">
+			<xs:simpleType>
+				<xs:restriction base="xs:int">
+					<xs:minInclusive value="1"/>
+					<xs:maxInclusive value="4"/>
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+	</xs:complexType>
+	<xs:complexType name="AxlegearComponentDeclarationType">
+		<xs:sequence>
+			<xs:element name="Data" type="tns:AxlegearDataDeclarationType"/>
+			<xs:element name="Signature" type="tns:SignatureType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="AxlegearDataDeclarationType">
+		<xs:annotation>
+			<xs:documentation>Axlegear Component</xs:documentation>
+		</xs:annotation>
+		<xs:complexContent>
+			<xs:extension base="tns:AbstractAxlegearDataDeclarationType">
+				<xs:sequence>
+					<xs:element name="Manufacturer" type="tns:ManufacturerType">
+						<xs:annotation>
+							<xs:documentation>P215</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Model" type="tns:ModelType">
+						<xs:annotation>
+							<xs:documentation>P216</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="CertificationNumber" type="tns:CertificationNumberType">
+						<xs:annotation>
+							<xs:documentation>P264</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Date" type="tns:DateTimeWithTimezone">
+						<xs:annotation>
+							<xs:documentation>P218</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="AppVersion" type="tns:AppVersionType">
+						<xs:annotation>
+							<xs:documentation>P219</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="LineType" type="tns:AxlegearLineTypeType">
+						<xs:annotation>
+							<xs:documentation>P253 - [-]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Ratio" type="tns:AxlegearRatioType">
+						<xs:annotation>
+							<xs:documentation>P150 - [-]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="CertificationMethod" type="tns:AxlegearCertificationOptionType">
+						<xs:annotation>
+							<xs:documentation>P256 - [-]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="TorqueLossMap">
+						<xs:complexType>
+							<xs:sequence minOccurs="4" maxOccurs="unbounded">
+								<xs:element name="Entry" type="tns:AxlegearTorqueLossMapEntryType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="AxlegearTorqueLossMapEntryType">
+		<xs:attribute name="inputSpeed" type="tns:AxlegearInputSpeedType" use="required">
+			<xs:annotation>
+				<xs:documentation>P151 - [1/min]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="inputTorque" type="tns:AxlegearInputTorqueType" use="required">
+			<xs:annotation>
+				<xs:documentation>P152 - [Nm]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="torqueLoss" type="tns:AxlegearTorqueLossType" use="required">
+			<xs:annotation>
+				<xs:documentation>P153 - [Nm]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+	</xs:complexType>
+	<xs:complexType name="AxlegearTorqueLossMapType"/>
+	<xs:complexType name="AxleWheelsComponentDeclarationType">
+		<xs:sequence>
+			<xs:element name="Data" type="tns:AxleWheelsDataDeclarationType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="AxleWheelsDataDeclarationType">
+		<xs:annotation>
+			<xs:documentation>Axles &amp; Wheels Component</xs:documentation>
+		</xs:annotation>
+		<xs:sequence>
+			<xs:element name="Axles">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element name="Axle" type="tns:AxleDeclarationType" minOccurs="2" maxOccurs="4"/>
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="EngineComponentDeclarationType">
+		<xs:sequence>
+			<xs:element name="Data" type="tns:EngineDataDeclarationType"/>
+			<xs:element name="Signature" type="tns:SignatureType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="EngineDataDeclarationType">
+		<xs:complexContent>
+			<xs:extension base="tns:AbstractCombustionEngineDataDeclarationType">
+				<xs:sequence>
+					<xs:element name="Manufacturer" type="tns:ManufacturerType">
+						<xs:annotation>
+							<xs:documentation>P200</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Model" type="tns:ModelType">
+						<xs:annotation>
+							<xs:documentation>P201</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="CertificationNumber" type="tns:CertificationNumberType">
+						<xs:annotation>
+							<xs:documentation>P261</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Date" type="tns:DateTimeWithTimezone">
+						<xs:annotation>
+							<xs:documentation>P203</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="AppVersion" type="tns:AppVersionType">
+						<xs:annotation>
+							<xs:documentation>P204</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Displacement" type="tns:EngineDisplacementType" nillable="false">
+						<xs:annotation>
+							<xs:documentation>P061 - [cm³]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="IdlingSpeed" type="tns:EngineDeclaredSpeedType">
+						<xs:annotation>
+							<xs:documentation>P063 - [1/min]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="RatedSpeed" type="tns:EngineDeclaredSpeedType">
+						<xs:annotation>
+							<xs:documentation>P249 - [1/min]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="RatedPower" type="tns:EngineRatedPower">
+						<xs:annotation>
+							<xs:documentation>P250 - [W]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="MaxEngineTorque" type="tns:EngineMaxTorque">
+						<xs:annotation>
+							<xs:documentation>P259 - [Nm]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="WHTCUrban" type="tns:EngineWHTCType">
+						<xs:annotation>
+							<xs:documentation>P109 - [-]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="WHTCRural" type="tns:EngineWHTCType">
+						<xs:annotation>
+							<xs:documentation>P110 - [-]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="WHTCMotorway" type="tns:EngineWHTCType">
+						<xs:annotation>
+							<xs:documentation>P111 - [-]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="BFColdHot" type="tns:EngineColdHotBalancingFactorType">
+						<xs:annotation>
+							<xs:documentation>P159 - [-]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="CFRegPer" type="tns:EngineCFRegPerType">
+						<xs:annotation>
+							<xs:documentation>P192 [-]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="CFNCV" type="tns:EngineNCVCFType">
+						<xs:annotation>
+							<xs:documentation>P260 - [-]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="FuelType" type="tns:FuelTypeType">
+						<xs:annotation>
+							<xs:documentation>P193 [enum]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="FuelConsumptionMap">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Entry" type="tns:FuelConsumptionEntryType" minOccurs="4" maxOccurs="unbounded"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="FullLoadAndDragCurve">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Entry" type="tns:FullLoadAndDragCurveEntryType" minOccurs="2" maxOccurs="unbounded"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="EngineStartStopDeclarationType">
+		<xs:sequence>
+			<xs:element name="Enabled" type="tns:ADASEngineStartStopEnabled">
+				<xs:annotation>
+					<xs:documentation>P010 </xs:documentation>
+				</xs:annotation>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="FuelConsumptionEntryType">
+		<xs:attribute name="engineSpeed" type="tns:EngineSpeedType" use="required">
+			<xs:annotation>
+				<xs:documentation>P072 - [1/min]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="torque" type="tns:EngineFuelConsumptionMapTorqueType" use="required">
+			<xs:annotation>
+				<xs:documentation>P073 - [Nm]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="fuelConsumption" type="tns:EngineFuelConsumptionMapFuelConsumptionType" use="required">
+			<xs:annotation>
+				<xs:documentation>P074 - [g/h]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+	</xs:complexType>
+	<xs:complexType name="FullLoadAndDragCurveEntryType">
+		<xs:attribute name="engineSpeed" type="tns:EngineSpeedType" use="required">
+			<xs:annotation>
+				<xs:documentation>P068 - [1/min]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="maxTorque" type="tns:EngineFLDMaxTorqueType" use="required">
+			<xs:annotation>
+				<xs:documentation>P069 - [N]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="dragTorque" type="tns:EngineFLDDragTorqueType" use="required">
+			<xs:annotation>
+				<xs:documentation>P070 - [N]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+	</xs:complexType>
+	<xs:complexType name="FullLoadCurveType"/>
+	<xs:complexType name="GearBaseType">
+		<xs:sequence>
+			<xs:element name="Ratio" type="tns:GearboxGearRatioType">
+				<xs:annotation>
+					<xs:documentation>P078 - [-]</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+		</xs:sequence>
+		<xs:attribute name="number" type="tns:GearboxGearNumberType" use="required">
+			<xs:annotation>
+				<xs:documentation>P199 - [-]</xs:documentation>
+				<xs:appinfo>
+				</xs:appinfo>
+			</xs:annotation>
+		</xs:attribute>
+	</xs:complexType>
+	<xs:complexType name="GearboxComponentDeclarationType">
+		<xs:sequence>
+			<xs:element name="Data" type="tns:GearboxDataDeclarationType"/>
+			<xs:element name="Signature" type="tns:SignatureType"/>
+			<xs:element name="TorqueConverter" type="tns:TorqueConverterComponentDeclarationType" minOccurs="0"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="GearboxDataDeclarationType">
+		<xs:annotation>
+			<xs:documentation>Gearbox Component</xs:documentation>
+		</xs:annotation>
+		<xs:complexContent>
+			<xs:extension base="tns:AbstractTransmissionDataDeclarationType">
+				<xs:sequence>
+					<xs:element name="Manufacturer" type="tns:ManufacturerType">
+						<xs:annotation>
+							<xs:documentation>P205</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Model" type="tns:ModelType">
+						<xs:annotation>
+							<xs:documentation>P206</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="CertificationNumber" type="tns:CertificationNumberType">
+						<xs:annotation>
+							<xs:documentation>P262</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Date" type="tns:DateTimeWithTimezone">
+						<xs:annotation>
+							<xs:documentation>P208</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="AppVersion" type="tns:AppVersionType">
+						<xs:annotation>
+							<xs:documentation>P209</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="TransmissionType" type="tns:GearboxTransmissionTypeType">
+						<xs:annotation>
+							<xs:documentation>P076 - [-]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="MainCertificationMethod" type="tns:GearboxCertificationOptionType">
+						<xs:annotation>
+							<xs:documentation>P254 - [-]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Gears">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Gear" type="tns:GearDeclarationType" maxOccurs="99"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="GearDeclarationType">
+		<xs:complexContent>
+			<xs:extension base="tns:GearBaseType">
+				<xs:sequence>
+					<xs:element name="MaxTorque" type="tns:GearboxGearMaxTorqueType" minOccurs="0">
+						<xs:annotation>
+							<xs:documentation>P157 - [Nm]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="MaxSpeed" type="tns:GearboxGearMaxSpeedType" minOccurs="0">
+						<xs:annotation>
+							<xs:documentation>P194 - [1/min]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="TorqueLossMap">
+						<xs:complexType>
+							<xs:complexContent>
+								<xs:extension base="tns:TorqueLossMapType">
+									<xs:sequence>
+										<xs:element name="Entry" type="tns:TorqueLossMapEntryType" minOccurs="4" maxOccurs="unbounded"/>
+									</xs:sequence>
+								</xs:extension>
+							</xs:complexContent>
+						</xs:complexType>
+					</xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="PTOType">
+		<xs:sequence>
+			<xs:element name="PTOShaftsGearWheels" type="tns:PTOShaftsGearWheelsType">
+				<xs:annotation>
+					<xs:documentation>P247 - enum</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="PTOOtherElements" type="tns:PTOOtherElementsType">
+				<xs:annotation>
+					<xs:documentation>P248 - enum</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="RetarderComponentDeclarationType">
+		<xs:sequence>
+			<xs:element name="Data" type="tns:RetarderDataDeclarationType"/>
+			<xs:element name="Signature" type="tns:SignatureType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="RetarderDataDeclarationType">
+		<xs:annotation>
+			<xs:documentation>Retarder Component</xs:documentation>
+		</xs:annotation>
+		<xs:complexContent>
+			<xs:extension base="tns:AbstractRetarderDataDeclarationType">
+				<xs:sequence>
+					<xs:element name="Manufacturer" type="tns:ManufacturerType">
+						<xs:annotation>
+							<xs:documentation>P225</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Model" type="tns:ModelType">
+						<xs:annotation>
+							<xs:documentation>P226</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="CertificationNumber" type="tns:CertificationNumberType">
+						<xs:annotation>
+							<xs:documentation>P266</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Date" type="tns:DateTimeWithTimezone">
+						<xs:annotation>
+							<xs:documentation>P228</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="AppVersion" type="tns:AppVersionType">
+						<xs:annotation>
+							<xs:documentation>P229</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="CertificationMethod" type="tns:RetarderCertificationOptionType">
+						<xs:annotation>
+							<xs:documentation>P255 - [-]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="RetarderLossMap">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Entry" type="tns:RetarderLossmapEntryType" minOccurs="2" maxOccurs="unbounded"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="RetarderLossmapEntryType">
+		<xs:attribute name="retarderSpeed" type="tns:RetarderSpeedType" use="required">
+			<xs:annotation>
+				<xs:documentation>P057 - [1/min]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="torqueLoss" type="tns:RetarderTorqueLossType" use="required">
+			<xs:annotation>
+				<xs:documentation>P058 - [Nm]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+	</xs:complexType>
+	<xs:complexType name="SignatureType">
+		<xs:annotation>
+			<xs:documentation>Placeholder (so far)</xs:documentation>
+		</xs:annotation>
+		<xs:sequence>
+			<xs:element ref="di:Reference"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="TorqueConverterCharacteristicsEntryType">
+		<xs:attribute name="speedRatio" type="tns:TorqueConverterSpeedRatioType" use="required">
+			<xs:annotation>
+				<xs:documentation>P099 - [-]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="torqueRatio" type="tns:TorqueConverterTorqueRatioType" use="required">
+			<xs:annotation>
+				<xs:documentation>P100 - [-]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="inputTorqueRef" type="tns:TorqueConverterInputTorqueRefType" use="required">
+			<xs:annotation>
+				<xs:documentation>P101 - [-]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+	</xs:complexType>
+	<xs:complexType name="TorqueConverterComponentDeclarationType">
+		<xs:sequence>
+			<xs:element name="Data" type="tns:TorqueConverterDataDeclarationType"/>
+			<xs:element name="Signature" type="tns:SignatureType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="TorqueConverterDataDeclarationType">
+		<xs:complexContent>
+			<xs:extension base="tns:AbstractTorqueConverterDataDeclarationType">
+				<xs:sequence>
+					<xs:element name="Manufacturer" type="tns:ManufacturerType">
+						<xs:annotation>
+							<xs:documentation>P210</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Model" type="tns:ModelType">
+						<xs:annotation>
+							<xs:documentation>P211</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="CertificationNumber" type="tns:CertificationNumberType">
+						<xs:annotation>
+							<xs:documentation>P263</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Date" type="tns:DateTimeWithTimezone">
+						<xs:annotation>
+							<xs:documentation>P213</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="AppVersion" type="tns:AppVersionType">
+						<xs:annotation>
+							<xs:documentation>P214</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="CertificationMethod" type="tns:TorqueConverterCertificationOptionType">
+						<xs:annotation>
+							<xs:documentation>P257 - [-]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Characteristics">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Entry" type="tns:TorqueConverterCharacteristicsEntryType" minOccurs="2" maxOccurs="unbounded"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="TorqueLimitsEntryType">
+		<xs:attribute name="gear" type="tns:GearboxGearNumberType" use="required">
+			<xs:annotation>
+				<xs:documentation>P196 - [-]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="maxTorque" type="tns:TorqueLimitEntryMaxTorqueType" use="required">
+			<xs:annotation>
+				<xs:documentation>P197 - [Nm]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+	</xs:complexType>
+	<xs:complexType name="TorqueLimitsType">
+		<xs:sequence maxOccurs="unbounded">
+			<xs:element name="Entry" type="tns:TorqueLimitsEntryType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="TorqueLossMapEntryType">
+		<xs:attribute name="inputSpeed" type="tns:GearboxGearInputSpeedType" use="required">
+			<xs:annotation>
+				<xs:documentation>P096 - [1/min]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="inputTorque" type="tns:GearboxGearInputTorqueType" use="required">
+			<xs:annotation>
+				<xs:documentation>P097 - [Nm]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="torqueLoss" type="tns:GearboxGearTorqueLossType" use="required">
+			<xs:annotation>
+				<xs:documentation>P098 - [Nm]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+	</xs:complexType>
+	<xs:complexType name="TorqueLossMapType"/>
+	<xs:complexType name="TyreComponentDeclarationType">
+		<xs:sequence>
+			<xs:element name="Data" type="tns:TyreDataDeclarationType"/>
+			<xs:element name="Signature" type="tns:SignatureType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="TyreDataDeclarationType">
+		<xs:complexContent>
+			<xs:extension base="tns:AbstractTyreDataDeclarationType">
+				<xs:sequence>
+					<xs:element name="Manufacturer" type="tns:ManufacturerType">
+						<xs:annotation>
+							<xs:documentation>P230</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Model" type="tns:ModelType">
+						<xs:annotation>
+							<xs:documentation>P231</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="CertificationNumber" type="tns:CertificationNumberType">
+						<xs:annotation>
+							<xs:documentation>P267</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Date" type="tns:DateTimeWithTimezone">
+						<xs:annotation>
+							<xs:documentation>P233</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="AppVersion" type="tns:AppVersionType">
+						<xs:annotation>
+							<xs:documentation>P234</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Dimension" type="tns:TyreDimensionType">
+						<xs:annotation>
+							<xs:documentation>P108 - enum</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="RRCDeclared" type="tns:TyreRRCISOType">
+						<xs:annotation>
+							<xs:documentation>P046 - [-]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="FzISO" type="tns:TyreFzISOType">
+						<xs:annotation>
+							<xs:documentation>P047 - [N]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="VectoDeclarationJobType">
+		<xs:sequence>
+			<xs:element name="Vehicle" type="tns:VehicleDeclarationType"/>
+		</xs:sequence>
+		<xs:attribute name="schemaVersion" use="required">
+			<xs:simpleType>
+				<xs:restriction base="xs:decimal">
+					<xs:minExclusive value="0"/>
+					<xs:fractionDigits value="1"/>
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+	</xs:complexType>
+	<xs:complexType name="VectoSimulationComponent" abstract="true">
+		<xs:attribute name="id" use="required">
+			<xs:simpleType>
+				<xs:restriction base="xs:NCName">
+					<xs:minLength value="1"/>
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+	</xs:complexType>
+	<xs:complexType name="VehicleBaseType" abstract="true">
+		<xs:complexContent>
+			<xs:extension base="tns:AbstractVehicleType">
+				<xs:sequence>
+					<xs:element name="Manufacturer" type="tns:ManufacturerType">
+						<xs:annotation>
+							<xs:documentation>P235</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="ManufacturerAddress" type="tns:ManufacturerAddressType">
+						<xs:annotation>
+							<xs:documentation>P252</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Model" type="tns:ModelType">
+						<xs:annotation>
+							<xs:documentation>P236</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="VIN" type="tns:VINType">
+						<xs:annotation>
+							<xs:documentation>P238</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="Date" type="tns:DateTimeWithTimezone">
+						<xs:annotation>
+							<xs:documentation>P239</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="LegislativeClass" type="tns:LegislativeClassDeclarationType">
+						<xs:annotation>
+							<xs:documentation>P251 - enum</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="VehicleCategory" type="tns:VehicleCategoryDeclarationType">
+						<xs:annotation>
+							<xs:documentation>P036 - enum</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="AxleConfiguration" type="tns:VehicleAxleConfigurationDeclarationType" minOccurs="0">
+						<xs:annotation>
+							<xs:documentation>P037 - enum</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="CurbMassChassis" type="tns:VehicleCurbMassChassisType">
+						<xs:annotation>
+							<xs:documentation>P038 - [kg]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+					<xs:element name="GrossVehicleMass" type="tns:VehicleGrossVehicleMassType">
+						<xs:annotation>
+							<xs:documentation>P041 - [kg]</xs:documentation>
+						</xs:annotation>
+					</xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="VehicleComponentsType">
+		<xs:sequence>
+			<xs:element name="Engine" type="tns:EngineComponentDeclarationType"/>
+			<xs:element name="Gearbox" type="tns:GearboxComponentDeclarationType"/>
+			<xs:element name="Angledrive" type="tns:AngledriveComponentDeclarationType" minOccurs="0"/>
+			<xs:element name="Retarder" type="tns:RetarderComponentDeclarationType" minOccurs="0"/>
+			<xs:element name="Axlegear" type="tns:AxlegearComponentDeclarationType"/>
+			<xs:element name="AxleWheels" type="tns:AxleWheelsComponentDeclarationType"/>
+			<xs:element name="Auxiliaries" type="tns:AuxiliariesComponentDeclarationType"/>
+			<xs:element name="AirDrag" type="tns:AirDragComponentDeclarationType" minOccurs="0"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="VehicleDeclarationType">
+		<xs:complexContent>
+			<xs:extension base="tns:VehicleBaseType">
+				<xs:sequence>
+					<xs:choice>
+						<xs:sequence>
+							<xs:element name="IdlingSpeed" type="tns:EngineDeclaredSpeedType">
+								<xs:annotation>
+									<xs:documentation>P198 - [1/min]</xs:documentation>
+								</xs:annotation>
+							</xs:element>
+							<xs:element name="RetarderType" type="tns:RetarderTypeType">
+								<xs:annotation>
+									<xs:documentation>P052 - enum</xs:documentation>
+								</xs:annotation>
+							</xs:element>
+							<xs:element name="RetarderRatio" type="tns:RetarderRatioType" minOccurs="0">
+								<xs:annotation>
+									<xs:documentation>P053 - [-]</xs:documentation>
+								</xs:annotation>
+							</xs:element>
+							<xs:element name="AngledriveType" type="tns:AngledriveTypeType">
+								<xs:annotation>
+									<xs:documentation>P180 - enum</xs:documentation>
+								</xs:annotation>
+							</xs:element>
+							<xs:element name="PTO" type="tns:PTOType"/>
+							<xs:sequence>
+								<xs:element name="ZeroEmissionVehicle" type="tns:ZeroEmissionVehicleType">
+									<xs:annotation>
+										<xs:documentation>P269 - bool</xs:documentation>
+									</xs:annotation>
+								</xs:element>
+								<xs:element name="VocationalVehicle" type="tns:VocationalVehicleType">
+									<xs:annotation>
+										<xs:documentation>P270 - bool</xs:documentation>
+									</xs:annotation>
+								</xs:element>
+								<xs:element name="NgTankSystem" type="tns:NgTankSystemType" minOccurs="0">
+									<xs:annotation>
+										<xs:documentation>P275 - enum</xs:documentation>
+									</xs:annotation>
+								</xs:element>
+								<xs:element name="SleeperCab" type="tns:SleeperCabType">
+									<xs:annotation>
+										<xs:documentation>P276 - bool</xs:documentation>
+									</xs:annotation>
+								</xs:element>
+								<xs:element name="ADAS" type="tns:ADASType"/>
+							</xs:sequence>
+							<xs:sequence>
+								<xs:element name="TorqueLimits" type="tns:TorqueLimitsType" minOccurs="0"/>
+								<xs:element name="Components" type="tns:VehicleComponentsType"/>
+							</xs:sequence>
+						</xs:sequence>
+						<xs:sequence>
+							<xs:element name="ZeroEmissionVehicle" type="tns:ZeroEmissionVehicleType">
+								<xs:annotation>
+									<xs:documentation>P269 - bool</xs:documentation>
+								</xs:annotation>
+							</xs:element>
+							<xs:element name="SleeperCab" type="tns:SleeperCabType" minOccurs="0">
+								<xs:annotation>
+									<xs:documentation>P276 - bool</xs:documentation>
+								</xs:annotation>
+							</xs:element>
+							<xs:element name="MaxNetPower1" type="tns:PowerType" minOccurs="0">
+								<xs:annotation>
+									<xs:documentation>P277 - [W]</xs:documentation>
+								</xs:annotation>
+							</xs:element>
+							<xs:element name="MaxNetPower2" type="tns:PowerType" minOccurs="0">
+								<xs:annotation>
+									<xs:documentation>P278 - [W]</xs:documentation>
+								</xs:annotation>
+							</xs:element>
+							<xs:element name="HybridElectricHDV" type="tns:HybridElectricHDVType">
+								<xs:annotation>
+									<xs:documentation>P279 - bool</xs:documentation>
+								</xs:annotation>
+							</xs:element>
+							<xs:element name="DualFuelVehicle" type="tns:DualFuelType">
+								<xs:annotation>
+									<xs:documentation>P280 - bool</xs:documentation>
+								</xs:annotation>
+							</xs:element>
+						</xs:sequence>
+					</xs:choice>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:simpleType name="ADASEngineStartStopEnabled">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="ADAS">010</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P010 - bool</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:boolean"/>
+	</xs:simpleType>
+	<xs:simpleType name="ADASOverspeedModeDeclarationType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="ADAS">015</vectoParam:parameterId>
+					<vectoParam:comment/>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P015 - enum</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Overspeed"/>
+			<xs:enumeration value="EcoRoll"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AirdragCdxAType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Airdrag">245</vectoParam:parameterId>
+					<vectoParam:parameterId component="Airdrag">246</vectoParam:parameterId>
+					<vectoParam:parameterId component="Airdrag">146</vectoParam:parameterId>
+					<vectoParam:comment>In Declaration Mode a fixed amound is added for cycles simulated with trailer</vectoParam:comment>
+					<vectoParam:unit>m²</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P146, 147 - [m²]  Drag Coefficient * Cross Sectional Area</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2">
+			<xs:minExclusive value="0.00"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AngledriveCertificationOptionType">
+		<xs:annotation>
+			<xs:documentation>P258 - enum</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Angledrive">258</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Option 1"/>
+			<xs:enumeration value="Option 2"/>
+			<xs:enumeration value="Option 3"/>
+			<xs:enumeration value="Standard values"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AngledriveInputSpeedType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Angledrive/Lossmap">173</vectoParam:parameterId>
+					<vectoParam:unit>1/min</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P173</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2">
+			<xs:minInclusive value="0.00"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AngledriveInputTorqueType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Angledrive/Lossmap">174</vectoParam:parameterId>
+					<vectoParam:unit>Nm</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P174</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2"/>
+	</xs:simpleType>
+	<xs:simpleType name="AngledriveRatioType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Angledrive">176</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P176</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double3">
+			<xs:minExclusive value="0.000"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AngledriveTorqueLossType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Angledrive/Lossmap">175</vectoParam:parameterId>
+					<vectoParam:unit>Nm</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P175</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2">
+			<xs:minInclusive value="0.00"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AngledriveTypeType">
+		<xs:annotation>
+			<xs:documentation>P180</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">180</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="None"/>
+			<xs:enumeration value="Losses included in Gearbox"/>
+			<xs:enumeration value="Separate Angledrive"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AppVersionType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine">204</vectoParam:parameterId>
+					<vectoParam:parameterId component="Gearbox">209</vectoParam:parameterId>
+					<vectoParam:parameterId component="Torqueconverter">214</vectoParam:parameterId>
+					<vectoParam:parameterId component="Axlegear">219</vectoParam:parameterId>
+					<vectoParam:parameterId component="Angledrive">224</vectoParam:parameterId>
+					<vectoParam:parameterId component="Retarder">229</vectoParam:parameterId>
+					<vectoParam:parameterId component="Tyre">234</vectoParam:parameterId>
+					<vectoParam:parameterId component="Airdrag">244</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:token">
+			<xs:minLength value="5"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AuxESTechnologyType">
+		<xs:annotation>
+			<xs:documentation>P183</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/Auxiliaries">183</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Standard technology"/>
+			<xs:enumeration value="Standard technology - LED headlights, all"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AuxFanTechnologyType">
+		<xs:annotation>
+			<xs:documentation>P181</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/Auxiliaries">181</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Crankshaft mounted - Electronically controlled visco clutch"/>
+			<xs:enumeration value="Crankshaft mounted - Bimetallic controlled visco clutch"/>
+			<xs:enumeration value="Crankshaft mounted - Discrete step clutch"/>
+			<xs:enumeration value="Crankshaft mounted - On/off clutch"/>
+			<xs:enumeration value="Belt driven or driven via transm. - Electronically controlled visco clutch"/>
+			<xs:enumeration value="Belt driven or driven via transm. - Bimetallic controlled visco clutch"/>
+			<xs:enumeration value="Belt driven or driven via transm. - Discrete step clutch"/>
+			<xs:enumeration value="Belt driven or driven via transm. - On/off clutch"/>
+			<xs:enumeration value="Hydraulic driven - Variable displacement pump"/>
+			<xs:enumeration value="Hydraulic driven - Constant displacement pump"/>
+			<xs:enumeration value="Electrically driven - Electronically controlled"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AuxHVACTechnologyType">
+		<xs:annotation>
+			<xs:documentation>P185</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/Auxiliaries">185</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="None"/>
+			<xs:enumeration value="Default"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AuxiliaryTechlistEntryType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/Auxiliaries" status="deprecated">143</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>DEPRECATED  - P143 - enum</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="LED lights"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AuxiliaryTechnologyType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/Auxiliaries" status="deprecated">118</vectoParam:parameterId>
+					<vectoParam:comment>Valid technology selection depends on the Auxiliary Type (P005)</vectoParam:comment>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>DEPRECATED  - P118 - enum</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Default"/>
+			<xs:enumeration value="Fixed displacement"/>
+			<xs:enumeration value="Variable displacement"/>
+			<xs:enumeration value="Hydraulic supported by electric"/>
+			<xs:enumeration value="Crankshaft mounted - Electronically controlled visco clutch (Default)"/>
+			<xs:enumeration value="Crankshaft mounted - Bimetallic controlled visco clutch"/>
+			<xs:enumeration value="Crankshaft mounted - Discrete step clutch"/>
+			<xs:enumeration value="Crankshaft mounted - On/Off clutch"/>
+			<xs:enumeration value="Belt driven or driven via transm. - Electronically controlled visco clutch"/>
+			<xs:enumeration value="Belt driven or driven via transm. - Bimetallic controlled visco clutch"/>
+			<xs:enumeration value="Belt driven or driven via transm. - Discrete step clutch"/>
+			<xs:enumeration value="Belt driven or driven via transm. - On/Off clutch"/>
+			<xs:enumeration value="Hydraulic driven - Variable displacement pump"/>
+			<xs:enumeration value="Hydraulic driven - Constant displacement pump"/>
+			<xs:enumeration value="Hydraulic driven - Electronically controlled"/>
+			<xs:enumeration value="Custom Technology List"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AuxiliaryTypeType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/Auxiliaries" status="deprecated">005</vectoParam:parameterId>
+					<vectoParam:comment>List of auxiliary types predefined in delcaration mode, Technology (P118) and TechList (P143) must be specified</vectoParam:comment>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>DEPRECATED  - P005 - enum</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Fan"/>
+			<xs:enumeration value="Steering pump"/>
+			<xs:enumeration value="HVAC"/>
+			<xs:enumeration value="Pneumatic System"/>
+			<xs:enumeration value="Electric System"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AuxPSTechnologyType">
+		<xs:annotation>
+			<xs:documentation>P184</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/Auxiliaries">184</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Small"/>
+			<xs:enumeration value="Small + ESS"/>
+			<xs:enumeration value="Small + visco clutch"/>
+			<xs:enumeration value="Small + mech. clutch"/>
+			<xs:enumeration value="Small + ESS + AMS"/>
+			<xs:enumeration value="Small + visco clutch + AMS"/>
+			<xs:enumeration value="Small + mech. clutch + AMS"/>
+			<xs:enumeration value="Medium Supply 1-stage"/>
+			<xs:enumeration value="Medium Supply 1-stage + ESS"/>
+			<xs:enumeration value="Medium Supply 1-stage + visco clutch"/>
+			<xs:enumeration value="Medium Supply 1-stage + mech. clutch"/>
+			<xs:enumeration value="Medium Supply 1-stage + ESS + AMS"/>
+			<xs:enumeration value="Medium Supply 1-stage + visco clutch + AMS"/>
+			<xs:enumeration value="Medium Supply 1-stage + mech. clutch + AMS"/>
+			<xs:enumeration value="Medium Supply 2-stage"/>
+			<xs:enumeration value="Medium Supply 2-stage + ESS"/>
+			<xs:enumeration value="Medium Supply 2-stage + visco clutch"/>
+			<xs:enumeration value="Medium Supply 2-stage + mech. clutch"/>
+			<xs:enumeration value="Medium Supply 2-stage + ESS + AMS"/>
+			<xs:enumeration value="Medium Supply 2-stage + visco clutch + AMS"/>
+			<xs:enumeration value="Medium Supply 2-stage + mech. clutch + AMS"/>
+			<xs:enumeration value="Large Supply"/>
+			<xs:enumeration value="Large Supply + ESS"/>
+			<xs:enumeration value="Large Supply + visco clutch"/>
+			<xs:enumeration value="Large Supply + mech. clutch"/>
+			<xs:enumeration value="Large Supply + ESS + AMS"/>
+			<xs:enumeration value="Large Supply + visco clutch + AMS"/>
+			<xs:enumeration value="Large Supply + mech. clutch + AMS"/>
+			<xs:enumeration value="Vacuum pump"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AuxSPTechnologyType">
+		<xs:annotation>
+			<xs:documentation>P182</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/Auxiliaries">182</vectoParam:parameterId>
+					<vectoParam:comment>Multiple entires allowed, one per steered axle</vectoParam:comment>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Fixed displacement"/>
+			<xs:enumeration value="Fixed displacement with elec. control"/>
+			<xs:enumeration value="Dual displacement"/>
+			<xs:enumeration value="Variable displacement mech. controlled"/>
+			<xs:enumeration value="Variable displacement elec. controlled"/>
+			<xs:enumeration value="Electric"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AxlegearCertificationOptionType">
+		<xs:annotation>
+			<xs:documentation>P256 - enum</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Axlegear">256</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Measured"/>
+			<xs:enumeration value="Standard values"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AxlegearInputSpeedType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Axlegear/Lossmap">151</vectoParam:parameterId>
+					<vectoParam:unit>1/min</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P151 - [1/min]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2">
+			<xs:minInclusive value="0.00"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AxlegearInputTorqueType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Axlegear/Lossmap">152</vectoParam:parameterId>
+					<vectoParam:unit>Nm</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P152 - [Nm]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2"/>
+	</xs:simpleType>
+	<xs:simpleType name="AxlegearLineTypeType">
+		<xs:annotation>
+			<xs:documentation>P253 - enum</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Axlegear">253</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Single reduction axle"/>
+			<xs:enumeration value="Single portal axle"/>
+			<xs:enumeration value="Hub reduction axle"/>
+			<xs:enumeration value="Single reduction tandem axle"/>
+			<xs:enumeration value="Hub reduction tandem axle"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AxlegearRatioType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Axlegear">150</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P150 - [-]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double3">
+			<xs:minExclusive value="0.000"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AxlegearTorqueLossType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Axlegear/Lossmap">153</vectoParam:parameterId>
+					<vectoParam:unit>Nm</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P153 - [Nm]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2">
+			<xs:minInclusive value="0.00"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AxleSteeredType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/Axle">195</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P195 - bool</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:boolean"/>
+	</xs:simpleType>
+	<xs:simpleType name="AxleTwinTyresType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/Axle">045</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P045 - bool</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:boolean"/>
+	</xs:simpleType>
+	<xs:simpleType name="AxleTypeDeclarationType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/Axle">154</vectoParam:parameterId>
+					<vectoParam:comment>Trailer axles must not be specified in declaration mode!</vectoParam:comment>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P154 - enum</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:AxleTypeType">
+			<xs:enumeration value="VehicleNonDriven"/>
+			<xs:enumeration value="VehicleDriven"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="AxleTypeType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/Axle">154</vectoParam:parameterId>
+					<vectoParam:comment>Trailer axles must not be specified in declaration mode!</vectoParam:comment>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P154 - enum</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="VehicleNonDriven"/>
+			<xs:enumeration value="VehicleDriven"/>
+			<xs:enumeration value="Trailer"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="CertificationNumberType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine">261</vectoParam:parameterId>
+					<vectoParam:parameterId component="Gearbox">262</vectoParam:parameterId>
+					<vectoParam:parameterId component="Torqueconverter">263</vectoParam:parameterId>
+					<vectoParam:parameterId component="Axlegear">264</vectoParam:parameterId>
+					<vectoParam:parameterId component="Angledrive">265</vectoParam:parameterId>
+					<vectoParam:parameterId component="Retarder">266</vectoParam:parameterId>
+					<vectoParam:parameterId component="Tyre">267</vectoParam:parameterId>
+					<vectoParam:parameterId component="Airdrag">268</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P261, P262, P263, P264, P265, P266, P267, P268</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:token"/>
+	</xs:simpleType>
+	<xs:simpleType name="DateTimeWithTimezone">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine">203</vectoParam:parameterId>
+					<vectoParam:parameterId component="Gearbox">208</vectoParam:parameterId>
+					<vectoParam:parameterId component="Torqueconverter">213</vectoParam:parameterId>
+					<vectoParam:parameterId component="Axlegear">218</vectoParam:parameterId>
+					<vectoParam:parameterId component="Angledrive">223</vectoParam:parameterId>
+					<vectoParam:parameterId component="Retarder">228</vectoParam:parameterId>
+					<vectoParam:parameterId component="Tyre">233</vectoParam:parameterId>
+					<vectoParam:parameterId component="Airdrag">243</vectoParam:parameterId>
+					<vectoParam:parameterId component="Vehicle">239</vectoParam:parameterId>
+					<vectoParam:comment>Date and time when the component-hash is created</vectoParam:comment>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:dateTime">
+			<xs:minInclusive value="2017-01-01T00:00:00Z"/>
+			<xs:pattern value=".+T.+Z"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="Double2">
+		<xs:annotation>
+			<xs:documentation>
+VALID: 23.00, 0.12, 12.12, 0.00, -0.12, 12345.01
+INVALID: 1.2345, .1234, 01.23
+ToDo: -0.00
+			</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:decimal">
+			<xs:pattern value="[-]?([1-9][0-9]*|0)\.[0-9]{2}"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="Double3">
+		<xs:restriction base="xs:decimal">
+			<xs:pattern value="[-]?([1-9][0-9]*|0)\.[0-9]{3}"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="Double4">
+		<xs:restriction base="xs:decimal">
+			<xs:pattern value="[-]?([1-9][0-9]*|0)\.[0-9]{4}"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="Double5">
+		<xs:restriction base="xs:decimal">
+			<xs:pattern value="[-]?([1-9][0-9]*|0)\.[0-9]{5}"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="Double6">
+		<xs:restriction base="xs:decimal">
+			<xs:pattern value="[-]?([1-9][0-9]*|0)\.[0-9]{6}"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="DualFuelType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">280</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:boolean"/>
+	</xs:simpleType>
+	<xs:simpleType name="EcoRollWithEngineStopType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/ADAS">273</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:boolean"/>
+	</xs:simpleType>
+	<xs:simpleType name="EcoRollWithoutEngineStopType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/ADAS">272</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:boolean"/>
+	</xs:simpleType>
+	<xs:simpleType name="EngineCFRegPerType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine">192</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="tns:Double4">
+			<xs:minInclusive value="1.0000"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="EngineColdHotBalancingFactorType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine">159</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P159 - [-]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double4">
+			<xs:minInclusive value="1.0000"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="EngineDeclaredSpeedType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine">063</vectoParam:parameterId>
+					<vectoParam:parameterId component="Vehicle">198</vectoParam:parameterId>
+					<vectoParam:parameterId component="Engine">249</vectoParam:parameterId>
+					<vectoParam:unit>1/min</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P063, P249 - [1/min]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:int">
+			<xs:minExclusive value="0"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="EngineDisplacementType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine">061</vectoParam:parameterId>
+					<vectoParam:unit>cm³</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P061 - [cm³]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:int">
+			<xs:minExclusive value="0"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="EngineFLDDragTorqueType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine/FLD">070</vectoParam:parameterId>
+					<vectoParam:unit>Nm</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P070 - [Nm]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2">
+			<xs:maxInclusive value="0.00"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="EngineFLDMaxTorqueType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine/FLD">069</vectoParam:parameterId>
+					<vectoParam:parameterId component="Engine/FLD" status="deprecated">158</vectoParam:parameterId>
+					<vectoParam:unit>Nm</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P069 - [Nm]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2">
+			<xs:minInclusive value="0.00"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="EngineFuelConsumptionMapFuelConsumptionType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine/FC-map">074</vectoParam:parameterId>
+					<vectoParam:unit>g/h</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P074 - [g/h]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2">
+			<xs:minInclusive value="0.00"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="EngineFuelConsumptionMapTorqueType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine/FC-map">073</vectoParam:parameterId>
+					<vectoParam:unit>Nm</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P073 - [Nm]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2"/>
+	</xs:simpleType>
+	<xs:simpleType name="EngineMaxTorque">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine">259</vectoParam:parameterId>
+					<vectoParam:comment/>
+					<vectoParam:unit>Nm</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P259</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:int"/>
+	</xs:simpleType>
+	<xs:simpleType name="EngineNCVCFType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine">260</vectoParam:parameterId>
+					<vectoParam:comment/>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P260</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double4"/>
+	</xs:simpleType>
+	<xs:simpleType name="EngineRatedPower">
+		<xs:annotation>
+			<xs:documentation>P250</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine">250</vectoParam:parameterId>
+					<vectoParam:unit>W</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:int">
+			<xs:minExclusive value="0"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="EngineSpeedType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine/FLD">068</vectoParam:parameterId>
+					<vectoParam:parameterId component="Engine/FC-map">072</vectoParam:parameterId>
+					<vectoParam:unit>1/min</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P068, P072 - [1/min]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2">
+			<xs:minExclusive value="0.00"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="EngineStopStartType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/ADAS">271</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:boolean"/>
+	</xs:simpleType>
+	<xs:simpleType name="EngineWHTCType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine">109</vectoParam:parameterId>
+					<vectoParam:parameterId component="Engine">110</vectoParam:parameterId>
+					<vectoParam:parameterId component="Engine">111</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P109 - [-]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double4">
+			<xs:minInclusive value="1.0000"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="FuelTypeType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine">193</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Diesel CI"/>
+			<xs:enumeration value="Ethanol CI"/>
+			<xs:enumeration value="Petrol PI"/>
+			<xs:enumeration value="Ethanol PI"/>
+			<xs:enumeration value="LPG"/>
+			<xs:enumeration value="NG"/>
+			<xs:enumeration value="LPG PI"/>
+			<xs:enumeration value="NG PI"/>
+			<xs:enumeration value="NG CI"/>
+			<!-- LPG == LPG PI -->
+			<!-- NG== NG PI -->
+			<!-- NG CI => dual fuel -->
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="GearboxCertificationOptionType">
+		<xs:annotation>
+			<xs:documentation>P254 - enum</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Gearbox">254</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Option 1"/>
+			<xs:enumeration value="Option 2"/>
+			<xs:enumeration value="Option 3"/>
+			<xs:enumeration value="Standard values"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="GearboxGearFLDInputSpeedType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Gearbox" status="deprecated">148</vectoParam:parameterId>
+					<vectoParam:unit>1/min</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P148 - [1/min] - DEPRECATED</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:double">
+			<xs:minInclusive value="400"/>
+			<xs:maxInclusive value="5000"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="GearboxGearFLDMaxTorqueType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Gearbox" status="deprecated">149</vectoParam:parameterId>
+					<vectoParam:unit>Nm</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P149 - [Nm] - DEPRECATED</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:double">
+			<xs:maxInclusive value="10000"/>
+			<xs:minExclusive value="0"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="GearboxGearInputSpeedType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Gearbox/Gear/Lossmap">096</vectoParam:parameterId>
+					<vectoParam:unit>1/min</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P096 - [1/min]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2">
+			<xs:minInclusive value="0.00"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="GearboxGearInputTorqueType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Gearbox/Gear/Lossmap">097</vectoParam:parameterId>
+					<vectoParam:unit>Nm</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P097 - [Nm]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2"/>
+	</xs:simpleType>
+	<xs:simpleType name="GearboxGearMaxSpeedType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Gearbox/Gear">194</vectoParam:parameterId>
+					<vectoParam:unit>1/min</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P097 - [Nm]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:int">
+			<xs:minExclusive value="0"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="GearboxGearMaxTorqueType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Gearbox/Gear">157</vectoParam:parameterId>
+					<vectoParam:comment/>
+					<vectoParam:unit>Nm</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P157 - [Nm]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:int">
+			<xs:minExclusive value="0"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="GearboxGearNumberType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Gearbox/Gear">199</vectoParam:parameterId>
+					<vectoParam:parameterId component="Vehicle/TorqueLimits">196</vectoParam:parameterId>
+					<vectoParam:comment/>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P196, P199</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:int">
+			<xs:minExclusive value="0"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="GearboxGearRatioType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Gearbox/Gear">078</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P078 - [-]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double3">
+			<xs:minExclusive value="0.000"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="GearboxGearTorqueLossType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Gearbox/Gear/Lossmap">098</vectoParam:parameterId>
+					<vectoParam:unit>Nm</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P098 - [Nm]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2">
+			<xs:minInclusive value="0.00"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="GearboxTransmissionTypeType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Gearbox">076</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P076 - [-]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="SMT"/>
+			<xs:enumeration value="AMT"/>
+			<xs:enumeration value="APT-S"/>
+			<xs:enumeration value="APT-P"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="HybridElectricHDVType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">279</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:boolean"/>
+	</xs:simpleType>
+	<xs:simpleType name="LegislativeClassDeclarationType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">251</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P251 - enum</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="N2"/>
+			<xs:enumeration value="N3"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="ManufacturerAddressType">
+		<xs:annotation>
+			<xs:documentation>P252</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">252</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:token"/>
+	</xs:simpleType>
+	<xs:simpleType name="ManufacturerType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine">200</vectoParam:parameterId>
+					<vectoParam:parameterId component="Gearbox">205</vectoParam:parameterId>
+					<vectoParam:parameterId component="Torqueconverter">210</vectoParam:parameterId>
+					<vectoParam:parameterId component="Axlegear">215</vectoParam:parameterId>
+					<vectoParam:parameterId component="Angledrive">220</vectoParam:parameterId>
+					<vectoParam:parameterId component="Retarder">225</vectoParam:parameterId>
+					<vectoParam:parameterId component="Tyre">230</vectoParam:parameterId>
+					<vectoParam:parameterId component="Airdrag">240</vectoParam:parameterId>
+					<vectoParam:parameterId component="Vehicle">235</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:token">
+			<xs:whiteSpace value="collapse"/>
+			<xs:minLength value="1"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="ModelType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Engine">201</vectoParam:parameterId>
+					<vectoParam:parameterId component="Gearbox">206</vectoParam:parameterId>
+					<vectoParam:parameterId component="Torqueconverter">211</vectoParam:parameterId>
+					<vectoParam:parameterId component="Axlegear">216</vectoParam:parameterId>
+					<vectoParam:parameterId component="Angledrive">221</vectoParam:parameterId>
+					<vectoParam:parameterId component="Retarder">226</vectoParam:parameterId>
+					<vectoParam:parameterId component="Tyre">231</vectoParam:parameterId>
+					<vectoParam:parameterId component="Airdrag">241</vectoParam:parameterId>
+					<vectoParam:parameterId component="Vehicle">236</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:token">
+			<xs:minLength value="1"/>
+			<xs:whiteSpace value="collapse"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="NgTankSystemType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">275</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Compressed"/>
+			<xs:enumeration value="Liquefied"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="PowerType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">277</vectoParam:parameterId>
+					<vectoParam:parameterId component="Vehicle">278</vectoParam:parameterId>
+					<vectoParam:unit>W</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:int">
+			<xs:minInclusive value="0"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="PredictiveCruiseControlType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/ADAS">274</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="none"/>
+			<xs:enumeration value="1,2"/>
+			<xs:enumeration value="1,2,3"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="PTOOtherElementsType">
+		<xs:annotation>
+			<xs:documentation>P248 - enum</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">248</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="none"/>
+			<xs:enumeration value="shift claw, synchronizer, sliding gearwheel"/>
+			<xs:enumeration value="multi-disc clutch"/>
+			<xs:enumeration value="multi-disc clutch, oil pump"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="PTOShaftsGearWheelsType">
+		<xs:annotation>
+			<xs:documentation>P247 - enum</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">247</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="none"/>
+			<xs:enumeration value="only the drive shaft of the PTO"/>
+			<xs:enumeration value="drive shaft and/or up to 2 gear wheels"/>
+			<xs:enumeration value="drive shaft and/or more than 2 gear wheels"/>
+			<xs:enumeration value="only one engaged gearwheel above oil level"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="PTOTorqueLossType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Retarder">058</vectoParam:parameterId>
+					<vectoParam:unit>Nm</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P058 - [Nm]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:double">
+			<xs:minInclusive value="0"/>
+			<xs:maxInclusive value="500"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="PTOTypeType">
+		<xs:annotation>
+			<xs:documentation>P186 - enum -- DEPRECATED</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle" status="deprecated">186</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="None"/>
+			<xs:enumeration value="Losses included in Gearbox"/>
+			<xs:enumeration value="only the drive shaft of the PTO - shift claw, synchronizer, sliding gearwheel"/>
+			<xs:enumeration value="only the drive shaft of the PTO - multi-disc clutch"/>
+			<xs:enumeration value="only the drive shaft of the PTO - multi-disc clutch, oil pump"/>
+			<xs:enumeration value="drive shaft and/or up to 2 gear wheels - shift claw, synchronizer, sliding gearwheel"/>
+			<xs:enumeration value="drive shaft and/or up to 2 gear wheels - multi-disc clutch"/>
+			<xs:enumeration value="drive shaft and/or up to 2 gear wheels - multi-disc clutch, oil pump"/>
+			<xs:enumeration value="drive shaft and/or more than 2 gear wheels - shift claw, synchronizer, sliding gearwheel"/>
+			<xs:enumeration value="drive shaft and/or more than 2 gear wheels - multi-disc clutch"/>
+			<xs:enumeration value="drive shaft and/or more than 2 gear wheels - multi-disc clutch, oil pump"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="RetarderCertificationOptionType">
+		<xs:annotation>
+			<xs:documentation>P255 - enum</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Retarder">255</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Measured"/>
+			<xs:enumeration value="Standard values"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="RetarderRatioType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">053</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P053 - [-]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double3">
+			<xs:minExclusive value="0.000"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="RetarderSpeedType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Retarder/Lossmap">057</vectoParam:parameterId>
+					<vectoParam:unit>1/min</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P057 - [1/min]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2">
+			<xs:minInclusive value="0.00"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="RetarderTorqueLossType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Retarder/Lossmap">058</vectoParam:parameterId>
+					<vectoParam:unit>Nm</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P058 - [Nm]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2">
+			<xs:minInclusive value="0.00"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="RetarderTypeType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">052</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P052 - enum</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="None"/>
+			<xs:enumeration value="Losses included in Gearbox"/>
+			<xs:enumeration value="Engine Retarder"/>
+			<xs:enumeration value="Transmission Input Retarder"/>
+			<xs:enumeration value="Transmission Output Retarder"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="SleeperCabType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">276</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:boolean"/>
+	</xs:simpleType>
+	<xs:simpleType name="SteeredAxlesType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">179</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:int">
+			<xs:minInclusive value="1"/>
+			<xs:maxInclusive value="4"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="TorqueConverterCertificationOptionType">
+		<xs:annotation>
+			<xs:documentation>P257 - enum</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Torqueconverter">257</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Measured"/>
+			<xs:enumeration value="Standard values"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="TorqueConverterInputTorqueRefType">
+		<xs:annotation>
+			<xs:documentation>P101</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Torqueconverter/Characteristics">101</vectoParam:parameterId>
+					<vectoParam:unit>Nm</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2"/>
+	</xs:simpleType>
+	<xs:simpleType name="TorqueConverterSpeedRatioType">
+		<xs:annotation>
+			<xs:documentation>P099</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Torqueconverter/Characteristics">99</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="tns:Double4">
+			<xs:minInclusive value="0.0000"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="TorqueConverterTorqueRatioType">
+		<xs:annotation>
+			<xs:documentation>P100</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Torqueconverter/Characteristics">100</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="tns:Double2">
+			<xs:minInclusive value="0.00"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="TorqueLimitEntryMaxTorqueType">
+		<xs:annotation>
+			<xs:documentation>P197</xs:documentation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle/TorqueLimits">197</vectoParam:parameterId>
+					<vectoParam:unit>Nm</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:int">
+			<xs:minExclusive value="0"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="TyreDimensionType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Tyre">108</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P108 - enum</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="9 R22.5"/>
+			<xs:enumeration value="9.00 R20"/>
+			<xs:enumeration value="9.5 R17.5"/>
+			<xs:enumeration value="10 R17.5"/>
+			<xs:enumeration value="10 R22.5"/>
+			<xs:enumeration value="10.00 R20"/>
+			<xs:enumeration value="11 R22.5"/>
+			<xs:enumeration value="11.00 R20"/>
+			<xs:enumeration value="12 R22.5"/>
+			<xs:enumeration value="12.00 R20"/>
+			<xs:enumeration value="12.00 R24"/>
+			<xs:enumeration value="12.5 R20"/>
+			<xs:enumeration value="13 R22.5"/>
+			<xs:enumeration value="14.00 R20"/>
+			<xs:enumeration value="14.5 R20"/>
+			<xs:enumeration value="16.00 R20"/>
+			<xs:enumeration value="205/75 R17.5"/>
+			<xs:enumeration value="215/75 R17.5"/>
+			<xs:enumeration value="225/70 R17.5"/>
+			<xs:enumeration value="225/75 R17.5"/>
+			<xs:enumeration value="235/75 R17.5"/>
+			<xs:enumeration value="245/70 R17.5"/>
+			<xs:enumeration value="245/70 R19.5"/>
+			<xs:enumeration value="255/70 R22.5"/>
+			<xs:enumeration value="265/70 R17.5"/>
+			<xs:enumeration value="265/70 R19.5"/>
+			<xs:enumeration value="275/70 R22.5"/>
+			<xs:enumeration value="275/80 R22.5"/>
+			<xs:enumeration value="285/60 R22.5"/>
+			<xs:enumeration value="285/70 R19.5"/>
+			<xs:enumeration value="295/55 R22.5"/>
+			<xs:enumeration value="295/60 R22.5"/>
+			<xs:enumeration value="295/80 R22.5"/>
+			<xs:enumeration value="305/60 R22.5"/>
+			<xs:enumeration value="305/70 R19.5"/>
+			<xs:enumeration value="305/70 R22.5"/>
+			<xs:enumeration value="305/75 R24.5"/>
+			<xs:enumeration value="315/45 R22.5"/>
+			<xs:enumeration value="315/60 R22.5"/>
+			<xs:enumeration value="315/70 R22.5"/>
+			<xs:enumeration value="315/80 R22.5"/>
+			<xs:enumeration value="325/95 R24"/>
+			<xs:enumeration value="335/80 R20"/>
+			<xs:enumeration value="355/50 R22.5"/>
+			<xs:enumeration value="365/70 R22.5"/>
+			<xs:enumeration value="365/80 R20"/>
+			<xs:enumeration value="365/85 R20"/>
+			<xs:enumeration value="375/45 R22.5"/>
+			<xs:enumeration value="375/50 R22.5"/>
+			<xs:enumeration value="375/90 R22.5"/>
+			<xs:enumeration value="385/55 R22.5"/>
+			<xs:enumeration value="385/65 R22.5"/>
+			<xs:enumeration value="395/85 R20"/>
+			<xs:enumeration value="425/65 R22.5"/>
+			<xs:enumeration value="495/45 R22.5"/>
+			<xs:enumeration value="525/65 R20.5"/>
+			<xs:enumeration value="11.00 R16"/>
+			<xs:enumeration value="6.00 R9"/>
+			<xs:enumeration value="205/65 R17.5"/>
+			<xs:enumeration value="225/75 R16C"/>
+			<xs:enumeration value="255/100 R16"/>
+			<xs:enumeration value="255/60 R19.5"/>
+			<xs:enumeration value="265/55 R19.5"/>
+			<xs:enumeration value="275/60 R19.5"/>
+			<xs:enumeration value="275/80 R20"/>
+			<xs:enumeration value="285/65 R16C"/>
+			<xs:enumeration value="295/75 R22.5"/>
+			<xs:enumeration value="325/85 R16"/>
+			<xs:enumeration value="435/50 R19.5"/>
+			<xs:enumeration value="435/50 R22.5"/>
+			<xs:enumeration value="445/40 R22.5"/>
+			<xs:enumeration value="445/45 R19.5"/>
+			<xs:enumeration value="445/65 R22.5"/>
+			<xs:enumeration value="445/75 R22.5"/>
+			<xs:enumeration value="455/40 R22.5"/>
+			<xs:enumeration value="455/45 R22.5"/>
+			<xs:enumeration value="475/80 R20"/>
+			<xs:enumeration value="7.00 R16C"/>
+			<xs:enumeration value="7.50 R15"/>
+			<xs:enumeration value="7.50 R16"/>
+			<xs:enumeration value="7.50 R16C"/>
+			<xs:enumeration value="8.25 R15"/>
+			<xs:enumeration value="8.25 R16C"/>
+			<xs:enumeration value="8.5 R17.5"/>
+			<xs:enumeration value="8 R17.5"/>
+			<xs:enumeration value="LT265/75 R16"/>
+			<xs:enumeration value="385/55 R19.5"/>
+			<xs:enumeration value="24 R21"/>
+			<xs:enumeration value="205/70 R15C"/>
+			<xs:enumeration value="215/70 R15C"/>
+			<xs:enumeration value="225/70 R15C"/>
+			<xs:enumeration value="185/75 R16C"/>
+			<xs:enumeration value="195/65 R16C"/>
+			<xs:enumeration value="195/75 R16C"/>
+			<xs:enumeration value="205/65 R16C"/>
+			<xs:enumeration value="205/75 R16C"/>
+			<xs:enumeration value="215/65 R16C"/>
+			<xs:enumeration value="215/75 R16C"/>
+			<xs:enumeration value="225/65 R16C"/>
+			<xs:enumeration value="235/65 R16C"/>
+			<xs:enumeration value="215/60 R17C"/>
+			<xs:enumeration value="235/60 R17C"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="TyreFzISOType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Tyre">047</vectoParam:parameterId>
+					<vectoParam:unit>N</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P047 - [N]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:int">
+			<xs:minInclusive value="0"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="TyreRRCISOType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Tyre">046</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P046 - [-]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:Double4">
+			<xs:minInclusive value="0.0000"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="VehicleAxleConfigurationDeclarationType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">037</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P037</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:VehicleAxleConfigurationType">
+			<xs:enumeration value="4x2"/>
+			<xs:enumeration value="6x2"/>
+			<xs:enumeration value="6x4"/>
+			<xs:enumeration value="8x4"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="VehicleAxleConfigurationType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">037</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P037</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="4x2"/>
+			<xs:enumeration value="4x4"/>
+			<xs:enumeration value="6x2"/>
+			<xs:enumeration value="6x4"/>
+			<xs:enumeration value="6x6"/>
+			<xs:enumeration value="8x2"/>
+			<xs:enumeration value="8x4"/>
+			<xs:enumeration value="8x6"/>
+			<xs:enumeration value="8x8"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="VehicleCategoryDeclarationType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">036</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P036 - enum (Declaration)</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="tns:VehicleCategoryType">
+			<xs:enumeration value="Rigid Truck"/>
+			<xs:enumeration value="Tractor"/>
+			<xs:enumeration value="Rigid Lorry"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="VehicleCategoryType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">036</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P036 - enum</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Rigid Truck"/>
+			<xs:enumeration value="Tractor"/>
+			<xs:enumeration value="City Bus"/>
+			<xs:enumeration value="Interurban Bus"/>
+			<xs:enumeration value="Coach"/>
+			<xs:enumeration value="Rigid Lorry"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="VehicleCurbMassChassisType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">038</vectoParam:parameterId>
+					<vectoParam:unit>kg</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P038 - [kg]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:int">
+			<xs:minInclusive value="500"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="VehicleGrossVehicleMassType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">041</vectoParam:parameterId>
+					<vectoParam:unit>kg</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P041 - [kg]</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:int">
+			<xs:minInclusive value="3500"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="VINType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">238</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:token">
+			<xs:whiteSpace value="collapse"/>
+			<xs:minLength value="1"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="VocationalVehicleType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">270</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:boolean"/>
+	</xs:simpleType>
+	<xs:simpleType name="WheelsRimType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Tyre" status="deprecated">117</vectoParam:parameterId>
+					<vectoParam:comment>driven axle rims</vectoParam:comment>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+			<xs:documentation>P117 - enum  (driven axle rims)</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="5° DC Rims"/>
+			<xs:enumeration value="15° DC Rims"/>
+			<xs:enumeration value="Multipurpose - Radial"/>
+			<xs:enumeration value="Multipurpose - Diagonal"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="ZeroEmissionVehicleType">
+		<xs:annotation>
+			<xs:appinfo>
+				<vectoParam:description>
+					<vectoParam:parameterId component="Vehicle">269</vectoParam:parameterId>
+					<vectoParam:unit>-</vectoParam:unit>
+				</vectoParam:description>
+			</xs:appinfo>
+		</xs:annotation>
+		<xs:restriction base="xs:boolean"/>
+	</xs:simpleType>
+</xs:schema>
diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj
index 059945ec1f..f3771fbfbb 100644
--- a/VectoCore/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore/VectoCore.csproj
@@ -838,6 +838,12 @@
     <EmbeddedResource Include="Resources\XSD\VectoOutputManufacturer.0.7.2.xsd">
       <SubType>Designer</SubType>
     </EmbeddedResource>
+    <EmbeddedResource Include="Resources\XSD\VectoDeclarationDefinitions.1.1.xsd">
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Resources\XSD\VTPReport.0.1.1.xsd">
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
     <None Include="Utils\VectoVersionCore.tt">
       <Generator>TextTemplatingFileGenerator</Generator>
       <LastGenOutput>VectoVersionCore.cs</LastGenOutput>
-- 
GitLab