From 47709dd3547d4aeac2a837249dfc1b7f42306426 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Mon, 1 Aug 2022 21:08:14 +0200 Subject: [PATCH] updating XML Schema: more vehicle information in CIF, input signature in MRF and CIF --- .../XSD/VectoDeclarationDefinitions.2.4.xsd | 20 +- .../Resources/XSD/VectoOutputCustomer.0.9.xsd | 550 ++++++++++++++++-- .../XSD/VectoOutputManufacturer.0.9.xsd | 77 ++- .../XSD/VectoOutputMultistep.0.1.xsd | 25 +- VectoCore/VectoCore/Utils/XMLHelper.cs | 16 +- 5 files changed, 609 insertions(+), 79 deletions(-) diff --git a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.4.xsd b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.4.xsd index fe687e0866..8246076603 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.4.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.4.xsd @@ -405,6 +405,11 @@ Changelog: <xs:sequence> <xs:group ref="v2.4:BusAuxPneumaticSystemGen_Conventional_SequenceGroup"/> <xs:group ref="v2.4:BusAuxPneumaticSystemConsumerSequenceGroup"/> + <xs:element name="PneumaticSCRReagentDosing" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P316 - bool</xs:documentation> + </xs:annotation> + </xs:element> </xs:sequence> </xs:complexType> </xs:element> @@ -567,6 +572,11 @@ Changelog: <xs:sequence> <xs:group ref="v2.4:BusAuxPneumaticSystemGen_HEV-Px_SequenceGroup"/> <xs:group ref="v2.4:BusAuxPneumaticSystemConsumerSequenceGroup"/> + <xs:element name="PneumaticSCRReagentDosing" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P316 - bool</xs:documentation> + </xs:annotation> + </xs:element> </xs:sequence> </xs:complexType> </xs:element> @@ -728,6 +738,11 @@ Changelog: <xs:sequence> <xs:group ref="v2.4:BusAuxPneumaticSystemGen_HEV-S_SequenceGroup"/> <xs:group ref="v2.4:BusAuxPneumaticSystemConsumerSequenceGroup"/> + <xs:element name="PneumaticSCRReagentDosing" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P316 - bool</xs:documentation> + </xs:annotation> + </xs:element> </xs:sequence> </xs:complexType> </xs:element> @@ -3202,11 +3217,6 @@ Changelog: </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="PneumaticSCRReagentDosing" type="xs:boolean"> - <xs:annotation> - <xs:documentation>P316 - bool</xs:documentation> - </xs:annotation> - </xs:element> </xs:sequence> </xs:group> <xs:group name="BusAuxPneumaticSystemGen_Conventional_SequenceGroup"> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd index 72afeec15a..ec384f2f81 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd @@ -13,6 +13,7 @@ <xs:extension base="out:AbstractVectoOutputCustomerDataType"> <xs:sequence> <xs:element name="Vehicle" type="Conventional_LorryVehicleType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="ResultDataSignature" type="v1.0:SignatureType"> <xs:annotation> <xs:documentation>II.3</xs:documentation> @@ -45,6 +46,7 @@ <xs:extension base="out:AbstractVectoOutputCustomerDataType"> <xs:sequence> <xs:element name="Vehicle" type="HEV_Px_IHPC_LorryVehicleType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="ResultDataSignature" type="v1.0:SignatureType"> <xs:annotation> <xs:documentation>II.3</xs:documentation> @@ -77,6 +79,7 @@ <xs:extension base="out:AbstractVectoOutputCustomerDataType"> <xs:sequence> <xs:element name="Vehicle" type="HEV_S2_LorryVehicleType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="ResultDataSignature" type="v1.0:SignatureType"> <xs:annotation> <xs:documentation>II.3</xs:documentation> @@ -109,6 +112,7 @@ <xs:extension base="out:AbstractVectoOutputCustomerDataType"> <xs:sequence> <xs:element name="Vehicle" type="HEV_S3_LorryVehicleType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="ResultDataSignature" type="v1.0:SignatureType"> <xs:annotation> <xs:documentation>II.3</xs:documentation> @@ -141,6 +145,7 @@ <xs:extension base="out:AbstractVectoOutputCustomerDataType"> <xs:sequence> <xs:element name="Vehicle" type="HEV_S4_LorryVehicleType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="ResultDataSignature" type="v1.0:SignatureType"> <xs:annotation> <xs:documentation>II.3</xs:documentation> @@ -173,6 +178,7 @@ <xs:extension base="out:AbstractVectoOutputCustomerDataType"> <xs:sequence> <xs:element name="Vehicle" type="HEV_IEPC_S_LorryVehicleType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="ResultDataSignature" type="v1.0:SignatureType"> <xs:annotation> <xs:documentation>II.3</xs:documentation> @@ -205,6 +211,7 @@ <xs:extension base="out:AbstractVectoOutputCustomerDataType"> <xs:sequence> <xs:element name="Vehicle" type="PEV_E2_LorryVehicleType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="ResultDataSignature" type="v1.0:SignatureType"> <xs:annotation> <xs:documentation>II.3</xs:documentation> @@ -237,6 +244,7 @@ <xs:extension base="out:AbstractVectoOutputCustomerDataType"> <xs:sequence> <xs:element name="Vehicle" type="PEV_E3_LorryVehicleType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="ResultDataSignature" type="v1.0:SignatureType"> <xs:annotation> <xs:documentation>II.3</xs:documentation> @@ -269,6 +277,7 @@ <xs:extension base="out:AbstractVectoOutputCustomerDataType"> <xs:sequence> <xs:element name="Vehicle" type="PEV_E4_LorryVehicleType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="ResultDataSignature" type="v1.0:SignatureType"> <xs:annotation> <xs:documentation>II.3</xs:documentation> @@ -301,6 +310,7 @@ <xs:extension base="out:AbstractVectoOutputCustomerDataType"> <xs:sequence> <xs:element name="Vehicle" type="PEV_IEPC_LorryVehicleType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="ResultDataSignature" type="v1.0:SignatureType"> <xs:annotation> <xs:documentation>II.3</xs:documentation> @@ -333,6 +343,7 @@ <xs:extension base="out:AbstractVectoOutputCustomerDataType"> <xs:sequence> <xs:element name="Vehicle" type="Conventional_CompletedBusVehicleType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="ResultDataSignature" type="v1.0:SignatureType"> <xs:annotation> <xs:documentation>II.3</xs:documentation> @@ -364,7 +375,8 @@ <xs:complexContent> <xs:extension base="out:AbstractVectoOutputCustomerDataType"> <xs:sequence> - <xs:element name="Vehicle" type="HEV_CompletedBusVehicleType"/> + <xs:element name="Vehicle" type="Abstract_HEV_CompletedBusVehicleType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="ResultDataSignature" type="v1.0:SignatureType"> <xs:annotation> <xs:documentation>II.3</xs:documentation> @@ -396,7 +408,8 @@ <xs:complexContent> <xs:extension base="out:AbstractVectoOutputCustomerDataType"> <xs:sequence> - <xs:element name="Vehicle" type="PEV_CompletedBusVehicleType"/> + <xs:element name="Vehicle" type="Abstract_PEV_CompletedBusVehicleType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="ResultDataSignature" type="v1.0:SignatureType"> <xs:annotation> <xs:documentation>II.3</xs:documentation> @@ -429,6 +442,7 @@ <xs:extension base="out:AbstractVectoOutputCustomerDataType"> <xs:sequence> <xs:element name="Vehicle" type="Exempted_LorryVehicleType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="ResultDataSignature" type="v1.0:SignatureType"> <xs:annotation> <xs:documentation>II.3</xs:documentation> @@ -461,6 +475,7 @@ <xs:extension base="out:AbstractVectoOutputCustomerDataType"> <xs:sequence> <xs:element name="Vehicle" type="Exempted_CompletedBusVehicleType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="ResultDataSignature" type="v1.0:SignatureType"> <xs:annotation> <xs:documentation>II.3</xs:documentation> @@ -493,7 +508,7 @@ <xs:sequence> <xs:group ref="GeneralVehicleSequenceGroup"/> <xs:group ref="LorryGeneralVehicleSequenceGroup"/> - <xs:group ref="Conventional_LorryVehicleSequenceGroup"/> + <xs:group ref="WHR_DualFuelSequenceGroup"/> <xs:element name="ADAS" type="ConventionalADASType"/> <xs:group ref="EngineGroup"/> <xs:group ref="TransmissionGroup"/> @@ -538,6 +553,7 @@ <xs:group ref="EngineGroup"/> <xs:group ref="ElectricMachineGroup"/> <xs:group ref="REESSGroup"/> + <xs:element name="NrOfGears" type="xs:int"/> <xs:element name="Retarder"/> <xs:element name="AxleRatio"/> <xs:group ref="AxleWheelsGroup"/> @@ -551,6 +567,7 @@ <xs:group ref="EngineGroup"/> <xs:group ref="ElectricMachineGroup"/> <xs:group ref="REESSGroup"/> + <xs:element name="NrOfGears" type="xs:int"/> <xs:group ref="AxleWheelsGroup"/> <xs:group ref="LorryAuxGroup"/> </xs:sequence> @@ -562,6 +579,7 @@ <xs:group ref="EngineGroup"/> <xs:group ref="ElectricMachineGroup"/> <xs:group ref="REESSGroup"/> + <xs:element name="NrOfGears" type="xs:int"/> <xs:element name="Retarder"/> <xs:element name="AxleRatio" minOccurs="0"/> <xs:group ref="AxleWheelsGroup"/> @@ -587,6 +605,7 @@ <xs:element name="ADAS" type="PEVADASType"/> <xs:group ref="ElectricMachineGroup"/> <xs:group ref="REESSGroup"/> + <xs:element name="NrOfGears" type="xs:int"/> <xs:element name="Retarder"/> <xs:element name="AxleRatio"/> <xs:group ref="AxleWheelsGroup"/> @@ -599,6 +618,7 @@ <xs:element name="ADAS" type="PEVADASType"/> <xs:group ref="ElectricMachineGroup"/> <xs:group ref="REESSGroup"/> + <xs:element name="NrOfGears" type="xs:int"/> <xs:group ref="AxleWheelsGroup"/> <xs:group ref="LorryAuxGroup"/> </xs:sequence> @@ -609,6 +629,7 @@ <xs:element name="ADAS" type="PEVADASType"/> <xs:group ref="ElectricMachineGroup"/> <xs:group ref="REESSGroup"/> + <xs:element name="NrOfGears" type="xs:int"/> <xs:element name="Retarder"/> <xs:element name="AxleRatio" minOccurs="0"/> <xs:group ref="AxleWheelsGroup"/> @@ -617,29 +638,182 @@ </xs:complexType> <xs:complexType name="Conventional_CompletedBusVehicleType"> <xs:sequence> - <xs:group ref="CompletedBusVehicleTypeGroup"/> + <xs:group ref="ConventionalCompletedBusVehicleTypeGroup"/> <xs:element name="ADAS" type="ConventionalADASType"/> - <xs:group ref="CompletedBusAuxGroup"/> + <xs:group ref="EngineGroup"/> + <xs:group ref="TransmissionGroup"/> + <xs:element name="Retarder" type="xs:boolean"/> + <xs:element name="AxleRatio" type="v1.0:AxlegearRatioType"/> + <xs:group ref="AxleWheelsGroup"/> + <xs:group ref="ConventionalCompletedBusAuxGroup"/> </xs:sequence> </xs:complexType> - <xs:complexType name="HEV_CompletedBusVehicleType"> - <xs:sequence> - <xs:group ref="CompletedBusVehicleTypeGroup"/> - <xs:element name="ADAS" type="HEVADASType"/> - <xs:group ref="CompletedBusAuxGroup"/> - </xs:sequence> + <xs:complexType name="HEV_Px_IHPC_CompletedBusVehicleType"> + <xs:complexContent> + <xs:extension base="Abstract_HEV_CompletedBusVehicleType"> + <xs:sequence> + <xs:group ref="HEVCompletedBusVehicleTypeGroup"/> + <xs:group ref="HEV_CompletedBusArchitectureGroup"/> + <xs:element name="ADAS" type="HEVADASType"/> + <xs:group ref="EngineGroup"/> + <xs:group ref="ElectricMachineGroup"/> + <xs:group ref="REESSGroup"/> + <xs:group ref="TransmissionGroup"/> + <xs:element name="Retarder" type="xs:boolean"/> + <xs:element name="AxleRatio" type="v1.0:AxlegearRatioType"/> + <xs:group ref="AxleWheelsGroup"/> + <xs:group ref="HEV_Px_IHPC_CompletedBusAuxGroup"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> </xs:complexType> - <xs:complexType name="PEV_CompletedBusVehicleType"> - <xs:sequence> - <xs:group ref="CompletedBusVehicleTypeGroup"/> - <xs:element name="ADAS" type="PEVADASType"/> - <xs:group ref="CompletedBusAuxGroup"/> - </xs:sequence> + <xs:complexType name="HEV_S2_CompletedBusVehicleType"> + <xs:complexContent> + <xs:extension base="Abstract_HEV_CompletedBusVehicleType"> + <xs:sequence> + <xs:group ref="HEVCompletedBusVehicleTypeGroup"/> + <xs:group ref="HEV_CompletedBusArchitectureGroup"/> + <xs:element name="ADAS" type="HEVADASType"/> + <xs:group ref="EngineGroup"/> + <xs:group ref="ElectricMachineGroup"/> + <xs:group ref="REESSGroup"/> + <xs:group ref="TransmissionGroup"/> + <xs:element name="Retarder" type="xs:boolean"/> + <xs:element name="AxleRatio" type="v1.0:AxlegearRatioType"/> + <xs:group ref="AxleWheelsGroup"/> + <xs:group ref="HEV_Sx_CompletedBusAuxGroup"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="HEV_S3_CompletedBusVehicleType"> + <xs:complexContent> + <xs:extension base="Abstract_HEV_CompletedBusVehicleType"> + <xs:sequence> + <xs:group ref="HEVCompletedBusVehicleTypeGroup"/> + <xs:group ref="HEV_CompletedBusArchitectureGroup"/> + <xs:element name="ADAS" type="HEVADASType"/> + <xs:group ref="EngineGroup"/> + <xs:group ref="ElectricMachineGroup"/> + <xs:group ref="REESSGroup"/> + <xs:element name="NrOfGears" type="xs:int"/> + <xs:element name="Retarder" type="xs:boolean"/> + <xs:element name="AxleRatio" type="v1.0:AxlegearRatioType"/> + <xs:group ref="AxleWheelsGroup"/> + <xs:group ref="HEV_Sx_CompletedBusAuxGroup"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="HEV_S4_CompletedBusVehicleType"> + <xs:complexContent> + <xs:extension base="Abstract_HEV_CompletedBusVehicleType"> + <xs:sequence> + <xs:group ref="HEVCompletedBusVehicleTypeGroup"/> + <xs:group ref="HEV_CompletedBusArchitectureGroup"/> + <xs:element name="ADAS" type="HEVADASType"/> + <xs:group ref="EngineGroup"/> + <xs:group ref="ElectricMachineGroup"/> + <xs:group ref="REESSGroup"/> + <xs:element name="NrOfGears" type="xs:int"/> + <xs:group ref="AxleWheelsGroup"/> + <xs:group ref="HEV_Sx_CompletedBusAuxGroup"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="HEV_IEPC-S_CompletedBusVehicleType"> + <xs:complexContent> + <xs:extension base="Abstract_HEV_CompletedBusVehicleType"> + <xs:sequence> + <xs:group ref="HEVCompletedBusVehicleTypeGroup"/> + <xs:group ref="HEV_CompletedBusArchitectureGroup"/> + <xs:element name="ADAS" type="HEVADASType"/> + <xs:group ref="EngineGroup"/> + <xs:group ref="ElectricMachineGroup"/> + <xs:group ref="REESSGroup"/> + <xs:element name="NrOfGears" type="xs:int"/> + <xs:element name="Retarder" type="xs:boolean"/> + <xs:element name="AxleRatio" type="v1.0:AxlegearRatioType" minOccurs="0"/> + <xs:group ref="AxleWheelsGroup"/> + <xs:group ref="HEV_Sx_CompletedBusAuxGroup"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="PEV_E2_CompletedBusVehicleType"> + <xs:complexContent> + <xs:extension base="Abstract_PEV_CompletedBusVehicleType"> + <xs:sequence> + <xs:group ref="PEVCompletedBusVehicleTypeGroup"/> + <xs:group ref="PEV_CompletedBusArchitectureGroup"/> + <xs:element name="ADAS" type="PEVADASType"/> + <xs:group ref="ElectricMachineGroup"/> + <xs:group ref="REESSGroup"/> + <xs:group ref="TransmissionGroup"/> + <xs:element name="Retarder" type="xs:boolean"/> + <xs:element name="AxleRatio" type="v1.0:AxlegearRatioType"/> + <xs:group ref="AxleWheelsGroup"/> + <xs:group ref="PEV_CompletedBusAuxGroup"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="PEV_E3_CompletedBusVehicleType"> + <xs:complexContent> + <xs:extension base="Abstract_PEV_CompletedBusVehicleType"> + <xs:sequence> + <xs:group ref="PEVCompletedBusVehicleTypeGroup"/> + <xs:group ref="PEV_CompletedBusArchitectureGroup"/> + <xs:element name="ADAS" type="PEVADASType"/> + <xs:group ref="ElectricMachineGroup"/> + <xs:group ref="REESSGroup"/> + <xs:element name="NrOfGears" type="xs:int"/> + <xs:element name="Retarder" type="xs:boolean"/> + <xs:element name="AxleRatio" type="v1.0:AxlegearRatioType"/> + <xs:group ref="AxleWheelsGroup"/> + <xs:group ref="PEV_CompletedBusAuxGroup"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="PEV_E4_CompletedBusVehicleType"> + <xs:complexContent> + <xs:extension base="Abstract_PEV_CompletedBusVehicleType"> + <xs:sequence> + <xs:group ref="PEVCompletedBusVehicleTypeGroup"/> + <xs:group ref="PEV_CompletedBusArchitectureGroup"/> + <xs:element name="ADAS" type="PEVADASType"/> + <xs:group ref="ElectricMachineGroup"/> + <xs:group ref="REESSGroup"/> + <xs:element name="NrOfGears" type="xs:int"/> + <xs:group ref="AxleWheelsGroup"/> + <xs:group ref="PEV_CompletedBusAuxGroup"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="PEV_IEPC_CompletedBusVehicleType"> + <xs:complexContent> + <xs:extension base="Abstract_PEV_CompletedBusVehicleType"> + <xs:sequence> + <xs:group ref="PEVCompletedBusVehicleTypeGroup"/> + <xs:group ref="PEV_CompletedBusArchitectureGroup"/> + <xs:element name="ADAS" type="PEVADASType"/> + <xs:group ref="ElectricMachineGroup"/> + <xs:group ref="REESSGroup"/> + <xs:element name="NrOfGears" type="xs:int"/> + <xs:element name="Retarder" type="xs:boolean"/> + <xs:element name="AxleRatio" type="v1.0:AxlegearRatioType" minOccurs="0"/> + <xs:group ref="AxleWheelsGroup"/> + <xs:group ref="PEV_CompletedBusAuxGroup"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> </xs:complexType> <xs:complexType name="Exempted_LorryVehicleType"> <xs:sequence> <xs:group ref="GeneralVehicleSequenceGroup"/> - <xs:element name="VehicleGroupCO2"/> <xs:element name="Manufacturer"/> <xs:element name="ManufacturerAddress"/> <xs:element name="Model"/> @@ -651,7 +825,7 @@ </xs:complexType> <xs:complexType name="Exempted_CompletedBusVehicleType"> <xs:sequence> - <xs:group ref="CompletedBusVehicleTypeGroup"/> + <xs:group ref="HEVCompletedBusVehicleTypeGroup"/> </xs:sequence> </xs:complexType> <xs:simpleType name="RatedPowerType"> @@ -675,11 +849,11 @@ </xs:complexType> </xs:element> <xs:element name="VehicleGroup" type="xs:string"/> + <xs:element name="VehicleGroupCO2" type="xs:string"/> </xs:sequence> </xs:group> <xs:group name="LorryGeneralVehicleSequenceGroup"> <xs:sequence> - <xs:element name="VehicleGroupCO2"/> <xs:element name="Manufacturer" type="v1.0:ManufacturerType"/> <xs:element name="ManufacturerAddress" type="v1.0:ManufacturerAddressType"/> <xs:element name="Model" type="v1.0:ModelType"/> @@ -699,7 +873,7 @@ <xs:element name="HybridElectricHDV" type="v1.0:HybridElectricHDVType"/> </xs:sequence> </xs:group> - <xs:group name="Conventional_LorryVehicleSequenceGroup"> + <xs:group name="WHR_DualFuelSequenceGroup"> <xs:sequence> <xs:element name="WasteHeatRecovery" type="xs:boolean"/> <xs:element name="DualFuelVehicle" type="xs:boolean"/> @@ -707,14 +881,14 @@ </xs:group> <xs:group name="HEV_VehicleSequenceGroup"> <xs:sequence> - <xs:group ref="Conventional_LorryVehicleSequenceGroup"/> + <xs:group ref="WHR_DualFuelSequenceGroup"/> <xs:element name="HEVArchitecture"/> <xs:element name="OffVehicleChargingCapability" type="xs:boolean"/> <xs:element name="OffVehicleChargingMaxPower" minOccurs="0"> <xs:complexType> <xs:simpleContent> - <xs:extension base="xs:int"> - <xs:attribute name="unit" type="out:PowerUnitType" use="required"/> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="PowerUnitType" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> @@ -725,7 +899,11 @@ <xs:sequence> <xs:element name="PEVArchitecture"/> <xs:element name="OffVehicleChargingCapability"/> - <xs:element name="OffVehicleChargingMaxPower" minOccurs="0"/> + <xs:element name="OffVehicleChargingMaxPower" minOccurs="0"> + <xs:complexType> + <xs:attribute name="unit" type="PowerUnitType" use="required"/> + </xs:complexType> + </xs:element> </xs:sequence> </xs:group> <xs:group name="HEV_LorryVehicleTypeGroup"> @@ -742,7 +920,7 @@ <xs:group ref="PEV_VehicleSequenceGroup"/> </xs:sequence> </xs:group> - <xs:group name="CompletedBusVehicleTypeGroup"> + <xs:group name="ConventionalCompletedBusVehicleTypeGroup"> <xs:sequence> <xs:group ref="GeneralVehicleSequenceGroup"/> <xs:sequence> @@ -762,13 +940,78 @@ </xs:complexType> </xs:element> </xs:sequence> + <xs:element name="Model" type="xs:string"/> <xs:sequence> - <xs:element name="CorrectedActualMass"/> - <xs:element name="ZeroEmissionVehicle"/> - <xs:element name="HybridElectricHDV"/> - <xs:element name="ClassBus"/> - <xs:element name="TotalNumberOfPassengers"/> - <xs:element name="VehicleTypeApprovalNumber" minOccurs="0"/> + <xs:element name="CorrectedActualMass" type="xs:int"/> + <xs:element name="ZeroEmissionVehicle" type="xs:boolean"/> + <xs:element name="HybridElectricHDV" type="xs:boolean"/> + <xs:group ref="WHR_DualFuelSequenceGroup"/> + <xs:element name="ClassBus" type="xs:string"/> + <xs:element name="TotalNumberOfPassengers" type="xs:int"/> + <xs:element name="VehicleTypeApprovalNumber" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:sequence> + </xs:group> + <xs:group name="HEVCompletedBusVehicleTypeGroup"> + <xs:sequence> + <xs:group ref="GeneralVehicleSequenceGroup"/> + <xs:sequence> + <xs:element name="Manufacturers"> + <xs:complexType> + <xs:sequence maxOccurs="unbounded"> + <xs:element name="Step"> + <xs:complexType> + <xs:sequence> + <xs:element name="Manufacturer"/> + <xs:element name="ManufacturerAddress"/> + </xs:sequence> + <xs:attribute name="stepCount" type="xs:int"/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:element name="Model" type="xs:string"/> + <xs:sequence> + <xs:element name="CorrectedActualMass" type="xs:int"/> + <xs:element name="ZeroEmissionVehicle" type="xs:boolean"/> + <xs:element name="HybridElectricHDV" type="xs:boolean"/> + <xs:group ref="WHR_DualFuelSequenceGroup"/> + <xs:element name="ClassBus" type="xs:string"/> + <xs:element name="TotalNumberOfPassengers" type="xs:int"/> + <xs:element name="VehicleTypeApprovalNumber" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:sequence> + </xs:group> + <xs:group name="PEVCompletedBusVehicleTypeGroup"> + <xs:sequence> + <xs:group ref="GeneralVehicleSequenceGroup"/> + <xs:sequence> + <xs:element name="Manufacturers"> + <xs:complexType> + <xs:sequence maxOccurs="unbounded"> + <xs:element name="Step"> + <xs:complexType> + <xs:sequence> + <xs:element name="Manufacturer"/> + <xs:element name="ManufacturerAddress"/> + </xs:sequence> + <xs:attribute name="stepCount" type="xs:int"/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:element name="Model" type="xs:string"/> + <xs:sequence> + <xs:element name="CorrectedActualMass" type="xs:int"/> + <xs:element name="ZeroEmissionVehicle" type="xs:boolean"/> + <xs:element name="HybridElectricHDV" type="xs:boolean"/> + <xs:element name="ClassBus" type="xs:string"/> + <xs:element name="TotalNumberOfPassengers" type="xs:int"/> + <xs:element name="VehicleTypeApprovalNumber" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:sequence> </xs:group> @@ -808,8 +1051,8 @@ </xs:group> <xs:group name="TransmissionGroup"> <xs:sequence> - <xs:element name="TransmissionValues"/> - <xs:element name="TransmissionType" type="v1.0:GearboxTransmissionTypeType"/> + <xs:element name="TransmissionValues" type="xs:string"/> + <xs:element name="TransmissionType" type="v2.3:GearboxTransmissionTypeType"/> <xs:element name="NrOfGears" type="xs:int"/> </xs:sequence> </xs:group> @@ -820,7 +1063,7 @@ <xs:complexType> <xs:sequence> <xs:element name="TyreDimension" type="v2.3:TyreDimensionType"/> - <xs:element name="FuelEfficiencyClass"/> + <xs:element name="FuelEfficiencyClass" type="xs:string"/> <xs:element name="TyreCertificationNumber" type="v1.0:CertificationNumberType"/> </xs:sequence> <xs:attribute name="axleNumber"/> @@ -861,7 +1104,7 @@ <xs:complexType> <xs:simpleContent> <xs:extension base="xs:int"> - <xs:attribute name="unit" type="out:StorageCapacityUnitType" use="required"/> + <xs:attribute name="unit" type="EnergyUnitType" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> @@ -870,7 +1113,7 @@ <xs:complexType> <xs:simpleContent> <xs:extension base="xs:int"> - <xs:attribute name="unit" type="out:StorageCapacityUnitType" use="required"/> + <xs:attribute name="unit" type="EnergyUnitType" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> @@ -882,14 +1125,196 @@ <xs:element name="SteeringPumpTechnology" type="v2.4:AuxSPTechnologyLorryType"/> </xs:sequence> </xs:group> - <xs:group name="CompletedBusAuxGroup"> + <xs:group name="ConventionalCompletedBusAuxGroup"> <xs:sequence> + <xs:element name="SteeringPumpTechnology" type="v2.4:AuxSPTechnologyLorryType"/> + <xs:element name="ElectricSystem"> + <xs:complexType> + <xs:sequence> + <xs:element name="AlternatorTechnology"/> + <xs:sequence minOccurs="0"> + <xs:element name="MaxAlternatorPower"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:int"> + <xs:attribute name="unit" type="PowerUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="ElectricStorageCapacity"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:int"> + <xs:attribute name="unit" type="EnergyUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="PneumaticSystem"> + <xs:complexType> + <xs:sequence> + <xs:element name="SmartCompressionSystem" type="xs:boolean"/> + <xs:element name="SmartRegenerationSystem" type="xs:boolean"/> + </xs:sequence> + </xs:complexType> + </xs:element> <xs:element name="HVAC"> <xs:complexType> <xs:sequence> - <xs:element name="SystemConfiguration"/> - <xs:element name="AuxiliaryHeaterPower"/> - <xs:element name="DoubleGlazing"/> + <xs:element name="SystemConfiguration" type="xs:int"/> + <xs:element name="AuxiliaryHeaterPower"> + <xs:complexType> + <xs:attribute name="unit" type="PowerUnitType" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="DoubleGlazing" type="xs:boolean"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:group> + <xs:group name="HEV_Px_IHPC_CompletedBusAuxGroup"> + <xs:sequence> + <xs:element name="SteeringPumpTechnology" type="v2.4:AuxSPTechnologyLorryType"/> + <xs:element name="ElectricSystem"> + <xs:complexType> + <xs:sequence> + <xs:element name="AlternatorTechnology"/> + <xs:sequence minOccurs="0"> + <xs:element name="MaxAlternatorPower"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:int"> + <xs:attribute name="unit" type="PowerUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="ElectricStorageCapacity"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:int"> + <xs:attribute name="unit" type="EnergyUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="PneumaticSystem"> + <xs:complexType> + <xs:sequence> + <xs:element name="SmartCompressionSystem" type="xs:boolean"/> + <xs:element name="SmartRegenerationSystem" type="xs:boolean"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="HVAC"> + <xs:complexType> + <xs:sequence> + <xs:element name="SystemConfiguration" type="xs:int"/> + <xs:element name="AuxiliaryHeaterPower"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:int"> + <xs:attribute name="unit" type="PowerUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="DoubleGlazing" type="xs:boolean"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:group> + <xs:group name="HEV_Sx_CompletedBusAuxGroup"> + <xs:sequence> + <xs:element name="SteeringPumpTechnology" type="v2.4:AuxSPTechnologyLorryType"/> + <xs:element name="ElectricSystem"> + <xs:complexType> + <xs:sequence> + <xs:element name="AlternatorTechnology"/> + <xs:sequence minOccurs="0"> + <xs:element name="MaxAlternatorPower"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:int"> + <xs:attribute name="unit" type="PowerUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="ElectricStorageCapacity"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:int"> + <xs:attribute name="unit" type="EnergyUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="PneumaticSystem"> + <xs:complexType> + <xs:sequence> + <xs:element name="SmartRegenerationSystem" type="xs:boolean"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="HVAC"> + <xs:complexType> + <xs:sequence> + <xs:element name="SystemConfiguration" type="xs:int"/> + <xs:element name="AuxiliaryHeaterPower"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:int"> + <xs:attribute name="unit" type="PowerUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="DoubleGlazing" type="xs:boolean"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:group> + <xs:group name="PEV_CompletedBusAuxGroup"> + <xs:sequence> + <xs:element name="SteeringPumpTechnology" type="v2.4:AuxSPTechnologyLorryType"/> + <xs:element name="PneumaticSystem"> + <xs:complexType> + <xs:sequence> + <xs:element name="SmartRegenerationSystem" type="xs:boolean"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="HVAC"> + <xs:complexType> + <xs:sequence> + <xs:element name="SystemConfiguration" type="xs:int"/> + <xs:element name="AuxiliaryHeaterPower"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:int"> + <xs:attribute name="unit" type="PowerUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="DoubleGlazing" type="xs:boolean"/> </xs:sequence> </xs:complexType> </xs:element> @@ -1207,6 +1632,17 @@ <xs:enumeration value="km"/> </xs:restriction> </xs:simpleType> + <xs:simpleType name="PowerUnitType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="kW"/> + <xs:enumeration value="W"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="EnergyUnitType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="kWh"/> + </xs:restriction> + </xs:simpleType> <xs:simpleType name="EnergyConsumptionUnitType"> <xs:restriction base="xs:string"> <xs:enumeration value="kWh/km"/> @@ -1448,4 +1884,36 @@ <xs:element name="PredictiveCruiseControl" type="xs:boolean"/> </xs:sequence> </xs:group> + <xs:group name="HEV_CompletedBusArchitectureGroup"> + <xs:sequence> + <xs:element name="HEVArchitecture" type="xs:string"/> + <xs:element name="OffVehicleChargingCapability" type="xs:boolean"/> + <xs:element name="OffVehicleChargingMaxPower" minOccurs="0"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="PowerUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:group> + <xs:group name="PEV_CompletedBusArchitectureGroup"> + <xs:sequence> + <xs:element name="PEVArchitecture" type="xs:string"/> + <xs:element name="OffVehicleChargingCapability" type="xs:boolean"/> + <xs:element name="OffVehicleChargingMaxPower" minOccurs="0"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="PowerUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:group> + <xs:complexType name="Abstract_HEV_CompletedBusVehicleType" abstract="true"/> + <xs:complexType name="Abstract_PEV_CompletedBusVehicleType" abstract="true"/> </xs:schema> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.9.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.9.xsd index 0d9bd65c52..e706ecd5c7 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.9.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.9.xsd @@ -15,6 +15,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:Conventional-LorryVehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -42,6 +43,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:HEV-Px_IHPC-LorryVehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -69,6 +71,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:HEV-S2-LorryVehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -96,6 +99,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:HEV-S3-LorryVehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -123,6 +127,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:HEV-S4-LorryVehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -150,6 +155,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:HEV-IEPC-S-LorryVehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -177,6 +183,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:PEV-E2-LorryVehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -204,6 +211,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:PEV-E3-LorryVehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -231,6 +239,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:PEV-E4-LorryVehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -258,6 +267,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:PEV-IEPC-LorryVehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -285,6 +295,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:Conventional-PrimaryBus-VehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -312,6 +323,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:HEV-Px_IHPC-PrimaryBus-VehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -339,6 +351,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:HEV-S2-PrimaryBus-VehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -366,6 +379,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:HEV-S3-PrimaryBus-VehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -393,6 +407,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:HEV-S4-PrimaryBus-VehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -420,6 +435,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:HEV-IEPC-S-PrimaryBus-VehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -447,6 +463,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:PEV-E2-PrimaryBus-VehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -474,6 +491,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:PEV-E3-PrimaryBus-VehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -501,6 +519,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:PEV-E4-PrimaryBus-VehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -528,6 +547,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:PEV-IEPC-PrimaryBus-VehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -555,6 +575,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:Conventional-CompletedBusVehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -582,6 +603,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:HEV-CompletedBusVehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -609,6 +631,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:PEV-CompletedBusVehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -636,6 +659,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:Exempted-LorryVehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -663,6 +687,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:Exempted-PrimaryBusVehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -690,6 +715,7 @@ <xs:extension base="out:AbstractVectoOutputManufacturerDataType"> <xs:sequence> <xs:element name="Vehicle" type="mrf:Exempted-CompletedBusVehicleOutputType"/> + <xs:element name="InputDataSignature" type="v1.0:SignatureType"/> <xs:element name="Results" type="mrf:ResultsType"/> <xs:element name="ApplicationInformation"> <xs:complexType> @@ -750,7 +776,15 @@ </xs:annotation> <xs:sequence> <xs:element name="OffVehicleChargingCapability" type="xs:boolean"/> - <xs:element name="OffVehicleChargingMaxPower" type="xs:int" minOccurs="0"/> + <xs:element name="OffVehicleChargingMaxPower" minOccurs="0"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="mrf:PowerUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> </xs:sequence> </xs:group> <xs:group name="ManufacturerGroup"> @@ -899,7 +933,7 @@ <xs:complexType name="HEV-Px_IHPC-LorryVehicleOutputType"> <xs:sequence> <xs:group ref="mrf:HEV-LorryVehicleOutputTypeGroup"/> - <xs:element name="EngineTorqueLimitations" type="mrf:EngineTorqueLimitsType"/> + <xs:element name="EngineTorqueLimitations" type="mrf:EngineTorqueLimitsType" minOccurs="0"/> <xs:element name="Components" type="mrf:HEV-Px_IHPC-LorryComponentsType"/> </xs:sequence> </xs:complexType> @@ -1343,14 +1377,14 @@ <xs:complexType name="AbstractREESSType" abstract="true"/> <xs:complexType name="REESSSpecificationsType"> <xs:sequence> - <xs:sequence> + <xs:choice> <xs:sequence maxOccurs="unbounded"> <xs:element name="Battery" type="mrf:BatteryType"/> </xs:sequence> - <xs:sequence minOccurs="0" maxOccurs="unbounded"> - <xs:element name="SuperCap" type="mrf:CapacitorType"/> + <xs:sequence> + <xs:element name="Capacitor" type="mrf:CapacitorType"/> </xs:sequence> - </xs:sequence> + </xs:choice> </xs:sequence> </xs:complexType> <xs:complexType name="CapacitorType"> @@ -1379,8 +1413,24 @@ <xs:sequence> <xs:group ref="mrf:ComponentCommonOutputGroup"/> <xs:element name="NominalVoltage" type="xs:int"/> - <xs:element name="TotalStorageCapacity" type="xs:int"/> - <xs:element name="TotalUsableCapacityInSimulation" type="xs:int"/> + <xs:element name="TotalStorageCapacity"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:int"> + <xs:attribute name="unit" type="mrf:EnergyUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="TotalUsableCapacityInSimulation"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:int"> + <xs:attribute name="unit" type="mrf:EnergyUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> <xs:element name="CertificationMethod"/> </xs:sequence> </xs:group> @@ -1557,9 +1607,6 @@ <xs:element name="CertificationMethod"/> </xs:sequence> </xs:group> - <xs:group name="EngineTorqueLimitationsGroup"> - <xs:sequence/> - </xs:group> <!--Axles--> <xs:complexType name="AxleGearType"> <xs:sequence> @@ -1640,7 +1687,7 @@ <xs:complexType name="TransmissionType"> <xs:sequence> <xs:group ref="mrf:ComponentCommonOutputGroup"/> - <xs:element name="Type" type="v1.0:GearboxTransmissionTypeType"/> + <xs:element name="Type" type="v2.3:GearboxTransmissionTypeType"/> <xs:element name="NrOfGears" type="xs:int"/> <xs:element name="FinalGearRatio" type="v1.0:GearboxGearRatioType"/> <xs:element name="RetarderType" type="v1.0:RetarderTypeType"/> @@ -1654,6 +1701,7 @@ <xs:simpleContent> <xs:extension base="xs:int"> <xs:attribute name="Gear" type="xs:int" use="required"/> + <xs:attribute name="unit" type="mrf:PercentType" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> @@ -2234,6 +2282,11 @@ <xs:enumeration value="W"/> </xs:restriction> </xs:simpleType> + <xs:simpleType name="EnergyUnitType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="kWh"/> + </xs:restriction> + </xs:simpleType> <xs:simpleType name="SpeedUnitType"> <xs:restriction base="xs:token"> <xs:enumeration value="km/h"/> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputMultistep.0.1.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputMultistep.0.1.xsd index 59dc7bd5c2..d13e58a557 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoOutputMultistep.0.1.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputMultistep.0.1.xsd @@ -163,11 +163,7 @@ </xs:element> </xs:sequence> </xs:group> - <xs:complexType name="AbstractADCDataDeclarationType" abstract="true"> - <xs:complexContent> - <xs:extension base="v1.0:AbstractAngledriveDataDeclarationType"/> - </xs:complexContent> - </xs:complexType> + <xs:complexType name="AbstractADCDataDeclarationType" abstract="true"/> <xs:complexType name="AbstractAngledriveDataVIFType" abstract="true"/> <xs:complexType name="AbstractAuxiliaryDataVIFType" abstract="true"/> <xs:complexType name="AbstractAxlegearDataVIFType" abstract="true"/> @@ -201,7 +197,6 @@ <xs:complexType name="ADCComponentDeclarationType"> <xs:sequence> <xs:element name="Data" type="vif:AbstractADCDataDeclarationType"/> - <xs:element name="Signature" type="v2.0:SignatureType"/> </xs:sequence> </xs:complexType> <xs:complexType name="ADCDataDeclarationType"> @@ -243,13 +238,6 @@ <xs:documentation>P258 - enum</xs:documentation> </xs:annotation> </xs:element> - <xs:element name="TorqueLossMap"> - <xs:complexType> - <xs:sequence minOccurs="4" maxOccurs="unbounded"> - <xs:element name="Entry" type="v2.0:AngledriveLossMapEntryType"/> - </xs:sequence> - </xs:complexType> - </xs:element> </xs:sequence> </xs:extension> </xs:complexContent> @@ -1559,11 +1547,15 @@ <xs:complexType name="ElectricMachineSystemType"> <xs:sequence> <xs:element name="Data" type="vif:AbstractElectricMachineSystemDataType"/> - <xs:element name="Signature" type="v2.0:SignatureType"/> </xs:sequence> </xs:complexType> <xs:complexType name="ElectricMachineType"> <xs:sequence> + <xs:element name="PowertrainPosition" type="v2.4:PowertrainPositionDriveType"> + <xs:annotation> + <xs:documentation>P403 - enum</xs:documentation> + </xs:annotation> + </xs:element> <xs:element name="Count"> <xs:annotation> <xs:documentation>P404 - [-]</xs:documentation> @@ -1594,11 +1586,6 @@ </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="PowertrainPosition" type="v2.4:PowertrainPositionDriveType"> - <xs:annotation> - <xs:documentation>P403 - enum</xs:documentation> - </xs:annotation> - </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="EnergyConsumptionType"> diff --git a/VectoCore/VectoCore/Utils/XMLHelper.cs b/VectoCore/VectoCore/Utils/XMLHelper.cs index baedeb0926..c774e82a75 100644 --- a/VectoCore/VectoCore/Utils/XMLHelper.cs +++ b/VectoCore/VectoCore/Utils/XMLHelper.cs @@ -97,6 +97,18 @@ namespace TUGraz.VectoCore.Utils throw new NotImplementedException($"unknown unit '{unit}'"); } + public static object[] ValueAsUnit(this WattSecond energy, string unit, uint? decimals = 0) + { + switch (unit) { + case "kWh": + return GetValueAsUnit(energy?.ConvertToKiloWattHour(), unit, decimals); + case "Wh": + return GetValueAsUnit(energy?.ConvertToWattHour(), unit, decimals); + } + + throw new NotImplementedException($"unknown unit '{unit}'"); + } + public static object[] ValueAsUnit(this AmpereSecond capacity, string unit, uint? decimals = 0) { switch (unit) @@ -159,7 +171,7 @@ namespace TUGraz.VectoCore.Utils throw new NotImplementedException($"unknown unit '{unit}'"); } - public static object[] ValueAsUnit(double value, string unit, uint? decimals) + public static object[] ValueAsUnit(this double value, string unit, uint? decimals) { switch (unit) { case "%": return GetValueAsUnit(value * 100, unit, decimals); @@ -167,7 +179,7 @@ namespace TUGraz.VectoCore.Utils } } - private static object[] GetValueAsUnit(double? value, string unit, uint? decimals) + private static object[] GetValueAsUnit(this double? value, string unit, uint? decimals) { if (value == null) { return new object[0]; -- GitLab