From fc10707de6ffaf35c0a2fa83e20323ef00aba42e Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Fri, 17 Apr 2020 14:11:27 +0200 Subject: [PATCH] update CIF and MRF xsd to match new draft of technical annex --- .../Resources/XSD/VectoOutputCustomer.0.8.xsd | 439 ++++++++++++++++-- .../XSD/VectoOutputManufacturer.0.8.xsd | 370 ++++++++++----- 2 files changed, 629 insertions(+), 180 deletions(-) diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.8.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.8.xsd index 913fd65484..2910ced337 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.8.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.8.xsd @@ -4,6 +4,7 @@ <xs:schema xmlns="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.8" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" xmlns:out="urn:tugraz:ivt:VectoAPI:DeclarationOutputDefinitions" targetNamespace="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.8" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.8"> <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationOutputDefinitions" schemaLocation="VectoOutputDefinitions.xsd"/> <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" schemaLocation="VectoDeclarationDefinitions.1.0.xsd"/> + <xs:complexType name="AbstractVehicleType" abstract="true"/> <xs:complexType name="ADASType"> <xs:sequence> <xs:element name="EngineStopStart" type="xs:boolean"> @@ -35,6 +36,103 @@ </xs:extension> </xs:simpleContent> </xs:complexType> + <xs:complexType name="ExemptedVehicleType"> + <xs:complexContent> + <xs:extension base="AbstractVehicleType"> + <xs:sequence> + <xs:element name="Model" type="vdecdef:ModelType"> + <xs:annotation> + <xs:documentation>P236 / II.1.1.7</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Manufacturer" type="vdecdef:ManufacturerType"> + <xs:annotation> + <xs:documentation>P235 / II.1.1.6</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ManufacturerAddress" type="vdecdef:ManufacturerAddressType"> + <xs:annotation> + <xs:documentation>P252 / II.1.1.6</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="VIN" type="vdecdef:VINType"> + <xs:annotation> + <xs:documentation>P238 / II.1.1.1</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="LegislativeClass" type="vdecdef:LegislativeClassDeclarationType"> + <xs:annotation> + <xs:documentation>P251 / II.1.1.2</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="GrossVehicleMass"> + <xs:annotation> + <xs:documentation>P041 / II.1.1.4</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="CurbMassChassis"> + <xs:annotation> + <xs:documentation>P038 / II.1.1.8</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="vdecdef:VehicleCurbMassChassisType"> + <xs:attribute name="unit" type="MassUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="ZeroEmissionVehicle" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P269 / II.1.1.10</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="HybridElectricHDV" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P279 / II.1.1.11</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="DualFuelVehicle" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P280 / II.1.1.12</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="MaxNetPower1" minOccurs="0"> + <xs:annotation> + <xs:documentation>P277</xs:documentation> + </xs:annotation> + <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:element name="MaxNetPower2" minOccurs="0"> + <xs:annotation> + <xs:documentation>P278</xs:documentation> + </xs:annotation> + <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:element name="InputDataSignature" type="vdecdef:SignatureType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> <xs:complexType name="FuelConsumptionType"> <xs:simpleContent> <xs:extension base="xs:double"> @@ -42,28 +140,38 @@ </xs:extension> </xs:simpleContent> </xs:complexType> - <xs:complexType name="ResultType"> - <xs:sequence> - <xs:element name="Mission" type="MissionTypeType"/> - <xs:element name="Payload"> - <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="FuelMode"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:enumeration value="dual fuel mode"/> - <xs:enumeration value="single fuel mode"/> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:choice> + <xs:complexType name="ResultSuccessType"> + <xs:complexContent> + <xs:extension base="AbstractResultType"> <xs:sequence> + <xs:element name="Mission" type="MissionTypeType"/> + <xs:element name="TotalVehicleMass"> + <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="Payload"> + <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" minOccurs="0"/> + <xs:element name="FuelMode"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="dual fuel mode"/> + <xs:enumeration value="single fuel mode"/> + </xs:restriction> + </xs:simpleType> + </xs:element> <xs:element name="AverageSpeed"> <xs:complexType> <xs:simpleContent> @@ -83,17 +191,67 @@ </xs:element> <xs:element name="CO2" type="CO2Type" maxOccurs="unbounded"/> </xs:sequence> - <xs:element name="Error" type="xs:string"/> - </xs:choice> - </xs:sequence> - <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:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="ResultErrorType"> + <xs:complexContent> + <xs:extension base="AbstractResultType"> + <xs:sequence> + <xs:element name="Mission" type="MissionTypeType"/> + <xs:element name="Payload"> + <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" minOccurs="0"/> + <xs:element name="TotalVehicleMass"> + <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="FuelMode"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="dual fuel mode"/> + <xs:enumeration value="single fuel mode"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:choice> + <xs:sequence> + <xs:element name="AverageSpeed"> + <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:sequence> + <xs:attribute name="type" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="CO2" type="CO2Type" maxOccurs="unbounded"/> + </xs:sequence> + <xs:element name="Error" type="xs:string"/> + </xs:choice> + </xs:sequence> + </xs:extension> + </xs:complexContent> </xs:complexType> <xs:complexType name="VectoOutputDataType"> <xs:complexContent> @@ -118,7 +276,7 @@ </xs:element> <xs:choice> <xs:sequence> - <xs:element name="Result" type="ResultType" maxOccurs="unbounded"> + <xs:element name="Result" type="AbstractResultType" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>II.2.1, II.2.2</xs:documentation> </xs:annotation> @@ -162,6 +320,7 @@ </xs:simpleContent> </xs:complexType> </xs:element> + <xs:element name="AveragePassengerCount" type="xs:double"/> </xs:sequence> </xs:complexType> </xs:element> @@ -377,7 +536,7 @@ </xs:extension> </xs:complexContent> </xs:complexType> - <xs:complexType name="ExemptedVehicleType"> + <xs:complexType name="VehicleCompletedBusType"> <xs:complexContent> <xs:extension base="AbstractVehicleType"> <xs:sequence> @@ -386,27 +545,73 @@ <xs:documentation>P236 / II.1.1.7</xs:documentation> </xs:annotation> </xs:element> - <xs:element name="Manufacturer" type="vdecdef:ManufacturerType"> - <xs:annotation> - <xs:documentation>P235 / II.1.1.6</xs:documentation> - </xs:annotation> + <xs:element name="PrimaryVehicle"> + <xs:complexType> + <xs:sequence> + <xs:element name="Manufacturer" type="vdecdef:ManufacturerType"> + <xs:annotation> + <xs:documentation>P235 / II.1.1.6</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ManufacturerAddress" type="vdecdef:ManufacturerAddressType"> + <xs:annotation> + <xs:documentation>P252 / II.1.1.6</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> </xs:element> - <xs:element name="ManufacturerAddress" type="vdecdef:ManufacturerAddressType"> - <xs:annotation> - <xs:documentation>P252 / II.1.1.6</xs:documentation> - </xs:annotation> + <xs:element name="CompletedVehicle"> + <xs:complexType> + <xs:sequence> + <xs:element name="Manufacturer" type="vdecdef:ManufacturerType"> + <xs:annotation> + <xs:documentation>P235 / II.1.1.6</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ManufacturerAddress" type="vdecdef:ManufacturerAddressType"> + <xs:annotation> + <xs:documentation>P252 / II.1.1.6</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> </xs:element> <xs:element name="VIN" type="vdecdef:VINType"> <xs:annotation> <xs:documentation>P238 / II.1.1.1</xs:documentation> </xs:annotation> </xs:element> - <xs:element name="LegislativeClass" type="vdecdef:LegislativeClassDeclarationType"> + <xs:element name="VehicleCategory"> <xs:annotation> <xs:documentation>P251 / II.1.1.2</xs:documentation> </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + </xs:restriction> + </xs:simpleType> </xs:element> - <xs:element name="GrossVehicleMass"> + <xs:element name="VehicleGroup" type="VehicleGroupType"> + <xs:annotation> + <xs:documentation>VECTO / II.1.1.5</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="RegisteredClass"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="VehicleCode"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="TechnicalPermissibleMaximumLadenMass"> <xs:annotation> <xs:documentation>P041 / II.1.1.4</xs:documentation> </xs:annotation> @@ -445,26 +650,149 @@ <xs:documentation>P280 / II.1.1.12</xs:documentation> </xs:annotation> </xs:element> - <xs:element name="MaxNetPower1" minOccurs="0"> + <xs:element name="AxleConfiguration" type="xs:string"> <xs:annotation> - <xs:documentation>P277</xs:documentation> + <xs:documentation>P037 / II.1.1.3</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="VocationalVehicle" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P270 / II.1.1.9</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="SleeperCab" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P267 / II.1.1.13</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="RegisteredPassengers"> + <xs:complexType> + <xs:sequence> + <xs:element name="LowerDeck"> + <xs:simpleType> + <xs:restriction base="xs:int"> + <xs:minInclusive value="0"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="UpperDeck"> + <xs:simpleType> + <xs:restriction base="xs:int"> + <xs:minInclusive value="0"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="LowEntry" type="xs:boolean"/> + <xs:element name="HeightIntegratedBody"> + <xs:simpleType> + <xs:restriction base="vdecdef:Double3"> + <xs:minExclusive value="0.000"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="VehicleLength"> + <xs:simpleType> + <xs:restriction base="vdecdef:Double3"> + <xs:minExclusive value="0.000"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="VehicleWidth"> + <xs:simpleType> + <xs:restriction base="vdecdef:Double3"> + <xs:minExclusive value="0.000"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="ADAS" type="ADASType"/> + <xs:element name="EngineRatedPower"> + <xs:annotation> + <xs:documentation>P250 / II.1.2.1</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> - <xs:extension base="xs:double"> + <xs:extension base="vdecdef:EngineRatedPower"> <xs:attribute name="unit" type="PowerUnitType" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> - <xs:element name="MaxNetPower2" minOccurs="0"> + <xs:element name="EngineDisplacement"> <xs:annotation> - <xs:documentation>P278</xs:documentation> + <xs:documentation>P061 / II.1.2.2</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:double"> - <xs:attribute name="unit" type="PowerUnitType" use="required"/> + <xs:attribute name="unit" type="DisplacementType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="FuelTypes"> + <xs:complexType> + <xs:sequence> + <xs:element name="FuelType" type="vdecdef:FuelTypeType"> + <xs:annotation> + <xs:documentation>P193 / II.1.2.3</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="TransmissionMainCertificationMethod" type="vdecdef:GearboxCertificationOptionType"> + <xs:annotation> + <xs:documentation>P154 / II.1.2.4</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="TransmissionType" type="vdecdef:GearboxTransmissionTypeType"> + <xs:annotation> + <xs:documentation>P076 / II.1.2.5</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="GearsCount"> + <xs:annotation> + <xs:documentation>P199 / II.1.2.6</xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:int"> + <xs:minInclusive value="1"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="Retarder" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P052 / II.1.2.7</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="AxleRatio" type="vdecdef:AxlegearRatioType"> + <xs:annotation> + <xs:documentation>P150 / II.1.2.8</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="AverageRRCMotorVehicleTyres" type="vdecdef:TyreRRCISOType"> + <xs:annotation> + <xs:documentation>P046 / II.1.2.9 // arithmetic average of RRC over all truck tires</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="FuelEfficiencyLabelMotorVehicleTyre" maxOccurs="4"> + <xs:annotation> + <xs:documentation>II.1.2.10 // classification of AverageRRCMotorVehicleTyres according to 1222/2009 C3 tyres </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="axleNbr" use="required"> + <xs:simpleType> + <xs:restriction base="xs:int"> + <xs:minInclusive value="1"/> + <xs:maxInclusive value="4"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> @@ -543,5 +871,14 @@ <xs:minLength value="1"/> </xs:restriction> </xs:simpleType> - <xs:complexType name="AbstractVehicleType" abstract="true"/> + <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:schema> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.8.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.8.xsd index b8cb60dccb..d88e5ab09b 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.8.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.8.xsd @@ -9,6 +9,16 @@ <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions" schemaLocation="VectoDeclarationDefinitions.xsd"/> <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationOutputDefinitions" schemaLocation="VectoOutputDefinitions.xsd"/> <xs:complexType name="AbstractComponentsType" abstract="true"/> + <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="AbstractVehicleType" abstract="true"/> <xs:complexType name="ADASType"> <xs:sequence> @@ -209,6 +219,16 @@ </xs:extension> </xs:simpleContent> </xs:complexType> + <xs:complexType name="CompletedVehiclePrimaryVehicleInformationType"> + <xs:sequence> + <xs:element name="Manufacturer" type="vdecdef:ManufacturerType"/> + <xs:element name="ManufacturerAddress" type="vdecdef:ManufacturerAddressType"/> + <xs:element name="AxleConfiguration" type="xs:string"/> + <xs:element name="InputDataSignature" type="vdecdef:SignatureType"/> + <xs:element name="ManufacturerRecordSignature" type="vdecdef:SignatureType"/> + <xs:element name="VehicleInformationSignature" type="vdecdef:SignatureType"/> + </xs:sequence> + </xs:complexType> <xs:complexType name="ComponentDescriptionType"> <xs:sequence> <xs:element name="Model" type="vdecdef:ModelType"/> @@ -216,6 +236,16 @@ <xs:element name="DigestValue" type="xs:token"/> </xs:sequence> </xs:complexType> + <xs:complexType name="ComponentsCompletedBusType"> + <xs:complexContent> + <xs:extension base="AbstractComponentsType"> + <xs:sequence> + <xs:element name="AirDrag" type="AirdragType"/> + <xs:element name="Auxiliaries" type="v2.6:AbstractCompletedVehicleAuxiliaryDataDeclarationType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> <xs:complexType name="ComponentsPrimaryBusType"> <xs:complexContent> <xs:extension base="AbstractComponentsType"> @@ -232,16 +262,15 @@ </xs:extension> </xs:complexContent> </xs:complexType> - <xs:complexType name="ComponentsTruckType"> + <xs:complexType name="ComponentsTruckFWDType"> <xs:complexContent> <xs:extension base="AbstractComponentsType"> <xs:sequence> <xs:element name="Engine" type="EngineType"/> - <xs:element name="Gearbox" type="GearboxType"/> + <xs:element name="Gearbox" type="GearboxFWDType"/> <xs:element name="TorqueConverter" type="TorqueconverterType" minOccurs="0"/> <xs:element name="Retarder" type="RetarderType"/> <xs:element name="Angledrive" type="AngledriveType" minOccurs="0"/> - <xs:element name="Axlegear" type="AxlegearType"/> <xs:element name="AirDrag" type="AirdragType"/> <xs:element name="AxleWheels" type="AxleWheelsType"/> <xs:element name="Auxiliaries" type="AuxiliariesTruckType"/> @@ -249,15 +278,16 @@ </xs:extension> </xs:complexContent> </xs:complexType> - <xs:complexType name="ComponentsTruckFWDType"> + <xs:complexType name="ComponentsTruckType"> <xs:complexContent> <xs:extension base="AbstractComponentsType"> <xs:sequence> <xs:element name="Engine" type="EngineType"/> - <xs:element name="Gearbox" type="GearboxFWDType"/> + <xs:element name="Gearbox" type="GearboxType"/> <xs:element name="TorqueConverter" type="TorqueconverterType" minOccurs="0"/> <xs:element name="Retarder" type="RetarderType"/> <xs:element name="Angledrive" type="AngledriveType" minOccurs="0"/> + <xs:element name="Axlegear" type="AxlegearType"/> <xs:element name="AirDrag" type="AirdragType"/> <xs:element name="AxleWheels" type="AxleWheelsType"/> <xs:element name="Auxiliaries" type="AuxiliariesTruckType"/> @@ -382,7 +412,7 @@ </xs:extension> </xs:simpleContent> </xs:complexType> - <xs:complexType name="GearboxType"> + <xs:complexType name="GearboxFWDType"> <xs:sequence> <xs:element name="Model" type="vdecdef:ModelType"> <xs:annotation> @@ -419,6 +449,7 @@ </xs:restriction> </xs:simpleType> </xs:element> + <xs:element name="AxlegearRatio" type="vdecdef:AxlegearRatioType"/> <xs:element name="TransmissionRatioFinalGear" type="vdecdef:GearboxGearRatioType"> <xs:annotation> <xs:documentation>P078 / I.1.3.6 / #29</xs:documentation> @@ -426,7 +457,7 @@ </xs:element> </xs:sequence> </xs:complexType> - <xs:complexType name="GearboxFWDType"> + <xs:complexType name="GearboxType"> <xs:sequence> <xs:element name="Model" type="vdecdef:ModelType"> <xs:annotation> @@ -463,7 +494,6 @@ </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="AxlegearRatio" type="vdecdef:AxlegearRatioType"/> <xs:element name="TransmissionRatioFinalGear" type="vdecdef:GearboxGearRatioType"> <xs:annotation> <xs:documentation>P078 / I.1.3.6 / #29</xs:documentation> @@ -471,15 +501,15 @@ </xs:element> </xs:sequence> </xs:complexType> - <xs:complexType name="ResultType"> - <xs:sequence> - <xs:element name="Mission" type="MissionTypeType"> - <xs:annotation> - <xs:documentation>I.2.1.1 / #56</xs:documentation> - </xs:annotation> - </xs:element> - <xs:choice> + <xs:complexType name="ResultCompletedVehicleSuccessType"> + <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="Distance"> <xs:annotation> <xs:documentation>I.2.2.8 / #67</xs:documentation> @@ -492,8 +522,46 @@ </xs:simpleContent> </xs:complexType> </xs:element> - <xs:element name="SimulationParameters" type="SimulationParametersType"/> + <xs:element name="SimulationParametersPrimaryVehicle" type="SimulationParametersType"/> + <xs:element name="SimulationParametersCompletedVehicle"> + <xs:complexType> + <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: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:element name="PassengerCount" type="xs:double" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> <xs:element name="VehiclePerformance" type="VehiclePerformanceType"/> + <xs:element name="FuelConsumptionFactor"> + <xs:simpleType> + <xs:restriction base="vdecdef:Double4"> + <xs:minExclusive value="0.0000"/> + </xs:restriction> + </xs:simpleType> + </xs:element> <xs:element name="Fuel" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> @@ -512,21 +580,68 @@ </xs:annotation> </xs:element> </xs:sequence> + </xs:extension> + </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:choice> - </xs:sequence> - <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:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="ResultSuccessType"> + <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="Distance"> + <xs:annotation> + <xs:documentation>I.2.2.8 / #67</xs:documentation> + </xs:annotation> + <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="SimulationParameters" type="SimulationParametersType"/> + <xs:element name="VehiclePerformance" type="VehiclePerformanceType"/> + <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="RetarderType"> <xs:sequence> @@ -679,7 +794,7 @@ </xs:element> <xs:choice> <xs:sequence> - <xs:element name="Result" type="ResultType" maxOccurs="unbounded"/> + <xs:element name="Result" type="AbstractResultType" maxOccurs="unbounded"/> </xs:sequence> <xs:element name="ExemptedVehicle"> <xs:complexType/> @@ -709,6 +824,97 @@ </xs:extension> </xs:complexContent> </xs:complexType> + <xs:complexType name="VehicleCompletedBusType"> + <xs:complexContent> + <xs:extension base="AbstractVehicleType"> + <xs:sequence> + <xs:element name="PrimaryVehicle" type="CompletedVehiclePrimaryVehicleInformationType"/> + <xs:element name="CompletedVehicle"> + <xs:complexType> + <xs:sequence> + <xs:element name="Model" type="vdecdef:ModelType"/> + <xs:element name="Manufacturer" type="vdecdef:ManufacturerType"/> + <xs:element name="ManufacturerAddress" type="vdecdef:ManufacturerAddressType"/> + <xs:element name="VIN" type="vdecdef:VINType"/> + <xs:element name="VehicleCategory" type="xs:string"/> + <xs:element name="VehicleGroup" type="xs:string"/> + <xs:element name="RegisteredClass" type="xs:string"/> + <xs:element name="VehicleCode" type="xs:string"/> + <xs:element name="CurbMassChassis"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="vdecdef:VehicleCurbMassChassisType"> + <xs:attribute name="unit" type="MassUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="TechnicalPermissibleMaximumLadenMass"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="vdecdef:Double2"> + <xs:attribute name="unit" type="MassUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="VocationalVehicle" type="BooleanNotApplicableType"/> + <xs:element name="ZeroEmissionVehicle" type="xs:boolean"/> + <xs:element name="HybridElectricHDV" type="xs:boolean"/> + <xs:element name="DualFuelVehicle" type="xs:boolean"/> + <xs:element name="SleeperCab" type="BooleanNotApplicableType"/> + <xs:element name="RegisteredPassengers"> + <xs:complexType> + <xs:sequence> + <xs:element name="LowerDeck"> + <xs:simpleType> + <xs:restriction base="xs:int"> + <xs:minInclusive value="0"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="UpperDeck"> + <xs:simpleType> + <xs:restriction base="xs:int"> + <xs:minInclusive value="0"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="LowEntry" type="xs:boolean"/> + <xs:element name="HeightIntegratedBody"> + <xs:simpleType> + <xs:restriction base="vdecdef:Double3"> + <xs:minExclusive value="0.000"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="VehicleLength"> + <xs:simpleType> + <xs:restriction base="vdecdef:Double3"> + <xs:minExclusive value="0.000"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="VehicleWidth"> + <xs:simpleType> + <xs:restriction base="vdecdef:Double3"> + <xs:minExclusive value="0.000"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="DoorDriveTechnology" type="xs:string"/> + <xs:element name="Components" type="AbstractComponentsType"/> + <xs:element name="InputDataSignature" type="vdecdef:SignatureType"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> <xs:complexType name="VehicleExemptedTruckType"> <xs:complexContent> <xs:extension base="AbstractVehicleType"> @@ -1139,6 +1345,13 @@ <xs:enumeration value="rpm"/> </xs:restriction> </xs:simpleType> + <xs:simpleType name="BooleanNotApplicableType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="true"/> + <xs:enumeration value="false"/> + <xs:enumeration value="not applicable"/> + </xs:restriction> + </xs:simpleType> <xs:simpleType name="CO2UnitType"> <xs:restriction base="xs:string"> <xs:enumeration value="g/km"/> @@ -1205,105 +1418,4 @@ <xs:minLength value="1"/> </xs:restriction> </xs:simpleType> - <xs:complexType name="VehicleCompletedBusType"> - <xs:complexContent> - <xs:extension base="AbstractVehicleType"> - <xs:sequence> - <xs:element name="PrimaryVehicle" type="PrimaryVehicleType"/> - <xs:element name="CompletedVehicle"> - <xs:complexType> - <xs:sequence> - <xs:element name="Model" type="vdecdef:ModelType"/> - <xs:element name="Manufacturer" type="vdecdef:ManufacturerType"/> - <xs:element name="ManufacturerAddress" type="vdecdef:ManufacturerAddressType"/> - <xs:element name="VIN" type="vdecdef:VINType"/> - <xs:element name="VehicleCategory" type="vdecdef:LegislativeClassDeclarationType"/> - <xs:element name="VehicleGroup" type="xs:string"/> - <xs:element name="RegisteredClass" type="xs:string"/> - <xs:element name="VehicleCode" type="xs:string"/> - <xs:element name="CurbMassChassis" type="vdecdef:VehicleCurbMassChassisType"/> - <xs:element name="TechnicalPermissibleMaximumLadenMass" type="vdecdef:VehicleGrossVehicleMassType"/> - <xs:element name="VocationalVehcle" type="BooleanNotApplicableType"/> - <xs:element name="ZeroEmissionVehicle" type="xs:boolean"/> - <xs:element name="HybridElectricHDV" type="xs:boolean"/> - <xs:element name="DualFuelVehicle" type="xs:boolean"/> - <xs:element name="SleeperCab" type="BooleanNotApplicableType"/> - <xs:element name="RegisteredPassengers"> - <xs:complexType> - <xs:sequence> - <xs:element name="LowerDeck"> - <xs:simpleType> - <xs:restriction base="xs:int"> - <xs:minInclusive value="0"/> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element name="UpperDeck"> - <xs:simpleType> - <xs:restriction base="xs:int"> - <xs:minInclusive value="0"/> - </xs:restriction> - </xs:simpleType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="LowEntry" type="xs:boolean"/> - <xs:element name="HeightIntegratedBody"> - <xs:simpleType> - <xs:restriction base="vdecdef:Double3"> - <xs:minExclusive value="0.000"/> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element name="VehicleLength"> - <xs:simpleType> - <xs:restriction base="vdecdef:Double3"> - <xs:minExclusive value="0.000"/> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element name="VehicleWidth"> - <xs:simpleType> - <xs:restriction base="vdecdef:Double3"> - <xs:minExclusive value="0.000"/> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element name="DoorDriveTechnology" type="xs:string"/> - <xs:element name="Components" type="AbstractComponentsType"/> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="PrimaryVehicleType"> - <xs:sequence> - <xs:element name="Manufacturer" type="vdecdef:ManufacturerType"/> - <xs:element name="ManufacturerAddress" type="vdecdef:ManufacturerAddressType"/> - <xs:element name="AxleConfiguration" type="xs:string"/> - <xs:element name="InputDataSignature" type="vdecdef:SignatureType"/> - <xs:element name="ManufacturerRecordSignature" type="vdecdef:SignatureType"/> - <xs:element name="VehicleInformationSignature" type="vdecdef:SignatureType"/> - </xs:sequence> - </xs:complexType> - <xs:simpleType name="BooleanNotApplicableType"> - <xs:restriction base="xs:string"> - <xs:enumeration value="true"/> - <xs:enumeration value="false"/> - <xs:enumeration value="not applicable"/> - </xs:restriction> - </xs:simpleType> - <xs:complexType name="ComponentsCompletedBusType"> - <xs:complexContent> - <xs:extension base="AbstractComponentsType"> - <xs:sequence> - <xs:element name="AirDrag" type="AirdragType"/> - <xs:element name="Auxiliaries" type="v2.6:AbstractCompletedVehicleAuxiliaryDataDeclarationType"/> - </xs:sequence> - </xs:extension> - </xs:complexContent> - </xs:complexType> </xs:schema> -- GitLab