From fed2844389b56e80ea2fee3ad4de27374857e0cb Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Thu, 8 Aug 2019 16:51:06 +0200
Subject: [PATCH] adding dual fuel and whr to xml in engineering mode, adapting
 schema and adding sample files

---
 .../XSD/VectoEngineeringComponent.xsd         |   2 +-
 .../XSD/VectoEngineeringDefinitions.1.0.xsd   |   1 +
 .../XSD/VectoEngineeringDefinitions.1.1.xsd   |  61 +++-
 .../XSD/VectoEngineeringDefinitions.xsd       |   3 +-
 .../Resources/XSD/VectoEngineeringJob.xsd     |   2 +-
 VectoCore/VectoCore/VectoCore.csproj          |   3 +
 .../XML/XMLReaderEngineering/engine_DF.vmap   | 113 ++++++++
 .../XML/XMLReaderEngineering/engine_WHR.vmap  | 113 ++++++++
 .../engineering_engine-sample_ref_DF_WHR.xml  |  49 ++++
 .../engineering_job-sample_ref_DF_WHR.xml     |  35 +++
 .../engineering_vehicle_ref_DF_WHR.xml        | 268 ++++++++++++++++++
 VectoCore/VectoXML.spp                        |   1 +
 12 files changed, 634 insertions(+), 17 deletions(-)
 create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engine_DF.vmap
 create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engine_WHR.vmap
 create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_engine-sample_ref_DF_WHR.xml
 create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample_ref_DF_WHR.xml
 create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_vehicle_ref_DF_WHR.xml

diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringComponent.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringComponent.xsd
index f331744940..48d390c45e 100644
--- a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringComponent.xsd
+++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringComponent.xsd
@@ -1,6 +1,6 @@
 <?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:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="urn:tugraz:ivt:VectoAPI:EngineeringComponent:v1.0" xmlns:ns2="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" elementFormDefault="qualified" attributeFormDefault="unqualified">
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="urn:tugraz:ivt:VectoAPI:EngineeringComponent:v1.0" xmlns:ns2="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" xmlns:ns3="urn:tugraz:ivt:VectoAPI:EngineeringComponent" targetNamespace="urn:tugraz:ivt:VectoAPI:EngineeringComponent" elementFormDefault="qualified" attributeFormDefault="unqualified">
 	<!-- 
 
          This is a convienience file that imports the schema for declaration input (i.e., job data) and all supported declaration definitions
diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.xsd
index 80bea36ec6..fb2b6fa51b 100644
--- a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.xsd
+++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.xsd
@@ -996,6 +996,7 @@
 						<xs:element name="PTOCycle" type="tns:PTOCycleEngineeringType" minOccurs="0"/>
 						<xs:element name="CurbMassExtra" type="tns:VehicleCurbWeightExtraType"/>
 						<xs:element name="Loading" type="tns:VehicleLoadingType"/>
+						<xs:element name="NgTankSystem" type="vdecdef:NgTankSystemType" minOccurs="0"/>
 						<xs:element name="AdvancedDriverAssist" type="tns:AbstractAdvancedDriverAssistEngineeringType" minOccurs="0"/>
 						<xs:element name="Components" type="tns:AbstractVehicleComponentsType"/>
 					</xs:sequence>
diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.1.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.1.xsd
index 2d8c33d32d..1478405bf5 100644
--- a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.1.xsd
+++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.1.xsd
@@ -8,12 +8,13 @@
 			<xs:extension base="ve1.0:AbstractEngineDataEngineeringType">
 				<xs:sequence>
 					<xs:element name="Displacement" type="vdecdef:EngineDisplacementType"/>
-					<xs:element name="IdlingSpeed" type="vdecdef:EngineDeclaredSpeedType"/>
 					<xs:element name="Inertia" type="ve1.0:EngineInertiaType" minOccurs="0"/>
+					<xs:element name="WHRType" type="tns:WHRTypeType"/>
 					<xs:element name="Mode" maxOccurs="unbounded">
 						<xs:complexType>
 							<xs:sequence>
 								<xs:sequence>
+									<xs:element name="IdlingSpeed" type="vdecdef:EngineDeclaredSpeedType"/>
 									<xs:element name="FullLoadAndDragCurve">
 										<xs:complexType>
 											<xs:choice>
@@ -45,18 +46,32 @@
 														<xs:documentation>P170 - [-]</xs:documentation>
 													</xs:annotation>
 												</xs:element>
-												<xs:element name="WHRCorrection" minOccurs="0">
-													<xs:simpleType>
-														<xs:restriction base="xs:double">
-															<xs:minExclusive value="0"/>
-														</xs:restriction>
-													</xs:simpleType>
+												<xs:element name="WasteHeatRecovery" minOccurs="0">
+													<xs:complexType>
+														<xs:sequence>
+															<xs:element name="WHRCorrection">
+																<xs:simpleType>
+																	<xs:restriction base="xs:double">
+																		<xs:minExclusive value="0"/>
+																	</xs:restriction>
+																</xs:simpleType>
+															</xs:element>
+															<xs:element name="WHRMap">
+																<xs:complexType>
+																	<xs:choice>
+																		<xs:element name="Entry" type="tns:WHREngryEngineeringType" minOccurs="4" maxOccurs="unbounded"/>
+																		<xs:element name="Resource" type="ve1.0:ExtResourceEngineeringType"/>
+																	</xs:choice>
+																</xs:complexType>
+															</xs:element>
+														</xs:sequence>
+													</xs:complexType>
 												</xs:element>
 												<xs:element name="FuelConsumptionMap">
 													<xs:complexType>
 														<xs:choice>
 															<xs:sequence>
