From 1cfc4cee9f20ca1dd08edc406d2231c425f7eec4 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Tue, 17 Sep 2019 14:40:29 +0200
Subject: [PATCH]  update xml schema for new whr options

---
 .../VectoDeclarationDefinitions.2.3_DF.xsd    | 38 +++++++----
 .../XSD/VectoEngineeringDefinitions.1.1.xsd   | 64 +++++++++++++------
 2 files changed, 71 insertions(+), 31 deletions(-)

diff --git a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.3_DF.xsd b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.3_DF.xsd
index ba0883e4ca..5e7000afa0 100644
--- a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.3_DF.xsd
+++ b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.3_DF.xsd
@@ -55,16 +55,7 @@
 							<xs:documentation>P259 - [Nm]</xs:documentation>
 						</xs:annotation>
 					</xs:element>
-					<xs:element name="WHRType">
-						<xs:simpleType>
-							<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:element>
+					<xs:element name="WHRType" type="tns:WHRTypeType"/>
 					<xs:element name="Mode" type="tns:EngineFuelModeType" maxOccurs="unbounded"/>
 				</xs:sequence>
 			</xs:extension>
@@ -86,7 +77,16 @@
 				<xs:documentation>P074 - [g/h]</xs:documentation>
 			</xs:annotation>
 		</xs:attribute>
-		<xs:attribute name="electricPower" type="v1.0:Double2"/>
+		<xs:attribute name="electricPower" type="v1.0:Double2">
+			<xs:annotation>
+				<xs:documentation>Pxxx - [W]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="mechanicalPower" type="v1.0:Double2">
+			<xs:annotation>
+				<xs:documentation>Pxxx - [W]</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
 	</xs:complexType>
 	<xs:complexType name="EngineFuelModeType">
 		<xs:sequence>
@@ -137,7 +137,14 @@
 					<xs:documentation>P260 - [-]</xs:documentation>
 				</xs:annotation>
 			</xs:element>
-			<xs:element name="WHRCorrectionFactors" type="tns:WHRCorrectionFactorsType" minOccurs="0"/>
+			<xs:element name="WHRCorrectionFactors" minOccurs="0">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element name="Electrical" type="tns:WHRCorrectionFactorsType" minOccurs="0"/>
+						<xs:element name="Mechanical" type="tns:WHRCorrectionFactorsType" minOccurs="0"/>
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
 			<xs:element name="FuelConsumptionMap">
 				<xs:complexType>
 					<xs:sequence>
@@ -191,4 +198,11 @@
 			</xs:element>
 		</xs:sequence>
 	</xs:complexType>
+	<xs:complexType name="WHRTypeType">
+		<xs:sequence>
+			<xs:element name="MechanicalOutputICE" type="xs:boolean"/>
+			<xs:element name="MechanicalOutputDrivetrain" type="xs:boolean"/>
+			<xs:element name="ElectricalOutput" type="xs:boolean"/>
+		</xs:sequence>
+	</xs:complexType>
 </xs:schema>
diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.1.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.1.xsd
index 1478405bf5..fae420a272 100644
--- a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.1.xsd
+++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.1.xsd
@@ -49,19 +49,46 @@
 												<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 name="Electrical" 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="WHRMap">
+															<xs:element name="Mechanical" minOccurs="0">
 																<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: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:sequence>
@@ -109,12 +136,11 @@
 			</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:complexType name="WHRTypeType">
+		<xs:sequence>
+			<xs:element name="MechanicalOutputICE" type="xs:boolean"/>
+			<xs:element name="MechanicalOutputDrivetrain" type="xs:boolean"/>
+			<xs:element name="ElectricalOutput" type="xs:boolean"/>
+		</xs:sequence>
+	</xs:complexType>
 </xs:schema>
-- 
GitLab