diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd index 5139564d46b6959e0e8909446fdc4c044d91446d..1bdecb2a9f267b9de59d9fcc7373285323e44c42 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- edited with XMLSpy v2016 rel. 2 sp1 (x64) (http://www.altova.com) by Helmut Eichlseder (TU Graz/Inst. f. VKM und THD) --> +<!-- edited with XMLSpy v2021 (x64) (http://www.altova.com) by Markus Quaritsch (Technische Universität Graz) --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.9" xmlns:out="urn:tugraz:ivt:VectoAPI:DeclarationOutputDefinitions" xmlns:mrf="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.9" xmlns:dd="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.3" xmlns:v2.4="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.4" targetNamespace="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.9" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" schemaLocation="VectoDeclarationDefinitions.1.0.xsd"/> <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" schemaLocation="VectoDeclarationDefinitions.2.0.xsd"/> @@ -129,7 +129,6 @@ <xs:element name="Retarder"/> <xs:element name="AxleRatio"/> <xs:group ref="AxleWheelsGroup"/> - <xs:group ref="LorryAuxGroup"/> </xs:sequence> </xs:complexType> @@ -506,4 +505,522 @@ </xs:element> </xs:sequence> </xs:group> + <!--Results--> + <xs:element name="VectoMockResults"> + <xs:annotation> + <xs:documentation>This element is just for developing the XML Schema of the different types of results - can be removed later on</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="Results" type="ResultsType"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:complexType name="ResultsType"> + <xs:sequence> + <xs:element name="Status"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="success"/> + <xs:enumeration value="error"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:choice> + <xs:sequence> + <xs:element name="Result" type="AbstractResultType" maxOccurs="unbounded"/> + <xs:element name="Summary" type="AbstractResultSummaryType"/> + </xs:sequence> + <xs:element name="ExemptedVehicle"> + <xs:complexType/> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:complexType name="AbstractResultType" abstract="true"> + <xs:attribute name="status" use="required"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="success"/> + <xs:enumeration value="error"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + <xs:complexType name="ResultSuccessOCVHEVType"> + <xs:complexContent> + <xs:extension base="AbstractResultType"> + <xs:sequence> + <xs:group ref="ResultSuccessSimulationParametersGroup"/> + <xs:element name="OCVMode" minOccurs="2" maxOccurs="2"> + <xs:complexType> + <xs:sequence> + <xs:element name="AverageSpeed"> + <xs:annotation> + <xs:documentation>I.2.2.1 / #60</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="SpeedUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Fuel" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="FuelConsumption" type="FuelConsumptionType" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>I.2.3.1 - I.2.3.12 / #69</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:attribute name="type" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="ElectricEnergy" type="ElectricEnergyType" minOccurs="0"/> + <xs:element name="CO2" type="CO2Type" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>I.2.3.13 - I.2.3.16 / #68</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:attribute name="type" use="required"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="charge depleting"/> + <xs:enumeration value="charge sustaining"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + <xs:element name="Total"> + <xs:complexType> + <xs:sequence> + <xs:element name="AverageSpeed"> + <xs:annotation> + <xs:documentation>I.2.2.1 / #60</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="SpeedUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Fuel" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="FuelConsumption" type="FuelConsumptionType" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>I.2.3.1 - I.2.3.12 / #69</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:attribute name="type" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="ElectricEnergy" type="ElectricEnergyType"/> + <xs:element name="CO2" type="CO2Type" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>I.2.3.13 - I.2.3.16 / #68</xs:documentation> + </xs:annotation> + </xs:element> + <xs:group ref="ElectricRangeSequenceGroup"/> + <xs:element name="UtilityFactor" type="xs:double"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="ResultSuccessPEVType"> + <xs:complexContent> + <xs:extension base="AbstractResultType"> + <xs:sequence> + <xs:group ref="ResultSuccessSimulationParametersGroup"/> + <xs:element name="Total"> + <xs:complexType> + <xs:sequence> + <xs:element name="AverageSpeed"> + <xs:annotation> + <xs:documentation>I.2.2.1 / #60</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="SpeedUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="ElectricEnergy" type="ElectricEnergyType"/> + <xs:sequence minOccurs="0"> + <xs:element name="FC_ZEV_AuxHeater"> + <xs:complexType> + <xs:sequence> + <xs:element name="FuelConsumption" type="FuelConsumptionType" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>I.2.3.1 - I.2.3.12 / #69</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:attribute name="type" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="CO2_ZEV_AuxHeater"> + <xs:complexType> + <xs:sequence> + <xs:element name="CO2" type="CO2Type" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>I.2.3.13 - I.2.3.16 / #68</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:group ref="ElectricRangeSequenceGroup"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="ResultSuccessConventionalType"> + <xs:complexContent> + <xs:extension base="AbstractResultType"> + <xs:sequence> + <xs:group ref="ResultSuccessSimulationParametersGroup"/> + <xs:element name="Total"> + <xs:complexType> + <xs:sequence> + <xs:element name="AverageSpeed"> + <xs:annotation> + <xs:documentation>I.2.2.1 / #60</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="SpeedUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Fuel" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="FuelConsumption" type="FuelConsumptionType" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>I.2.3.1 - I.2.3.12 / #69</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:attribute name="type" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="CO2" type="CO2Type" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>I.2.3.13 - I.2.3.16 / #68</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="ResultSuccessNonOCVHEVType"> + <xs:complexContent> + <xs:extension base="ResultSuccessConventionalType"/> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="ResultErrorType"> + <xs:complexContent> + <xs:extension base="AbstractResultType"> + <xs:sequence> + <xs:element name="Mission" type="MissionTypeType"> + <xs:annotation> + <xs:documentation>I.2.1.1 / #56</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="SimulationParameters" type="SimulationParametersType"/> + <xs:element name="Error" type="xs:string"/> + <xs:element name="ErrorDetails" type="xs:string"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="SimulationParametersType"> + <xs:sequence> + <xs:element name="TotalVehicleMass"> + <xs:annotation> + <xs:documentation>I.2.1.4 / #59</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="MassUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:choice> + <xs:sequence> + <xs:element name="Payload"> + <xs:annotation> + <xs:documentation>I.2.1.2 / #57</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="MassUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:sequence> + <xs:element name="MassPassengers"> + <xs:annotation> + <xs:documentation>I.2.1.2 / #57</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="MassUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="PassengerCount" type="xs:double"/> + </xs:sequence> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="CO2UnitType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="g/km"/> + <xs:enumeration value="g/t-km"/> + <xs:enumeration value="g/p-km"/> + <xs:enumeration value="g/m³-km"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="DistanceUnitType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="km"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="EnergyConsumptionUnitType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="kWh/km"/> + <xs:enumeration value="kWh/t-km"/> + <xs:enumeration value="kWh/m³-km"/> + <xs:enumeration value="kWh/p-km"/> + <xs:enumeration value="MJ/km"/> + <xs:enumeration value="MJ/t-km"/> + <xs:enumeration value="MJ/m³-km"/> + <xs:enumeration value="MJ/p-km"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="FuelConsumptionUnitType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="g/km"/> + <xs:enumeration value="g/t-km"/> + <xs:enumeration value="g/p-km"/> + <xs:enumeration value="g/m³-km"/> + <xs:enumeration value="l/100km"/> + <xs:enumeration value="l/t-km"/> + <xs:enumeration value="l/p-km"/> + <xs:enumeration value="l/m³-km"/> + <xs:enumeration value="MJ/km"/> + <xs:enumeration value="MJ/t-km"/> + <xs:enumeration value="MJ/m³-km"/> + <xs:enumeration value="MJ/p-km"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="MassUnitType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="kg"/> + <xs:enumeration value="t"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="PercentType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="%"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="SpeedUnitType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="km/h"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="MissionTypeType"> + <xs:restriction base="xs:token"> + <xs:minLength value="1"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="FuelConsumptionType"> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="FuelConsumptionUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:complexType name="CO2Type"> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="CO2UnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:group name="ResultSuccessSimulationParametersGroup"> + <xs:sequence> + <xs:element name="Mission" type="MissionTypeType"/> + <xs:element name="SimulationParameters" type="SimulationParametersType"/> + </xs:sequence> + </xs:group> + <xs:complexType name="EnergyConsumptionType"> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="EnergyConsumptionUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:complexType name="FuelType"/> + <xs:complexType name="ElectricEnergyType"> + <xs:sequence> + <xs:element name="EnergyConsumption" type="EnergyConsumptionType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + <xs:group name="ElectricRangeSequenceGroup"> + <xs:sequence> + <xs:element name="ActualChargeDepletingRange"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="DistanceUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="EquivalentAllElectricRange"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="DistanceUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="ZeroCO2EmissionsRange"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="DistanceUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:group> + <xs:complexType name="AbstractResultSummaryType" abstract="true"/> + <xs:complexType name="ResultSummaryOCVHEVType"> + <xs:complexContent> + <xs:extension base="AbstractResultSummaryType"> + <xs:sequence> + <xs:element name="Fuel" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="FuelConsumption" type="FuelConsumptionType" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>I.2.3.1 - I.2.3.12 / #69</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:attribute name="type" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="ElectricEnergy" type="ElectricEnergyType"/> + <xs:element name="CO2" type="CO2Type" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>I.2.3.13 - I.2.3.16 / #68</xs:documentation> + </xs:annotation> + </xs:element> + <xs:group ref="ElectricRangeSequenceGroup"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="ResultSummaryPEVType"> + <xs:complexContent> + <xs:extension base="AbstractResultSummaryType"> + <xs:sequence> + <xs:element name="ElectricEnergy" type="ElectricEnergyType"/> + <xs:sequence minOccurs="0"> + <xs:element name="FC_ZEV_AuxHeater"> + <xs:complexType> + <xs:sequence> + <xs:element name="FuelConsumption" type="FuelConsumptionType" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>I.2.3.1 - I.2.3.12 / #69</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:attribute name="type" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="CO2_ZEV_AuxHeater"> + <xs:complexType> + <xs:sequence> + <xs:element name="CO2" type="CO2Type" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>I.2.3.13 - I.2.3.16 / #68</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:group ref="ElectricRangeSequenceGroup"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="ResultSummaryConventionalType"> + <xs:complexContent> + <xs:extension base="AbstractResultSummaryType"> + <xs:sequence> + <xs:element name="Fuel" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="FuelConsumption" type="FuelConsumptionType" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>I.2.3.1 - I.2.3.12 / #69</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:attribute name="type" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="CO2" type="CO2Type" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>I.2.3.13 - I.2.3.16 / #68</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="ResultSummaryNonOCVHEVType"> + <xs:complexContent> + <xs:extension base="ResultSummaryConventionalType"/> + </xs:complexContent> + </xs:complexType> </xs:schema> diff --git a/VectoCore/VectoXML.spp b/VectoCore/VectoXML.spp index 9da025e07e46ccbe690776112e31b11aa9a6e033..21e33376d1a6005239f08d9e973345c178673b5f 100644 --- a/VectoCore/VectoXML.spp +++ b/VectoCore/VectoXML.spp @@ -550,6 +550,7 @@ <File FilePath="VectoCore\Resources\XSD\VectoOutputCustomer.0.7.1.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoOutputCustomer.0.7.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoOutputCustomer.0.8.xsd" HomeFolder="Yes"/> + <File FilePath="VectoCore\Resources\XSD\VectoOutputCustomer.0.9.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoOutputCustomer.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoOutputDefinitions.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoOutputManufacturer.0.5.xsd" HomeFolder="Yes"/>