From e87bd059a5452e5de9615c0576a852fe5444fa22 Mon Sep 17 00:00:00 2001
From: Stefanos Doumpoulakis <dubulak@gmail.com>
Date: Tue, 25 Feb 2025 13:51:45 +0200
Subject: [PATCH] fix: monitoring report for dual fuel vehicles

---
 .../Resources/XMLNames.Designer.cs            |   9 +
 .../VectoCommon/Resources/XMLNames.resx       |  57 +-
 .../MonitoringReport/XMLMonitoringReport.cs   |  45 +-
 .../Resources/XSD/VectoMonitoring.1.1.xsd     | 870 ++++++++++++++++++
 .../Resources/XSD/VectoMonitoring.xsd         |   3 +-
 VectoCore/VectoCore/Utils/XMLDefinitions.cs   |   2 +-
 .../XML/Reports/MonitoringReportWriterTest.cs |  35 +-
 7 files changed, 975 insertions(+), 46 deletions(-)
 create mode 100644 VectoCore/VectoCore/Resources/XSD/VectoMonitoring.1.1.xsd

diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
index 72f6cc145b..20e32a5922 100644
--- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
+++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
@@ -3768,6 +3768,15 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to FuelType.
+        /// </summary>
+        public static string MonitoringFuelType {
+            get {
+                return ResourceManager.GetString("MonitoringFuelType", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Gearbox.
         /// </summary>
diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx
index 00afee7541..b431cbcd5b 100644
--- a/VectoCommon/VectoCommon/Resources/XMLNames.resx
+++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx
@@ -1,17 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!--
-    Microsoft ResX Schema
-
+  <!-- 
+    Microsoft ResX Schema 
+    
     Version 2.0
-
-    The primary goals of this format is to allow a simple XML format
-    that is mostly human readable. The generation and parsing of the
-    various data types are done through the TypeConverter classes
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
     associated with the data types.
-
+    
     Example:
-
+    
     ... ado.net/XML headers & schema ...
     <resheader name="resmimetype">text/microsoft-resx</resheader>
     <resheader name="version">2.0</resheader>
@@ -26,36 +26,36 @@
         <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
         <comment>This is a comment</comment>
     </data>
-
-    There are any number of "resheader" rows that contain simple
+                
+    There are any number of "resheader" rows that contain simple 
     name/value pairs.
-
-    Each data row contains a name, and value. The row also contains a
-    type or mimetype. Type corresponds to a .NET class that support
-    text/value conversion through the TypeConverter architecture.
-    Classes that don't support this are serialized and stored with the
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
     mimetype set.
-
-    The mimetype is used for serialized objects, and tells the
-    ResXResourceReader how to depersist the object. This is currently not
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
     extensible. For a given mimetype the value must be set accordingly:
-
-    Note - application/x-microsoft.net.object.binary.base64 is the format
-    that the ResXResourceWriter will generate, however the reader can
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
     read any of the formats listed below.
-
+    
     mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with
+    value   : The object must be serialized with 
             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
             : and then encoded with base64 encoding.
-
+    
     mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with
+    value   : The object must be serialized with 
             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
             : and then encoded with base64 encoding.
 
     mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array
+    value   : The object must be serialized into a byte array 
             : using a System.ComponentModel.TypeConverter
             : and then encoded with base64 encoding.
     -->
@@ -2196,4 +2196,7 @@
   <data name="Component_FuelCell" xml:space="preserve">
     <value>FuelCell</value>
   </data>
+  <data name="MonitoringFuelType" xml:space="preserve">
+    <value>FuelType</value>
+  </data>
 </root>
\ No newline at end of file
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/MonitoringReport/XMLMonitoringReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/MonitoringReport/XMLMonitoringReport.cs
index f7d5c3ec01..c209c4cc07 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/MonitoringReport/XMLMonitoringReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/MonitoringReport/XMLMonitoringReport.cs
@@ -470,21 +470,36 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.MonitoringReport
         }
 
         protected object[] GetEngineData()
-        { 
-            return new object[] {
-                GetStandardFields(PlaceHolder.ENGINE.ToString()),
-                new XElement(
-                    _tns + XMLNames.MonitoringWHTC,
-                    new XElement(_tns + XMLNames.MonitoringCO2, double.NaN.ValueAsUnit(XMLNames.GramsPerKWattHour, 0)),
-                    new XElement(_tns + XMLNames.MonitoringFuelConsumption, double.NaN.ValueAsUnit(XMLNames.GramsPerKWattHour, 0))
-                ),
-                new XElement(
-                    _tns + XMLNames.MonitoringWHSC,
-                    new XElement(_tns + XMLNames.MonitoringCO2, double.NaN.ValueAsUnit(XMLNames.GramsPerKWattHour, 0)),
-                    new XElement(_tns + XMLNames.MonitoringFuelConsumption, double.NaN.ValueAsUnit(XMLNames.GramsPerKWattHour, 0))
-                ),
-                new XElement(_tns + XMLNames.MonitoringTypeApprovalNumber, GetPlaceholder(PlaceHolder.TYPE_APPROVAL_NUMBER))
-            };
+        {
+            var elements = new List<object>() { GetStandardFields(PlaceHolder.ENGINE.ToString()) };
+
+            foreach (var fuel in _modelData.EngineData.Fuels)
+            {
+                elements.Add(
+                    new XElement(
+                        _tns + XMLNames.MonitoringWHTC,
+                        new XElement(_tns + XMLNames.MonitoringFuelType, fuel.FuelData.FuelType.ToXMLFormat()),
+                        new XElement(_tns + XMLNames.MonitoringCO2, double.NaN.ValueAsUnit(XMLNames.GramsPerKWattHour, 0)),
+                        new XElement(_tns + XMLNames.MonitoringFuelConsumption, double.NaN.ValueAsUnit(XMLNames.GramsPerKWattHour, 0))
+                    )
+                );
+            }
+
+            foreach (var fuel in _modelData.EngineData.Fuels)
+            {
+                elements.Add(
+                    new XElement(
+                        _tns + XMLNames.MonitoringWHSC,
+                        new XElement(_tns + XMLNames.MonitoringFuelType, fuel.FuelData.FuelType.ToXMLFormat()),
+                        new XElement(_tns + XMLNames.MonitoringCO2, double.NaN.ValueAsUnit(XMLNames.GramsPerKWattHour, 0)),
+                        new XElement(_tns + XMLNames.MonitoringFuelConsumption, double.NaN.ValueAsUnit(XMLNames.GramsPerKWattHour, 0))
+                    )
+                );
+            }
+
+            elements.Add(new XElement(_tns + XMLNames.MonitoringTypeApprovalNumber, GetPlaceholder(PlaceHolder.TYPE_APPROVAL_NUMBER)));
+
+            return elements.ToArray();
         }
 
         protected object[] GetAxleData()
diff --git a/VectoCore/VectoCore/Resources/XSD/VectoMonitoring.1.1.xsd b/VectoCore/VectoCore/Resources/XSD/VectoMonitoring.1.1.xsd
new file mode 100644
index 0000000000..fc1d3c70d6
--- /dev/null
+++ b/VectoCore/VectoCore/Resources/XSD/VectoMonitoring.1.1.xsd
@@ -0,0 +1,870 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<xs:schema
+  xmlns="urn:tugraz:ivt:VectoAPI:MonitoringOutput:v1.1"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:v1.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0"
+  xmlns:mrf="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.9"
+  targetNamespace="urn:tugraz:ivt:VectoAPI:MonitoringOutput:v1.1"
+  elementFormDefault="qualified"
+  attributeFormDefault="unqualified"
+  >
+
+	<xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.9" schemaLocation="VectoOutputManufacturer.0.9.xsd"/>
+	<xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" schemaLocation="VectoDeclarationDefinitions.1.0.xsd"/>
+
+	<xs:element name="VectoMonitoring" type="VectoMonitoringOutputType"/>
+
+	<xs:complexType name="VectoMonitoringOutputType" abstract="true">
+		<xs:attribute name="schemaVersion" type="xs:decimal" use="required"/>
+	</xs:complexType>
+
+	<!-- VectoMonitoring Output Types-->
+	<xs:complexType name="ConventionalLorryDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:ConventionalLorryManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="Conventional_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="ConventionalPrimaryBusDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:ConventionalPrimaryBusManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="Conventional_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="ConventionalCompletedBusDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:ConventionalCompletedBusManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="Completed_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="HEV-Px_IHPCLorryDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:HEV-Px_IHPCLorryManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="HEV-Px_IHPC_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="HEV-Px_IHPCPrimaryBusDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:HEV-Px_IHPCPrimaryBusManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="HEV-Px_IHPC_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="HEV-S2_LorryDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:HEV-S2_LorryManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="HEV-S2_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="HEV-S2_PrimaryBusDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:HEV-S2_PrimaryBusManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="HEV-S2_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="HEV-S3_LorryDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:HEV-S3_LorryManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="HEV-S3_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="HEV-S3_PrimaryBusDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:HEV-S3_PrimaryBusManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="HEV-S3_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="HEV-S4_LorryDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:HEV-S4_LorryManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="HEV-S4_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="HEV-S4_PrimaryBusDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:HEV-S4_PrimaryBusManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="HEV-S4_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="HEV-IEPC-S_LorryDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:HEV-IEPC-S_LorryManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="HEV-IEPC-S_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="HEV-IEPC-S_PrimaryBusDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:HEV-IEPC-S_PrimaryBusManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="HEV-IEPC-S_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="HEVCompletedBusDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:HEVCompletedBusManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="Completed_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="PEV-E2_LorryDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:PEV-E2_LorryManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="PEV-E2_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="PEV-E2_PrimaryBusDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:PEV-E2_PrimaryBusManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="PEV-E2_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="PEV-E3_LorryDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:PEV-E3_LorryManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="PEV-E3_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="PEV-E3_PrimaryBusDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:PEV-E3_PrimaryBusManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="PEV-E3_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="PEV-E4_LorryDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:PEV-E4_LorryManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="PEV-E4_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="PEV-E4_PrimaryBusDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:PEV-E4_PrimaryBusManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="PEV-E4_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="PEV-IEPC_LorryDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:PEV-IEPC_LorryManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="PEV-IEPC_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="PEV-IEPC_PrimaryBusDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:PEV-IEPC_PrimaryBusManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="PEV-IEPC_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="PEVCompletedBusDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:PEVCompletedBusManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="Completed_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="ExemptedLorryDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:ExemptedLorryManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="Exempted_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="ExemptedPrimaryBusDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:ExemptedPrimaryBusManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="Exempted_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="ExemptedCompletedBusDataType">
+		<xs:complexContent>
+			<xs:extension base="VectoMonitoringOutputType">
+				<xs:sequence>
+					<xs:element name="ManufacturerRecord">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:element name="Data" type="mrf:ExemptedCompletedBusManufacturerOutputDataType"/>
+								<xs:element name="Signature" type="v1.0:SignatureType"/>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+					<xs:element name="AdditionalData" type="Exempted_DataType"></xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<!-- MonitoringData Vehicle Data Types-->
+	<xs:complexType name="Completed_DataType">
+		<xs:sequence>
+			<xs:group ref="BaseVehicleData"/>
+			<xs:element name="AdvancedReducingTechnologies" type="AdvReducingTechDataType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="Exempted_DataType">
+		<xs:sequence>
+			<xs:group ref="BaseVehicleData"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="Conventional_DataType">
+		<xs:sequence>
+			<xs:group ref="BaseVehicleData"/>
+			<xs:group ref="FullConventionalComponents"/>
+			<xs:element name="AdvancedReducingTechnologies" type="AdvReducingTechDataType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="HEV-Px_IHPC_DataType">
+		<xs:sequence>
+			<xs:group ref="BaseVehicleData"/>
+			<xs:group ref="FullConventionalComponents"/>
+			<xs:group ref="xEV-ElectricComponents"/>
+			<xs:element name="AdvancedReducingTechnologies" type="AdvReducingTechDataType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="HEV-S2_DataType">
+		<xs:sequence>
+			<xs:group ref="BaseVehicleData"/>
+			<xs:group ref="FullConventionalComponents"/>
+			<xs:group ref="HEV-Sx-ElectricComponents"/>
+			<xs:element name="AdvancedReducingTechnologies" type="AdvReducingTechDataType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="HEV-S3_DataType">
+		<xs:sequence>
+			<xs:group ref="BaseVehicleData"/>
+			<xs:group ref="NoGearboxConventionalComponents"/>
+			<xs:group ref="HEV-Sx-ElectricComponents"/>
+			<xs:element name="AdvancedReducingTechnologies" type="AdvReducingTechDataType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="HEV-S4_DataType">
+		<xs:sequence>
+			<xs:group ref="BaseVehicleData"/>
+			<xs:group ref="NoGearboxNoAxlegearConventionalComponents"/>
+			<xs:group ref="HEV-Sx-ElectricComponents"/>
+			<xs:element name="AdvancedReducingTechnologies" type="AdvReducingTechDataType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="HEV-IEPC-S_DataType">
+		<xs:sequence>
+			<xs:group ref="BaseVehicleData"/>
+			<xs:group ref="NoGearboxOptionalAxlegearConventionalComponents"/>
+			<xs:group ref="HEV-Sx-ElectricComponents"/>
+			<xs:element name="AdvancedReducingTechnologies" type="AdvReducingTechDataType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="PEV-E2_DataType">
+		<xs:sequence>
+			<xs:group ref="BaseVehicleData"/>
+			<xs:group ref="NoEngineConventionalComponents"/>
+			<xs:group ref="xEV-ElectricComponents"/>
+			<xs:element name="AdvancedReducingTechnologies" type="AdvReducingTechDataType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="PEV-E3_DataType">
+		<xs:sequence>
+			<xs:group ref="BaseVehicleData"/>
+			<xs:group ref="NoEngineNoGearboxConventionalComponents"/>
+			<xs:group ref="xEV-ElectricComponents"/>
+			<xs:element name="AdvancedReducingTechnologies" type="AdvReducingTechDataType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="PEV-E4_DataType">
+		<xs:sequence>
+			<xs:group ref="BaseVehicleData"/>
+			<xs:group ref="AxleWheelsConventionalComponents"/>
+			<xs:group ref="xEV-ElectricComponents"/>
+			<xs:element name="AdvancedReducingTechnologies" type="AdvReducingTechDataType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="PEV-IEPC_DataType">
+		<xs:sequence>
+			<xs:group ref="BaseVehicleData"/>
+			<xs:group ref="OptionalAxlegearConventionalComponents"/>
+			<xs:group ref="xEV-ElectricComponents"/>
+			<xs:element name="AdvancedReducingTechnologies" type="AdvReducingTechDataType"/>
+		</xs:sequence>
+	</xs:complexType>
+	<!-- MonitoringData Component Groups-->
+	<xs:group name="FullConventionalComponents">
+		<xs:sequence>
+			<xs:element name="Engine" type="EngineDataType"/>
+			<xs:element name="Gearbox" type="GearboxDataType"/>
+			<xs:element name="Axlegear" type="AxlegearDataType"/>
+			<xs:element name="AxleWheels" type="AxleWheelsDataType"/>
+		</xs:sequence>
+	</xs:group>
+	<xs:group name="NoEngineConventionalComponents">
+		<xs:sequence>
+			<xs:element name="Gearbox" type="GearboxDataType"/>
+			<xs:element name="Axlegear" type="AxlegearDataType"/>
+			<xs:element name="AxleWheels" type="AxleWheelsDataType"/>
+		</xs:sequence>
+	</xs:group>
+	<xs:group name="NoGearboxConventionalComponents">
+		<xs:sequence>
+			<xs:element name="Engine" type="EngineDataType"/>
+			<xs:element name="Axlegear" type="AxlegearDataType"/>
+			<xs:element name="AxleWheels" type="AxleWheelsDataType"/>
+		</xs:sequence>
+	</xs:group>
+	<xs:group name="NoGearboxNoAxlegearConventionalComponents">
+		<xs:sequence>
+			<xs:element name="Engine" type="EngineDataType"/>
+			<xs:element name="AxleWheels" type="AxleWheelsDataType"/>
+		</xs:sequence>
+	</xs:group>
+	<xs:group name="NoGearboxOptionalAxlegearConventionalComponents">
+		<xs:sequence>
+			<xs:element name="Engine" type="EngineDataType"/>
+			<xs:element name="Axlegear" type="AxlegearDataType" minOccurs="0"/>
+			<xs:element name="AxleWheels" type="AxleWheelsDataType"/>
+		</xs:sequence>
+	</xs:group>
+	<xs:group name="NoEngineNoGearboxConventionalComponents">
+		<xs:sequence>
+			<xs:element name="Axlegear" type="AxlegearDataType"/>
+			<xs:element name="AxleWheels" type="AxleWheelsDataType"/>
+		</xs:sequence>
+	</xs:group>
+	<xs:group name="OptionalAxlegearConventionalComponents">
+		<xs:sequence>
+			<xs:element name="Axlegear" type="AxlegearDataType" minOccurs="0"/>
+			<xs:element name="AxleWheels" type="AxleWheelsDataType"/>
+		</xs:sequence>
+	</xs:group>
+	<xs:group name="AxleWheelsConventionalComponents">
+		<xs:sequence>
+			<xs:element name="AxleWheels" type="AxleWheelsDataType"/>
+		</xs:sequence>
+	</xs:group>
+	<xs:group name="BaseVehicleData">
+		<xs:sequence>
+			<xs:element name="VectoLicenseNbr" type="xs:string">
+				<xs:annotation>
+					<xs:documentation>#72</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="Vehicle" type="VehicleDataType"/>
+		</xs:sequence>
+	</xs:group>
+	<xs:group name="xEV-ElectricComponents">
+		<xs:sequence>
+			<xs:element name="ElectricMachine" type="ElectricMachineDataType"/>
+			<xs:element name="ElectricEnergyStorage" type="ElectricEnergyStorageDataType"/>
+		</xs:sequence>
+	</xs:group>
+	<xs:group name="HEV-Sx-ElectricComponents">
+		<xs:sequence>
+			<xs:group ref="xEV-ElectricComponents"/>
+			<xs:element name="ElectricMachineGEN" type="ElectricMachineGENDataType" />
+		</xs:sequence>
+	</xs:group>
+	<!-- MonitoringData Component Types-->
+	<xs:complexType name="VehicleDataType">
+		<xs:sequence>
+			<xs:element name="Make" type="xs:string">
+				<xs:annotation>
+					<xs:documentation>#15</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="EngineDataType">
+		<xs:sequence>
+			<xs:element name="Manufacturer" type="xs:string"/>
+			<xs:element name="ManufacturerAddress" type="xs:string"/>
+			<xs:element name="Make" type="xs:string"/>
+			<xs:element name="WHTC" maxOccurs="2">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element name="FuelType" type="v1.0:FuelTypeType">
+							<xs:annotation>
+								<xs:documentation>P193</xs:documentation>
+							</xs:annotation>
+						</xs:element>
+						<xs:element name="CO2">
+							<xs:annotation>
+								<xs:documentation>#75</xs:documentation>
+							</xs:annotation>
+							<xs:complexType>
+								<xs:simpleContent>
+									<xs:extension base="xs:double">
+										<xs:attribute name="unit" use="required">
+											<xs:simpleType>
+												<xs:restriction base="xs:string">
+													<xs:enumeration value="g/kWh"/>
+												</xs:restriction>
+											</xs:simpleType>
+										</xs:attribute>
+									</xs:extension>
+								</xs:simpleContent>
+							</xs:complexType>
+						</xs:element>
+						<xs:element name="FuelConsumption">
+							<xs:annotation>
+								<xs:documentation>#76</xs:documentation>
+							</xs:annotation>
+							<xs:complexType>
+								<xs:simpleContent>
+									<xs:extension base="xs:double">
+										<xs:attribute name="unit" use="required">
+											<xs:simpleType>
+												<xs:restriction base="xs:string">
+													<xs:enumeration value="g/kWh"/>
+												</xs:restriction>
+											</xs:simpleType>
+										</xs:attribute>
+									</xs:extension>
+								</xs:simpleContent>
+							</xs:complexType>
+						</xs:element>
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="WHSC" maxOccurs="2">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element name="FuelType" type="v1.0:FuelTypeType">
+							<xs:annotation>
+								<xs:documentation>P193</xs:documentation>
+							</xs:annotation>
+						</xs:element>
+						<xs:element name="CO2">
+							<xs:annotation>
+								<xs:documentation>#77</xs:documentation>
+							</xs:annotation>
+							<xs:complexType>
+								<xs:simpleContent>
+									<xs:extension base="xs:double">
+										<xs:attribute name="unit" use="required">
+											<xs:simpleType>
+												<xs:restriction base="xs:string">
+													<xs:enumeration value="g/kWh"/>
+												</xs:restriction>
+											</xs:simpleType>
+										</xs:attribute>
+									</xs:extension>
+								</xs:simpleContent>
+							</xs:complexType>
+						</xs:element>
+						<xs:element name="FuelConsumption">
+							<xs:annotation>
+								<xs:documentation>#78</xs:documentation>
+							</xs:annotation>
+							<xs:complexType>
+								<xs:simpleContent>
+									<xs:extension base="xs:double">
+										<xs:attribute name="unit" use="required">
+											<xs:simpleType>
+												<xs:restriction base="xs:string">
+													<xs:enumeration value="g/kWh"/>
+												</xs:restriction>
+											</xs:simpleType>
+										</xs:attribute>
+									</xs:extension>
+								</xs:simpleContent>
+							</xs:complexType>
+						</xs:element>
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="TypeApprovalNumber" type="xs:string"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="GearboxDataType">
+		<xs:sequence>
+			<xs:element name="Manufacturer" type="xs:string">
+				<xs:annotation>
+					<xs:documentation>#24</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="ManufacturerAddress" type="xs:string">
+				<xs:annotation>
+					<xs:documentation>#24</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="Make" type="xs:string">
+				<xs:annotation>
+					<xs:documentation>#25</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="AxlegearDataType">
+		<xs:sequence>
+			<xs:element name="Manufacturer" type="xs:string">
+				<xs:annotation>
+					<xs:documentation>#32</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="ManufacturerAddress" type="xs:string">
+				<xs:annotation>
+					<xs:documentation>#32</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+			<xs:element name="Make" type="xs:string">
+				<xs:annotation>
+					<xs:documentation>#33</xs:documentation>
+				</xs:annotation>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="AxleWheelsDataType">
+		<xs:sequence>
+			<xs:element name="Axle" minOccurs="2" maxOccurs="4">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element name="Tyre">
+							<xs:complexType>
+								<xs:sequence>
+									<xs:element name="Manufacturer" type="xs:string">
+										<xs:annotation>
+											<xs:documentation>#39</xs:documentation>
+										</xs:annotation>
+									</xs:element>
+									<xs:element name="ManufacturerAddress" type="xs:string">
+										<xs:annotation>
+											<xs:documentation>#39</xs:documentation>
+										</xs:annotation>
+									</xs:element>
+									<xs:element name="Make" type="xs:string">
+										<xs:annotation>
+											<xs:documentation>#40</xs:documentation>
+										</xs:annotation>
+									</xs:element>
+								</xs:sequence>
+							</xs:complexType>
+						</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:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="AdvReducingTechDataType">
+		<xs:annotation>
+			<xs:documentation>#74</xs:documentation>
+		</xs:annotation>
+		<xs:sequence>
+			<xs:element name="Entry" minOccurs="0" maxOccurs="unbounded">
+				<xs:complexType>
+					<xs:simpleContent>
+						<xs:extension base="xs:string">
+							<xs:attribute name="category" use="required">
+								<xs:simpleType>
+									<xs:restriction base="xs:string">
+										<xs:enumeration value="advanced aerodynamic measures"/>
+										<xs:enumeration value="advanced rolling resistance measures"/>
+										<xs:enumeration value="advanced drivetrain technologies"/>
+										<xs:enumeration value="advanced engine technologies"/>
+										<xs:enumeration value="advanced auxiliary technologies"/>
+										<xs:enumeration value="additional ADAS technologies"/>
+										<xs:enumeration value="advanced powertrain integration and hybridisation"/>
+										<xs:enumeration value="other"/>
+									</xs:restriction>
+								</xs:simpleType>
+							</xs:attribute>
+						</xs:extension>
+					</xs:simpleContent>
+				</xs:complexType>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="ElectricMachineDataType">
+		<xs:sequence>
+			<xs:element name="Manufacturer" type="xs:string"/>
+			<xs:element name="ManufacturerAddress" type="xs:string"/>
+			<xs:element name="Make" type="xs:string"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="ElectricEnergyStorageDataType">
+		<xs:sequence>
+			<xs:element name="Manufacturer" type="xs:string"/>
+			<xs:element name="ManufacturerAddress" type="xs:string"/>
+			<xs:element name="Make" type="xs:string"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="ElectricMachineGENDataType">
+		<xs:sequence>
+			<xs:element name="Manufacturer" type="xs:string"/>
+			<xs:element name="ManufacturerAddress" type="xs:string"/>
+			<xs:element name="Make" type="xs:string"/>
+		</xs:sequence>
+	</xs:complexType>
+</xs:schema>
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Resources/XSD/VectoMonitoring.xsd b/VectoCore/VectoCore/Resources/XSD/VectoMonitoring.xsd
index 1f038fc2e2..962edfc821 100644
--- a/VectoCore/VectoCore/Resources/XSD/VectoMonitoring.xsd
+++ b/VectoCore/VectoCore/Resources/XSD/VectoMonitoring.xsd
@@ -3,12 +3,13 @@
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:all_mon="urn:tugraz:ivt:VectoAPI:MonitoringOutput" xmlns:mon0.7="urn:tugraz:ivt:VectoAPI:MonitoringOutput:v0.7" targetNamespace="urn:tugraz:ivt:VectoAPI:MonitoringOutput" elementFormDefault="qualified" attributeFormDefault="unqualified" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:ParameterDocumentation ParameterDocumentation.xsd">
 	<!-- 
 
-         This is a convienience file that imports the schema for all supported versions of customer information file and all supported declaration definitions
+         This is a convienience file that imports the schema for all supported versions of monitoring report file and all supported declaration definitions
 
  -->
 	<xs:import namespace="urn:tugraz:ivt:VectoAPI:MonitoringOutput:v0.7" schemaLocation="VectoMonitoring.0.7.xsd"/>
 	<xs:import namespace="urn:tugraz:ivt:VectoAPI:MonitoringOutput:v0.7.1" schemaLocation="VectoMonitoring.0.7.1.xsd"/>
 	<xs:import namespace="urn:tugraz:ivt:VectoAPI:MonitoringOutput:v0.8" schemaLocation="VectoMonitoring.0.8.xsd"/>
 	<xs:import namespace="urn:tugraz:ivt:VectoAPI:MonitoringOutput:v1.0" schemaLocation="VectoMonitoring.1.0.xsd"/>
+	<xs:import namespace="urn:tugraz:ivt:VectoAPI:MonitoringOutput:v1.1" schemaLocation="VectoMonitoring.1.1.xsd"/>
 	<xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationOutput" schemaLocation="VectoOutputManufacturer.xsd"/>
 </xs:schema>
diff --git a/VectoCore/VectoCore/Utils/XMLDefinitions.cs b/VectoCore/VectoCore/Utils/XMLDefinitions.cs
index 7c6d79f032..c00e927e7e 100644
--- a/VectoCore/VectoCore/Utils/XMLDefinitions.cs
+++ b/VectoCore/VectoCore/Utils/XMLDefinitions.cs
@@ -123,7 +123,7 @@ namespace TUGraz.VectoCore.Utils
 
 		public const string MONITORING_NAMESPACE = "urn:tugraz:ivt:VectoAPI:MonitoringOutput";
 
-		public const string MONITORING_SCHEMA_VERSION = "1.0";
+		public const string MONITORING_SCHEMA_VERSION = "1.1";
 
 		public const string MONITORING_NAMESPACE_URI = MONITORING_NAMESPACE + ":v" + MONITORING_SCHEMA_VERSION;
 
diff --git a/VectoCore/VectoCoreTest/XML/Reports/MonitoringReportWriterTest.cs b/VectoCore/VectoCoreTest/XML/Reports/MonitoringReportWriterTest.cs
index dec64c93e0..3460a9ceea 100644
--- a/VectoCore/VectoCoreTest/XML/Reports/MonitoringReportWriterTest.cs
+++ b/VectoCore/VectoCoreTest/XML/Reports/MonitoringReportWriterTest.cs
@@ -109,13 +109,44 @@ namespace TUGraz.VectoCore.Tests.XML.Reports
 						: null
 					: null;
 
-			return new VectoRunData() {
+			var engineData = (dataProvider is IMultistepBusInputDataProvider)
+                ? null
+                : (dataProvider.JobInputData.Vehicle.Components != null)
+                    ? (dataProvider.JobInputData.Vehicle.Components.EngineInputData != null)
+                        ? new CombustionEngineData() 
+                        : null
+                    : null;
+
+			if (engineData != null)
+			{
+				var fuelTypes = new List<FuelType>();
+
+				foreach (var mode in dataProvider.JobInputData.Vehicle.Components.EngineInputData.EngineModes)
+				{
+					var types = mode.Fuels.Select(x => x.FuelType);
+
+					foreach (var type in types)
+					{
+						if (!fuelTypes.Contains(type))
+						{
+							fuelTypes.Add(type);
+						}
+					}
+				}
+
+				engineData.Fuels = fuelTypes.Select(x => new CombustionEngineFuelData() { 
+					FuelData = DeclarationData.FuelData.Lookup(x, dataProvider.JobInputData.Vehicle.TankSystem) 
+				} ).ToList();
+            }
+
+            return new VectoRunData() {
 				InputData = dataProvider,
 				VehicleData = new VehicleData() {
 					OffVehicleCharging = false,
 					AxleData = axleData
 				},
-				AxleGearData = axleGearData
+				AxleGearData = axleGearData,
+				EngineData = engineData
 			};
 		}
 
-- 
GitLab