From aea6d307c0669a4d517c8522deab6bc6c4e08cbd Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Wed, 28 Jul 2021 14:24:42 +0200
Subject: [PATCH] adding more sample files, correcting errors in schema

---
 ...larationDefinitions.2.9_xEV_Components.xsd | 21 ++++++----
 .../SchemaVersion2.9/BatterySystem_1.xml      | 39 +++++++++++++++++++
 .../SchemaVersion2.9/CapacitorSystem_1.xml    | 31 +++++++++++++++
 .../SchemaVersion2.9/IEPC_1.xml               |  1 +
 VectoCore/VectoXML.spp                        |  7 +++-
 5 files changed, 91 insertions(+), 8 deletions(-)
 create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.9/BatterySystem_1.xml
 create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.9/CapacitorSystem_1.xml
 create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.9/IEPC_1.xml

diff --git a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.9_xEV_Components.xsd b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.9_xEV_Components.xsd
index c359f2800e..1a3a238555 100644
--- a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.9_xEV_Components.xsd
+++ b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.9_xEV_Components.xsd
@@ -200,8 +200,8 @@
 					<xs:element name="CertificationMethod" type="v2.9:CertificationMethodType"/>
 					<xs:element name="Capacitance">
 						<xs:simpleType>
-							<xs:restriction base="xs:int">
-								<xs:minExclusive value="0"/>
+							<xs:restriction base="v1.0:Double2">
+								<xs:minExclusive value="0.00"/>
 							</xs:restriction>
 						</xs:simpleType>
 					</xs:element>
@@ -536,15 +536,22 @@
 							</xs:restriction>
 						</xs:simpleType>
 					</xs:element>
-					<xs:element name="DifferentialIncluded"/>
-					<xs:element name="DesignTypeWheelMotor"/>
-					<xs:element name="NrOfDesignTypeWheelMotorMeasured" minOccurs="0"/>
+					<xs:element name="DifferentialIncluded" type="xs:boolean"/>
+					<xs:element name="DesignTypeWheelMotor" type="xs:boolean"/>
+					<xs:element name="NrOfDesignTypeWheelMotorMeasured" minOccurs="0">
+						<xs:simpleType>
+							<xs:restriction base="xs:int">
+								<xs:enumeration value="1"/>
+								<xs:enumeration value="2"/>
+							</xs:restriction>
+						</xs:simpleType>
+					</xs:element>
 					<xs:element name="Gears" type="v2.9:AbstractIEPCGearsDeclarationType"/>
-					<xs:element name="VoltageLevel" type="v2.9:AbstractElectricMachineSystemVoltageLevelType" maxOccurs="unbounded"/>
+					<xs:element name="VoltageLevel" type="v2.9:AbstractElectricMachineSystemVoltageLevelType" minOccurs="2" maxOccurs="unbounded"/>
 					<xs:element name="DragCurve">
 						<xs:complexType>
 							<xs:sequence>
-								<xs:element name="Entry" type="v2.9:ElectricMachineSystemDragTorqueEntryType"/>
+								<xs:element name="Entry" type="v2.9:ElectricMachineSystemDragTorqueEntryType" minOccurs="2" maxOccurs="unbounded"/>
 							</xs:sequence>
 						</xs:complexType>
 					</xs:element>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.9/BatterySystem_1.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.9/BatterySystem_1.xml