-																<xs:element name="Entry" type="tns:FuelEntryWHREngineeringType" minOccurs="4" maxOccurs="unbounded"/>
+																<xs:element name="Entry" type="vdecdef:FuelConsumptionEntryType" minOccurs="4" maxOccurs="unbounded"/>
 															</xs:sequence>
 															<xs:element name="Resource" type="ve1.0:ExtResourceEngineeringType">
 																<xs:annotation>
@@ -77,11 +92,29 @@
 			</xs:extension>
 		</xs:complexContent>
 	</xs:complexType>
-	<xs:complexType name="FuelEntryWHREngineeringType">
-		<xs:complexContent>
-			<xs:extension base="vdecdef:FuelConsumptionEntryType">
-				<xs:attribute name="electricPower" type="vdecdef:Double2"/>
-			</xs:extension>
-		</xs:complexContent>
+	<xs:complexType name="WHREngryEngineeringType">
+		<xs:attribute name="engineSpeed" type="vdecdef:EngineSpeedType" use="required">
+			<xs:annotation>
+				<xs:documentation>P072 - [1/min]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="torque" type="vdecdef:EngineFuelConsumptionMapTorqueType" use="required">
+			<xs:annotation>
+				<xs:documentation>P073 - [Nm]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="electricPower" type="vdecdef:Double2" use="required">
+			<xs:annotation>
+				<xs:documentation>Pxxx - [W]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
 	</xs:complexType>
+	<xs:simpleType name="WHRTypeType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="none"/>
+			<xs:enumeration value="mechanical only"/>
+			<xs:enumeration value="electrical only"/>
+			<xs:enumeration value="mechanical and electrical"/>
+		</xs:restriction>
+	</xs:simpleType>
 </xs:schema>
diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.xsd
index bef3dbcec3..ef8e08b256 100644
--- a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.xsd
+++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.xsd
@@ -1,11 +1,12 @@
 <?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:xs="http://www.w3.org/2001/XMLSchema" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" xmlns:v1.0TEST="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0TEST" xmlns:ns1="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" targetNamespace="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" elementFormDefault="qualified" attributeFormDefault="unqualified">
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" xmlns:v1.0TEST="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0TEST" xmlns:veng="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" xmlns:ve1.1="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.1" targetNamespace="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" elementFormDefault="qualified" attributeFormDefault="unqualified">
 	<!-- 
 
          This is a convienience file that imports all supported declaration definitions
 
  -->
 	<xs:import namespace="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" schemaLocation="VectoEngineeringDefinitions.1.0.xsd"/>
+	<xs:import namespace="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.1" schemaLocation="VectoEngineeringDefinitions.1.1.xsd"/>
 	<xs:import namespace="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0TEST" schemaLocation="VectoEngineeringDefinitions.1.0.TEST.xsd"/>
 </xs:schema>
diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringJob.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringJob.xsd
index 70b6898157..6151df8b8c 100644
--- a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringJob.xsd
+++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringJob.xsd
@@ -1,6 +1,6 @@
 <?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:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:ns2="urn:tugraz:ivt:VectoAPI:EngineeringInput:v1.0" xmlns:ns3="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" elementFormDefault="qualified" attributeFormDefault="unqualified">
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:ns2="urn:tugraz:ivt:VectoAPI:EngineeringInput:v1.0" xmlns:ns3="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" targetNamespace="urn:tugraz:ivt:VectoAPI:EngineeringInput" elementFormDefault="qualified" attributeFormDefault="unqualified" >
 	<!-- 
 
          This is a convienience file that imports the schema for engineering input (i.e., job data) and all supported declaration definitions
diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj
index e2ff058383..232ba5646c 100644
--- a/VectoCore/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore/VectoCore.csproj
@@ -691,6 +691,9 @@
     <EmbeddedResource Include="Resources\XSD\VectoMonitoring.0.8.xsd">
       <SubType>Designer</SubType>
     </EmbeddedResource>
+    <EmbeddedResource Include="Resources\XSD\VectoEngineeringDefinitions.1.1.xsd">
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
     <None Include="Utils\VectoVersionCore.tt">
       <Generator>TextTemplatingFileGenerator</Generator>
       <LastGenOutput>VectoVersionCore.cs</LastGenOutput>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engine_DF.vmap b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engine_DF.vmap