new file mode 100644
index 0000000000..9b18a6e959
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.9/BatterySystem_1.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.9" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationComponent:v2.9" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" xmlns:v2.9="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.9" xmlns:di="http://www.w3.org/2000/09/xmldsig#" schemaVersion="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationComponent v:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationComponent.xsd">
+	<tns:BatterySystem xsi:type="v2.9:REESSComponentDeclarationType">
+		<v2.9:Data xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.9" xsi:type="BatterySystemDataType" id="EM-asdf" xmlns:v2.9="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.9">
+			<Manufacturer>a</Manufacturer>
+			<Model>a</Model>
+			<CertificationNumber>token</CertificationNumber>
+			<Date>2017-01-01T00:00:00Z</Date>
+			<AppVersion>aaaaa</AppVersion>
+			<BatteryType>HPBS</BatteryType>
+			<RatedCapacity>72.00</RatedCapacity>
+			<ConnectorsSubsystemsIncluded>true</ConnectorsSubsystemsIncluded>
+			<JunctionboxIncluded>true</JunctionboxIncluded>
+			<TestingTemperature>20</TestingTemperature>
+			<OCV>
+				<Entry SoC="0.00" OCV="620.00"/>
+				<Entry SoC="100.00" OCV="640.00"/>
+			</OCV>
+			<InternalResistance>
+				<Entry SoC="0.00" R_2="10.00" R_10="11.00" R_20="12.00"/>
+				<Entry SoC="100.00" R_2="12.00" R_10="14.00" R_20="16.00"/>
+			</InternalResistance>
+			<CurrentLimits>
+				<Entry SoC="0.00" maxChagingCurrent="50.00" maxDischargingCurrent="0.00"/>
+				<Entry SoC="100.00" maxChagingCurrent="0.00" maxDischargingCurrent="50.00"/>
+			</CurrentLimits>
+		</v2.9:Data>
+		<v2.9:Signature>
+			<di:Reference URI="#ENG-gooZah3D">
+				<di:Transforms>
+					<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+					<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+				</di:Transforms>
+				<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+				<di:DigestValue>JWEwzKSP0lXvwRgQZTiWJm9dpdtQ72FOX0CC5Vy6f2Y=</di:DigestValue>
+			</di:Reference>
+		</v2.9:Signature>
+	</tns:BatterySystem>
+</tns:VectoInputDeclaration>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.9/CapacitorSystem_1.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.9/CapacitorSystem_1.xml
new file mode 100644
index 0000000000..b734b5fc33
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.9/CapacitorSystem_1.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.9" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationComponent:v2.9" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" xmlns:v2.9="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.9" xmlns:di="http://www.w3.org/2000/09/xmldsig#" schemaVersion="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationComponent v:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationComponent.xsd">
+	<tns:CapacitorSystem xsi:type="v2.9:REESSComponentDeclarationType">
+		<v2.9:Data xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.9" xsi:type="CapacitorDataType" id="EM-asdf" xmlns:v2.9="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.9">
+			<Manufacturer>a</Manufacturer>
+			<Model>a</Model>
+			<CertificationNumber>token</CertificationNumber>
+			<Date>2017-01-01T00:00:00Z</Date>
+			<AppVersion>aaaaa</AppVersion>
+			
+			<CertificationMethod>Measurement</CertificationMethod>
+			<Capacitance>1</Capacitance>
+			<InternalResistance>23.45</InternalResistance>
+			<MinVoltage>3.55</MinVoltage>
+			<MaxVoltage>30.45</MaxVoltage>
+			<MaxChargingCurrent>100.00</MaxChargingCurrent>
+			<MaxDischargingCurrent>99.45</MaxDischargingCurrent>
+			<TestingTemperature>30</TestingTemperature>
+		</v2.9:Data>
+		<v2.9:Signature>
+			<di:Reference URI="#ENG-gooZah3D">
+				<di:Transforms>
+					<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+					<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+				</di:Transforms>
+				<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+				<di:DigestValue>JWEwzKSP0lXvwRgQZTiWJm9dpdtQ72FOX0CC5Vy6f2Y=</di:DigestValue>
+			</di:Reference>
+		</v2.9:Signature>
+	</tns:CapacitorSystem>
+</tns:VectoInputDeclaration>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.9/IEPC_1.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.9/IEPC_1.xml
new file mode 100644
index 0000000000..9cc1836d04
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.9/IEPC_1.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?>
<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.9" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationComponent:v2.9" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" xmlns:v2.9="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.9" xmlns:di="http://www.w3.org/2000/09/xmldsig#" schemaVersion="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationComponent v:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationComponent.xsd">
	<tns:IEPC xsi:type="v2.9:IEPCComponentDeclarationType">
		<v2.9:Data xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.9" xsi:type="IEPCDataDeclarationType" id="EM-asdf" xmlns:v2.9="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.9">
			<Manufacturer>a</Manufacturer>
			<Model>a</Model>
			<CertificationNumber>token</CertificationNumber>
			<Date>2017-01-01T00:00:00Z</Date>
			<AppVersion>aaaaa</AppVersion>
			<ElectricMachineType>ASM</ElectricMachineType>
			<CertificationMethod>Measured for complete component</CertificationMethod>
			<R85RatedPower>1</R85RatedPower>
			<RotationalInertia>0.10</RotationalInertia>
			<ContinuousTorque>200.00</ContinuousTorque>
			<TestSpeedContinuousTorque>2000.00</TestSpeedContinuousTorque>
			<OverloadTorque>400.00</OverloadTorque>
			<TestSpeedOverloadTorque>2000.00</TestSpeedOverloadTorque>
			<OverloadDuration>30.00</OverloadDuration>
			<TestVoltageOverload>483</TestVoltageOverload>
			<DifferentialIncluded>false</DifferentialIncluded>
			<DesignTypeWheelMotor>true</DesignTypeWheelMotor>
			<Gears xsi:type="v2.9:IEPCGearsDeclarationType">
				<Gear number="1">
					<v2.0:Ratio>3.000</v2.0:Ratio>
				</Gear>
				<Gear number="2">
					<v2.0:Ratio>1.000</v2.0:Ratio>
					<MaxOutShaftTorque>2000.00</MaxOutShaftTorque>
				</Gear>
			</Gears>
			<VoltageLevel xsi:type="v2.9:ElectricMachineSystemVoltageLevelType">
				<Voltage>400</Voltage>
				<MaxTorqueCurve>
					<Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/>
					<Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/>
				</MaxTorqueCurve>
				<PowerMap>
					<Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/>
					<Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/>
					<Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/>
					<Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/>
				</PowerMap>
			</VoltageLevel>
			<VoltageLevel xsi:type="v2.9:ElectricMachineSystemVoltageLevelType">
				<Voltage>600</Voltage>
				<MaxTorqueCurve>
					<Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/>
					<Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/>
				</MaxTorqueCurve>
				<PowerMap>
					<Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/>
					<Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/>
					<Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/>
					<Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/>
				</PowerMap>
			</VoltageLevel>
			<DragCurve>
				<Entry outShaftSpeed="0.00" dragTorque="10.00"/>
				<Entry outShaftSpeed="4000.00" dragTorque="30.00"/>
			</DragCurve>
			<Conditioning circuitId="0">
				<Entry coolantTempInlet="30" coolingPower="5000"/>
			</Conditioning>
		</v2.9:Data>
		<v2.9:Signature>
			<di:Reference URI="#ENG-gooZah3D">
				<di:Transforms>
					<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
					<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
				</di:Transforms>
				<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
				<di:DigestValue>JWEwzKSP0lXvwRgQZTiWJm9dpdtQ72FOX0CC5Vy6f2Y=</di:DigestValue>
			</di:Reference>
		</v2.9:Signature>
	</tns:IEPC>
</tns:VectoInputDeclaration>
\ No newline at end of file
diff --git a/VectoCore/VectoXML.spp b/VectoCore/VectoXML.spp
index 2fb7202ba0..eb69112677 100644
--- a/VectoCore/VectoXML.spp
+++ b/VectoCore/VectoXML.spp
@@ -88,7 +88,12 @@
 			<File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_primary_vehicle_stage_2_full.xml" HomeFolder="Yes"/>
 			<File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_primary_vehicle_stage_2_mandatory.xml" HomeFolder="Yes"/>
 		</Folder>
-		<Folder FolderName="Schema 2.9"/>
+		<Folder FolderName="Schema 2.9">
+			<File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.9\BatterySystem_1.xml" HomeFolder="Yes"/>
+			<File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.9\CapacitorSystem_1.xml" HomeFolder="Yes"/>
+			<File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.9\ElectricMachineSystem_1.xml" HomeFolder="Yes"/>
+			<File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.9\IEPC_1.xml" HomeFolder="Yes"/>
+		</Folder>
 	</Folder>
 	<Folder FolderName="XSL Files" ExtStr="xsl;xslt">
 		<File FilePath="E:\QUAM\Workspace\VECTO_quam\Documentation\XML\RenderTable.xslt" HomeFolder="Yes"/>
-- 
GitLab