new file mode 100644
index 0000000000..a578a0a1a0
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engine_DF.vmap
@@ -0,0 +1,113 @@
+engine speed [1/min],torque [Nm],fuel consumption [g/h]
+560,-149,0
+560,0,125
+560,200,319
+560,400,529
+560,600,761
+560,800,937
+560,1000,1123
+560,1180,1286
+600,-148,0
+600,0,145
+600,200,335
+600,400,549
+600,600,810
+600,800,1001
+600,1000,1207
+600,1200,1420
+600,1282,1530
+800,-149,0
+800,0,187
+800,200,428
+800,400,702
+800,600,1005
+800,800,1308
+800,1000,1601
+800,1200,1923
+800,1400,2242
+800,1600,2548
+800,1791,2890
+1000,-160,0
+1000,0,286
+1000,200,596
+1000,400,919
+1000,600,1235
+1000,800,1596
+1000,1000,1986
+1000,1200,23530
+1000,1400,2720
+1000,1600,3116
+1000,1800,3510
+1000,2000,39360
+1000,2200,44120
+1000,2300,4683
+1200,-179,0
+1200,0,330
+1200,200,689
+1200,400,1065
+1200,600,1464
+1200,800,1911
+1200,1000,2367
+1200,1200,28180
+1200,1400,3243
+1200,1600,3669
+1200,1800,4169
+1200,2000,4691
+1200,2200,5178
+1200,2300,5493
+1400,-203,0
+1400,0,430
+1400,200,814
+1400,400,1272
+1400,600,1752
+1400,800,2228
+1400,1000,2709
+1400,1200,3253
+1400,1400,3774
+1400,1600,4319
+1400,1800,4945
+1400,2000,55830
+1400,2200,6107
+1400,2300,6437
+1600,-235,0
+1600,0,520
+1600,200,966
+1600,400,1483
+1600,600,2012
+1600,800,2589
+1600,1000,3163
+1600,1200,3724
+1600,1400,4282
+1600,1600,4975
+1600,1800,57020
+1600,2000,6391
+1600,2079,66520
+1800,-264,0
+1800,0,640
+1800,200,1177
+1800,400,17320
+1800,600,2339
+1800,800,3050
+1800,1000,3637
+1800,1200,4307
+1800,1400,4979
+1800,1600,5743
+1800,1800,6515
+1800,1857,6757
+2000,-301,0
+2000,0,912
+2000,200,1482
+2000,400,2065
+2000,600,2707
+2000,800,3418
+2000,1000,4283
+2000,1200,5101
+2000,1352,5661
+2100,-320,0
+2100,0,10470
+2100,200,1633
+2100,400,2239
+2100,600,2891
+2100,800,3571
+2100,1000,4564
+2100,1100,5065
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engine_WHR.vmap b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engine_WHR.vmap
new file mode 100644
index 0000000000..5407a56270
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engine_WHR.vmap
@@ -0,0 +1,113 @@
+engine speed [1/min],torque [Nm],fuel consumption [g/h], whr power
+560,-149,0,200
+560,0,1256,200
+560,200,3197,200
+560,400,5295,200
+560,600,7615,200
+560,800,9375,200
+560,1000,11239,200
+560,1180,12869,200
+600,-148,0,200
+600,0,1459,200
+600,200,3358,200
+600,400,5498,200
+600,600,8101,200
+600,800,10014,200
+600,1000,12071,200
+600,1200,14201,200
+600,1282,15304,200
+800,-149,0,200
+800,0,1879,200
+800,200,4286,200
+800,400,7021,200
+800,600,10059,200
+800,800,13086,200
+800,1000,16015,200
+800,1200,19239,200
+800,1400,22426,200
+800,1600,25483,200
+800,1791,28905,200
+1000,-160,0,200
+1000,0,2865,200
+1000,200,5963,200
+1000,400,9198,200
+1000,600,12354,200
+1000,800,15965,200
+1000,1000,19864,200
+1000,1200,23530,200
+1000,1400,27202,200
+1000,1600,31165,200
+1000,1800,35103,200
+1000,2000,39360,200
+1000,2200,44120,200
+1000,2300,46836,200
+1200,-179,0,200
+1200,0,3307,200
+1200,200,6897,200
+1200,400,10651,200
+1200,600,14645,200
+1200,800,19115,200
+1200,1000,23677,200
+1200,1200,28180,200
+1200,1400,32431,200
+1200,1600,36698,200
+1200,1800,41691,200
+1200,2000,46915,200
+1200,2200,51783,200
+1200,2300,54932,200
+1400,-203,0,200
+1400,0,4306,200
+1400,200,8143,200
+1400,400,12723,200
+1400,600,17523,200
+1400,800,22288,200
+1400,1000,27093,200
+1400,1200,32536,200
+1400,1400,37746,200
+1400,1600,43194,200
+1400,1800,49453,200
+1400,2000,55830,200
+1400,2200,61072,200
+1400,2300,64377,200
+1600,-235,0,200
+1600,0,5209,200
+1600,200,9669,200
+1600,400,14838,200
+1600,600,20127,200
+1600,800,25894,200
+1600,1000,31631,200
+1600,1200,37248,200
+1600,1400,42826,200
+1600,1600,49752,200
+1600,1800,57020,200
+1600,2000,63914,200
+1600,2079,66520,200
+1800,-264,0,200
+1800,0,6409,200
+1800,200,11777,200
+1800,400,17320,200
+1800,600,23394,200
+1800,800,30501,200
+1800,1000,36378,200
+1800,1200,43079,200
+1800,1400,49796,200
+1800,1600,57436,200
+1800,1800,65157,200
+1800,1857,67574,200
+2000,-301,0,200
+2000,0,9127,200
+2000,200,14822,200
+2000,400,20655,200
+2000,600,27076,200
+2000,800,34188,200
+2000,1000,42837,200
+2000,1200,51018,200
+2000,1352,56618,200
+2100,-320,0,200
+2100,0,10470,200
+2100,200,16332,200
+2100,400,22396,200
+2100,600,28914,200
+2100,800,35717,200
+2100,1000,45643,200
+2100,1100,50653,200
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_engine-sample_ref_DF_WHR.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_engine-sample_ref_DF_WHR.xml
new file mode 100644
index 0000000000..44a39bd60c
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_engine-sample_ref_DF_WHR.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:VectoComponentEngineering  schemaVersion="1.0"
+	xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" 
+	xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringComponent:v1.0" 
+	xmlns:ve1.0="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" 
+	xmlns:ve1.1="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.1" 
+	xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0"  
+	xmlns:vecomp="urn:tugraz:ivt:VectoAPI:EngineeringComponent"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringComponent https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD/VectoEngineeringComponent.xsd"
+	xsi:type="VectoComponentEngineeringType">
+	<Engine>
+		<ve1.0:Data id="ENG-gooZah3D" xsi:type="ve1.1:EngineDataEngineeringType" xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.1">
+			<ve1.0:Manufacturer>Generic Engine Vendor</ve1.0:Manufacturer>
+			<ve1.0:Model>Generic 40t Long Haul Truck Engine</ve1.0:Model>
+			<ve1.0:Date>2017-02-15T11:00:00Z</ve1.0:Date>
+			<ve1.0:AppVersion>XMLSpy</ve1.0:AppVersion>
+			<Displacement>12730</Displacement>
+			<Inertia>0.77</Inertia>
+			<WHRType>electrical only</WHRType>
+			<Mode>
+				<IdlingSpeed>560</IdlingSpeed>
+				<FullLoadAndDragCurve>
+					<Resource type="csv" file="engine.vfld"/>
+				</FullLoadAndDragCurve>
+				<Fuel>
+					<FuelType>NG CI</FuelType>
+					<FCCorrection>1.004</FCCorrection>
+					<WasteHeatRecovery>
+						<WHRCorrection>1.02</WHRCorrection>
+						<WHRMap>
+							<Resource type="csv" file="engine_WHR.vmap"/>
+						</WHRMap>
+					</WasteHeatRecovery>
+					<FuelConsumptionMap>
+						<Resource type="csv" file="engine.vmap"/>
+					</FuelConsumptionMap>
+				</Fuel>
+				<Fuel>
+					<FuelType>Diesel CI</FuelType>
+					<FCCorrection>1.002</FCCorrection>
+					<FuelConsumptionMap>
+						<Resource type="csv" file="engine_df.vmap"/>
+					</FuelConsumptionMap>
+				</Fuel>
+			</Mode>
+		</ve1.0:Data>
+	</Engine>
+</tns:VectoComponentEngineering>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample_ref_DF_WHR.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample_ref_DF_WHR.xml
new file mode 100644
index 0000000000..549388f448
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample_ref_DF_WHR.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:VectoInputEngineering xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v0.6" schemaVersion="0.7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7 E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoEngineeringInput.0.7.xsd">
+	<EngineOnlyMode>false</EngineOnlyMode>
+	<Vehicle>
+	<Resource type="xml" file="engineering_vehicle_ref_DF_WHR.xml"/>
+	</Vehicle>
+	<DriverModel>
+		<LookAheadCoasting>
+			<Enabled>true</Enabled>
+			<MinSpeed>50</MinSpeed>
+			<PreviewDistanceFactor>8</PreviewDistanceFactor>
+			<DecisionFactorOffset>3.22</DecisionFactorOffset>
+			<DecisionFactorScaling>2.11</DecisionFactorScaling>
+			<SpeedDependentDecisionFactor>
+				<Resource type="csv" file="lac_speedDependent.csv"/>
+			</SpeedDependentDecisionFactor>
+			<VelocityDropDecisionFactor>
+				<Resource type="csv" file="lac_velocityDrop.csv"/>
+			</VelocityDropDecisionFactor>
+		</LookAheadCoasting>
+		<Overspeed>
+			<Mode>Overspeed</Mode>
+			<MinSpeed>50</MinSpeed>
+			<AllowedOverspeed>5</AllowedOverspeed>
+			<AllowedUnderspeed>5</AllowedUnderspeed>
+		</Overspeed>
+		<DriverAccelerationCurve>
+			<Entry vehicleSpeed="0" maxAcceleration="1" maxDeceleration="-1"/>
+			<Entry vehicleSpeed="100" maxAcceleration="1" maxDeceleration="-1"/>
+		</DriverAccelerationCurve>
+	</DriverModel>
+	<MissionCycles>
+		<Cycle type="csv" file="Long_Haul+FAN+ES.vdri"/>
+	</MissionCycles>
+</tns:VectoInputEngineering>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_vehicle_ref_DF_WHR.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_vehicle_ref_DF_WHR.xml
new file mode 100644
index 0000000000..803c2e5dfc
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_vehicle_ref_DF_WHR.xml
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:VectoComponentEngineering  schemaVersion="1.0"
+	xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" 
+	xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringComponent:v1.0" 
+	xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0"  
+	xmlns:vecomp="urn:tugraz:ivt:VectoAPI:EngineeringComponent"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringComponent https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD/VectoEngineeringComponent.xsd"
+	xsi:type="VectoComponentEngineeringType">
+	<Vehicle id="VEH-1234567890" xsi:type="VehicleEngineeringType">
+			<Manufacturer>Generic Truck Manufacturer</Manufacturer>
+			<ManufacturerAddress>somewhere</ManufacturerAddress>
+			<Model>Generic LongHaul Truck</Model>
+			<VIN>xyz</VIN>
+			<Date>2017-02-15T11:00:00Z</Date>
+			<VehicleCategory>Tractor</VehicleCategory>
+			<AxleConfiguration>4x2</AxleConfiguration>
+			<CurbMassChassis>7100</CurbMassChassis>
+			<GrossVehicleMass>18000</GrossVehicleMass>
+			<RetarderType>Transmission Output Retarder</RetarderType>
+			<RetarderRatio>1.000</RetarderRatio>
+			<AngledriveType>None</AngledriveType>
+			<PTOType>None</PTOType>
+			<PTOIdleLossMap>
+				<Resource type="csv" file="pto_idlelosses.vptol"/>
+			</PTOIdleLossMap>
+			<PTOCycle>
+				<Resource type="csv" file="pto_cycle.vptoc"/>
+			</PTOCycle>
+			<CurbMassExtra>500</CurbMassExtra>
+			<Loading>1500</Loading>
+			<NgTankSystem>Liquefied</NgTankSystem>
+			<AdvancedDriverAssist xsi:type="AdvancedDriverAssistEngineeringType">
+				<EngineStopStart>true</EngineStopStart>
+				<EcoRoll>none</EcoRoll>
+				<PredictiveCruiseControl>none</PredictiveCruiseControl>
+			</AdvancedDriverAssist>
+			<Components xsi:type="VehicleComponentsType">
+				<Engine>
+					<Resource type="xml" file="engineering_engine-sample_ref_DF_WHR.xml"/>
+				</Engine>
+				<Gearbox>
+					<Resource type="xml" file="engineering_gearbox-sample_ref.xml"/>
+				</Gearbox>
+				<TorqueConverter>
+					<Resource component="TorqueConverter" type="xml" file="engineering_torqueconverter-sample_ref.xml"/>
+				</TorqueConverter>
+				<Angledrive>
+					<Data xsi:type="AngledriveDataEngineeringType" id="ANGL-asdf">
+						<Manufacturer>Generic Angledrive Manufacturer</Manufacturer>
+						<Model>Generic Angledrive</Model>
+						<Date>2017-01-11T11:00:00Z</Date>
+						<Ratio>1.200</Ratio>
+						<TorqueLossMap>
+							<Resource type="csv" file="angledrive.vtlm"/>
+						</TorqueLossMap>
+					</Data>
+				</Angledrive>
+				<Retarder>
+					<Data xsi:type="RetarderDataEngineeringType" id="RET-adsf">
+						<Manufacturer>Generic Retarder Manufacturer</Manufacturer>
+						<Model>Generic Retarder</Model>
+						<Date>2017-01-11T11:00:00Z</Date>
+						<AppVersion>3.0.1</AppVersion>
+						<RetarderLossMap>
+							<Resource type="csv" file="Retarder.vrlm"/>
+						</RetarderLossMap>
+					</Data>
+				</Retarder>
+				<Axlegear>
+					<Resource type="xml" file="engineering_axlegear-sample_ref.xml"/>
+				</Axlegear>
+				<AxleWheels>
+					<Data xsi:type="AxleWheelsDataEngineeringType">
+						<Axles>
+							<Axle xsi:type="AxleDataEngineeringType" axleNumber="1">
+								<AxleType>VehicleNonDriven</AxleType>
+								<TwinTyres>false</TwinTyres>
+								<Steered>true</Steered>
+								<WeightShare>0.4</WeightShare>
+								<Tyre xsi:type="TyreComponentEngineeringType">
+									<Data xsi:type="TyreDataEngineeringType">
+										<Manufacturer>Generic Wheels Manufacturer</Manufacturer>
+										<Model>Generic Wheel</Model>
+										<Date>2017-01-11T14:00:00Z</Date>
+										<Dimension>315/70 R22.5</Dimension>
+										<RRCISO>0.0055</RRCISO>
+										<FzISO>31300</FzISO>
+									</Data>
+								</Tyre>
+							</Axle>
+							<Axle xsi:type="AxleDataEngineeringType" axleNumber="2">
+								<AxleType>VehicleDriven</AxleType>
+								<TwinTyres>true</TwinTyres>
+								<Steered>false</Steered>
+								<WeightShare>0.6</WeightShare>
+								<Tyre>
+									<Data xsi:type="TyreDataEngineeringType">
+										<Manufacturer>Generic Wheels Manufacturer</Manufacturer>
+										<Model>Generic Wheel</Model>
+										<Date>2017-01-11T14:00:00Z</Date>
+										<Dimension>315/70 R22.5</Dimension>
+										<RRCISO>0.0063</RRCISO>
+										<FzISO>31300</FzISO>
+									</Data>
+								</Tyre>
+							</Axle>
+						</Axles>
+					</Data>
+				</AxleWheels>
+				<Auxiliaries>
+					<Data xsi:type="AuxiliariesDataEngineeringType">
+						<Auxiliary id="ES" xsi:type="AuxiliaryEntryEngineeringType">
+							<TransmissionRatioToEngine>4.078</TransmissionRatioToEngine>
+							<EfficiencyToEngine>0.96</EfficiencyToEngine>
+							<EfficiencyAuxSupply>1</EfficiencyAuxSupply>
+							<AuxMap>
+								<Entry auxiliarySpeed="1415" mechanicalPower="70" supplyPower="0.0"/>
+								<Entry auxiliarySpeed="1415" mechanicalPower="870" supplyPower="530"/>
+								<Entry auxiliarySpeed="1415" mechanicalPower="1030" supplyPower="640"/>
+								<Entry auxiliarySpeed="1415" mechanicalPower="1.17" supplyPower="0.75"/>
+								<Entry auxiliarySpeed="1416" mechanicalPower="1.36" supplyPower="0.84"/>
+								<Entry auxiliarySpeed="1416" mechanicalPower="2.4" supplyPower="1.4"/>
+								<Entry auxiliarySpeed="1887" mechanicalPower="0.07" supplyPower="0"/>
+								<Entry auxiliarySpeed="1887" mechanicalPower="0.68" supplyPower="0.41"/>
+								<Entry auxiliarySpeed="1887" mechanicalPower="0.87" supplyPower="0.54"/>
+								<Entry auxiliarySpeed="1887" mechanicalPower="0.99" supplyPower="0.64"/>
+								<Entry auxiliarySpeed="1887" mechanicalPower="1.1" supplyPower="0.74"/>
+								<Entry auxiliarySpeed="1887" mechanicalPower="2.11" supplyPower="1.47"/>
+								<Entry auxiliarySpeed="1887" mechanicalPower="2.55" supplyPower="1.74"/>
+								<Entry auxiliarySpeed="2358" mechanicalPower="0.07" supplyPower="0"/>
+								<Entry auxiliarySpeed="2358" mechanicalPower="0.65" supplyPower="0.38"/>
+								<Entry auxiliarySpeed="2358" mechanicalPower="0.79" supplyPower="0.49"/>
+								<Entry auxiliarySpeed="2358" mechanicalPower="0.99" supplyPower="0.64"/>
+								<Entry auxiliarySpeed="2358" mechanicalPower="1.12" supplyPower="0.75"/>
+								<Entry auxiliarySpeed="2358" mechanicalPower="1.59" supplyPower="1.12"/>
+								<Entry auxiliarySpeed="2358" mechanicalPower="1.99" supplyPower="1.42"/>
+								<Entry auxiliarySpeed="2358" mechanicalPower="2.41" supplyPower="1.68"/>
+								<Entry auxiliarySpeed="2358" mechanicalPower="2.86" supplyPower="1.95"/>
+								<Entry auxiliarySpeed="2358" mechanicalPower="3.19" supplyPower="2.12"/>
+								<Entry auxiliarySpeed="2358" mechanicalPower="3.51" supplyPower="2.3"/>
+								<Entry auxiliarySpeed="2830" mechanicalPower="0.08" supplyPower="0"/>
+								<Entry auxiliarySpeed="2830" mechanicalPower="0.7" supplyPower="0.41"/>
+								<Entry auxiliarySpeed="2830" mechanicalPower="0.83" supplyPower="0.51"/>
+								<Entry auxiliarySpeed="2830" mechanicalPower="1.02" supplyPower="0.66"/>
+								<Entry auxiliarySpeed="2830" mechanicalPower="1.12" supplyPower="0.75"/>
+								<Entry auxiliarySpeed="2830" mechanicalPower="1.6" supplyPower="1.13"/>
+								<Entry auxiliarySpeed="2830" mechanicalPower="2.45" supplyPower="1.71"/>
+								<Entry auxiliarySpeed="2830" mechanicalPower="2.96" supplyPower="2.02"/>
+								<Entry auxiliarySpeed="2830" mechanicalPower="3.38" supplyPower="2.24"/>
+								<Entry auxiliarySpeed="2830" mechanicalPower="3.8" supplyPower="2.46"/>
+								<Entry auxiliarySpeed="2830" mechanicalPower="4.14" supplyPower="2.63"/>
+								<Entry auxiliarySpeed="3302" mechanicalPower="0.08" supplyPower="0"/>
+								<Entry auxiliarySpeed="3302" mechanicalPower="0.74" supplyPower="0.44"/>
+								<Entry auxiliarySpeed="3302" mechanicalPower="0.88" supplyPower="0.54"/>
+								<Entry auxiliarySpeed="3302" mechanicalPower="1.07" supplyPower="0.69"/>
+								<Entry auxiliarySpeed="3302" mechanicalPower="1.19" supplyPower="0.79"/>
+								<Entry auxiliarySpeed="3302" mechanicalPower="2.45" supplyPower="1.71"/>
+								<Entry auxiliarySpeed="3302" mechanicalPower="2.98" supplyPower="2.03"/>
+								<Entry auxiliarySpeed="3302" mechanicalPower="3.44" supplyPower="2.28"/>
+								<Entry auxiliarySpeed="3302" mechanicalPower="3.88" supplyPower="2.51"/>
+								<Entry auxiliarySpeed="3302" mechanicalPower="4.46" supplyPower="2.8"/>
+								<Entry auxiliarySpeed="3773" mechanicalPower="0.09" supplyPower="0"/>
+								<Entry auxiliarySpeed="3773" mechanicalPower="0.8" supplyPower="0.47"/>
+								<Entry auxiliarySpeed="3773" mechanicalPower="0.93" supplyPower="0.57"/>
+								<Entry auxiliarySpeed="3773" mechanicalPower="1.15" supplyPower="0.74"/>
+								<Entry auxiliarySpeed="3773" mechanicalPower="1.27" supplyPower="0.85"/>
+								<Entry auxiliarySpeed="3773" mechanicalPower="2.44" supplyPower="1.69"/>
+								<Entry auxiliarySpeed="3773" mechanicalPower="2.98" supplyPower="2.02"/>
+								<Entry auxiliarySpeed="3773" mechanicalPower="3.46" supplyPower="2.29"/>
+								<Entry auxiliarySpeed="3773" mechanicalPower="3.96" supplyPower="2.55"/>
+								<Entry auxiliarySpeed="3773" mechanicalPower="4.47" supplyPower="2.8"/>
+								<Entry auxiliarySpeed="3773" mechanicalPower="4.69" supplyPower="2.91"/>
+								<Entry auxiliarySpeed="4245" mechanicalPower="0.11" supplyPower="0"/>
+								<Entry auxiliarySpeed="4245" mechanicalPower="0.88" supplyPower="0.51"/>
+								<Entry auxiliarySpeed="4245" mechanicalPower="1.02" supplyPower="0.62"/>
+								<Entry auxiliarySpeed="4245" mechanicalPower="1.22" supplyPower="0.78"/>
+								<Entry auxiliarySpeed="4245" mechanicalPower="1.47" supplyPower="0.98"/>
+								<Entry auxiliarySpeed="4245" mechanicalPower="2.36" supplyPower="1.62"/>
+								<Entry auxiliarySpeed="4245" mechanicalPower="2.98" supplyPower="2.01"/>
+								<Entry auxiliarySpeed="4245" mechanicalPower="3.46" supplyPower="2.28"/>
+								<Entry auxiliarySpeed="4245" mechanicalPower="4" supplyPower="2.57"/>
+								<Entry auxiliarySpeed="4245" mechanicalPower="4.47" supplyPower="2.79"/>
+								<Entry auxiliarySpeed="4245" mechanicalPower="4.94" supplyPower="3"/>
+								<Entry auxiliarySpeed="4716" mechanicalPower="0.12" supplyPower="0"/>
+								<Entry auxiliarySpeed="4716" mechanicalPower="0.97" supplyPower="0.56"/>
+								<Entry auxiliarySpeed="4716" mechanicalPower="1.11" supplyPower="0.67"/>
+								<Entry auxiliarySpeed="4716" mechanicalPower="1.32" supplyPower="0.84"/>
+								<Entry auxiliarySpeed="4716" mechanicalPower="1.91" supplyPower="1.29"/>
+								<Entry auxiliarySpeed="4716" mechanicalPower="2.96" supplyPower="1.99"/>
+								<Entry auxiliarySpeed="4716" mechanicalPower="3.46" supplyPower="2.27"/>
+								<Entry auxiliarySpeed="4716" mechanicalPower="4" supplyPower="2.56"/>
+								<Entry auxiliarySpeed="4716" mechanicalPower="4.52" supplyPower="2.81"/>
+								<Entry auxiliarySpeed="4716" mechanicalPower="4.97" supplyPower="3"/>
+								<Entry auxiliarySpeed="4716" mechanicalPower="5.12" supplyPower="3.08"/>
+								<Entry auxiliarySpeed="5188" mechanicalPower="0.14" supplyPower="0"/>
+								<Entry auxiliarySpeed="5188" mechanicalPower="1.08" supplyPower="0.62"/>
+								<Entry auxiliarySpeed="5188" mechanicalPower="1.21" supplyPower="0.73"/>
+								<Entry auxiliarySpeed="5188" mechanicalPower="1.47" supplyPower="0.93"/>
+								<Entry auxiliarySpeed="5188" mechanicalPower="2.89" supplyPower="1.92"/>
+								<Entry auxiliarySpeed="5188" mechanicalPower="3.45" supplyPower="2.25"/>
+								<Entry auxiliarySpeed="5188" mechanicalPower="3.99" supplyPower="2.54"/>
+								<Entry auxiliarySpeed="5188" mechanicalPower="4.54" supplyPower="2.82"/>
+								<Entry auxiliarySpeed="5188" mechanicalPower="4.98" supplyPower="3"/>
+								<Entry auxiliarySpeed="5188" mechanicalPower="5.19" supplyPower="3.11"/>
+								<Entry auxiliarySpeed="5660" mechanicalPower="0.17" supplyPower="0"/>
+								<Entry auxiliarySpeed="5660" mechanicalPower="1.19" supplyPower="0.67"/>
+								<Entry auxiliarySpeed="5660" mechanicalPower="1.32" supplyPower="0.79"/>
+								<Entry auxiliarySpeed="5660" mechanicalPower="1.69" supplyPower="1.07"/>
+								<Entry auxiliarySpeed="5660" mechanicalPower="2.54" supplyPower="1.66"/>
+								<Entry auxiliarySpeed="5660" mechanicalPower="3.37" supplyPower="2.18"/>
+								<Entry auxiliarySpeed="5660" mechanicalPower="3.98" supplyPower="2.52"/>
+								<Entry auxiliarySpeed="5660" mechanicalPower="4.55" supplyPower="2.8"/>
+								<Entry auxiliarySpeed="5660" mechanicalPower="5.02" supplyPower="3.01"/>
+								<Entry auxiliarySpeed="5660" mechanicalPower="5.27" supplyPower="3.14"/>
+								<Entry auxiliarySpeed="6131" mechanicalPower="0.19" supplyPower="0"/>
+								<Entry auxiliarySpeed="6131" mechanicalPower="1.28" supplyPower="0.72"/>
+								<Entry auxiliarySpeed="6131" mechanicalPower="1.49" supplyPower="0.88"/>
+								<Entry auxiliarySpeed="6131" mechanicalPower="2.15" supplyPower="1.37"/>
+								<Entry auxiliarySpeed="6131" mechanicalPower="3.19" supplyPower="2.04"/>
+								<Entry auxiliarySpeed="6131" mechanicalPower="3.92" supplyPower="2.46"/>
+								<Entry auxiliarySpeed="6131" mechanicalPower="4.48" supplyPower="2.75"/>
+								<Entry auxiliarySpeed="6131" mechanicalPower="5.44" supplyPower="3.16"/>
+								<Entry auxiliarySpeed="6603" mechanicalPower="0.22" supplyPower="0"/>
+								<Entry auxiliarySpeed="6603" mechanicalPower="1.42" supplyPower="0.79"/>
+								<Entry auxiliarySpeed="6603" mechanicalPower="1.81" supplyPower="1.08"/>
+								<Entry auxiliarySpeed="6603" mechanicalPower="2.92" supplyPower="1.84"/>
+								<Entry auxiliarySpeed="6603" mechanicalPower="3.75" supplyPower="2.33"/>
+								<Entry auxiliarySpeed="6603" mechanicalPower="4.38" supplyPower="2.66"/>
+								<Entry auxiliarySpeed="6603" mechanicalPower="4.94" supplyPower="2.92"/>
+								<Entry auxiliarySpeed="6603" mechanicalPower="5.51" supplyPower="3.19"/>
+								<Entry auxiliarySpeed="7075" mechanicalPower="0.25" supplyPower="0"/>
+								<Entry auxiliarySpeed="7075" mechanicalPower="1.63" supplyPower="0.91"/>
+								<Entry auxiliarySpeed="7075" mechanicalPower="2.35" supplyPower="1.43"/>
+								<Entry auxiliarySpeed="7075" mechanicalPower="3.43" supplyPower="2.1"/>
+								<Entry auxiliarySpeed="7075" mechanicalPower="4.24" supplyPower="2.55"/>
+								<Entry auxiliarySpeed="7075" mechanicalPower="4.82" supplyPower="2.83"/>
+								<Entry auxiliarySpeed="7075" mechanicalPower="5.54" supplyPower="3.19"/>
+								<Entry auxiliarySpeed="7546" mechanicalPower="0.28" supplyPower="0"/>
+								<Entry auxiliarySpeed="7546" mechanicalPower="1.93" supplyPower="1.09"/>
+								<Entry auxiliarySpeed="7546" mechanicalPower="3.04" supplyPower="1.82"/>
+								<Entry auxiliarySpeed="7546" mechanicalPower="4.09" supplyPower="2.43"/>
+								<Entry auxiliarySpeed="7546" mechanicalPower="4.69" supplyPower="2.73"/>
+								<Entry auxiliarySpeed="7546" mechanicalPower="5.7" supplyPower="3.19"/>
+								<Entry auxiliarySpeed="9150" mechanicalPower="0.42" supplyPower="0"/>
+								<Entry auxiliarySpeed="9150" mechanicalPower="5.74" supplyPower="3.19"/>
+								<Entry auxiliarySpeed="12000" mechanicalPower="0.42" supplyPower="0"/>
+								<Entry auxiliarySpeed="12000" mechanicalPower="5.74" supplyPower="3.19"/>
+							</AuxMap>
+						</Auxiliary>
+						<Auxiliary xsi:type="AuxiliaryEntryEngineeringType" id="FAN">
+							<Resource type="csv" file="dummy.vaux"/>
+						</Auxiliary>
+					</Data>
+				</Auxiliaries>
+				<AirDrag>
+					<Data xsi:type="AirDragDataEngineeringType">
+						<Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
+						<Model>Generic 40t Long Haul Truck Gearbox</Model>
+						<Date>2017-01-11T11:00:00Z</Date>
+						<AppVersion>3.0.1</AppVersion>
+						<CrossWindCorrectionMode>No Correction</CrossWindCorrectionMode>
+						<CdxA>6.29</CdxA>
+					</Data>
+				</AirDrag>
+			</Components>
+	</Vehicle>
+</tns:VectoComponentEngineering>
diff --git a/VectoCore/VectoXML.spp b/VectoCore/VectoXML.spp
index 76bb2e2e10..75806f48e4 100644
--- a/VectoCore/VectoXML.spp
+++ b/VectoCore/VectoXML.spp
@@ -80,6 +80,7 @@
 		</Folder>
 		<Folder FolderName="Engineering">
 			<File FilePath="VectoCore\Resources\XSD\VectoEngineeringComponent.1.0.xsd" HomeFolder="Yes"/>
+			<File FilePath="VectoCore\Resources\XSD\VectoEngineeringComponent.xsd" HomeFolder="Yes"/>
 			<File FilePath="VectoCore\Resources\XSD\VectoEngineeringDefinitions.0.6.xsd" HomeFolder="Yes"/>
 			<File FilePath="VectoCore\Resources\XSD\VectoEngineeringDefinitions.0.7.xsd" HomeFolder="Yes"/>
 			<File FilePath="VectoCore\Resources\XSD\VectoEngineeringDefinitions.1.0.TEST.xsd" HomeFolder="Yes"/>
-- 
GitLab