Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit a15871c1 authored by Stefanos Doumpoulakis's avatar Stefanos Doumpoulakis
Browse files

a)bugfixes for VTP report, b)started new xsd files for report

parent 0ea97199
Branches
Tags
No related merge requests found
...@@ -156,6 +156,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl ...@@ -156,6 +156,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
private void InitializeReport() private void InitializeReport()
{ {
VectoRunData powertrainConfig; VectoRunData powertrainConfig;
List<List<FuelData.Entry>> fuels;
var vehicle = InputDataProvider.JobInputData.Vehicle; var vehicle = InputDataProvider.JobInputData.Vehicle;
if (InputDataProvider.JobInputData.Vehicle.ExemptedVehicle) { if (InputDataProvider.JobInputData.Vehicle.ExemptedVehicle) {
powertrainConfig = new VectoRunData() { powertrainConfig = new VectoRunData() {
...@@ -164,13 +165,18 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl ...@@ -164,13 +165,18 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
InputDataHash = InputDataProvider.XMLHash InputDataHash = InputDataProvider.XMLHash
}; };
powertrainConfig.VehicleData.VehicleClass = _segment.Found ? _segment.VehicleClass : VehicleClass.Class0; powertrainConfig.VehicleData.VehicleClass = _segment.Found ? _segment.VehicleClass : VehicleClass.Class0;
fuels = new List<List<FuelData.Entry>>();
} else { } else {
powertrainConfig = _segment.Missions.Select( powertrainConfig = _segment.Missions.Select(
mission => CreateVectoRunData( mission => CreateVectoRunData(
vehicle, 0, mission, mission.Loadings.First())) vehicle, 0, mission, mission.Loadings.First()))
.FirstOrDefault(x => x != null); .FirstOrDefault(x => x != null);
fuels = vehicle.Components.EngineInputData.EngineModes.Select(x => x.Fuels.Select(f => DeclarationData.FuelData.Lookup(f.FuelType, vehicle.TankSystem)).ToList())
.ToList();
} }
Report.InitializeReport(powertrainConfig);
Report.InitializeReport(powertrainConfig, fuels);
} }
public IEnumerable<VectoRunData> NextRun() public IEnumerable<VectoRunData> NextRun()
......
...@@ -113,7 +113,13 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl ...@@ -113,7 +113,13 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
Report.InputDataHash = JobInputData.VectoJobHash; Report.InputDataHash = JobInputData.VectoJobHash;
Report.ManufacturerRecord = JobInputData.ManufacturerReportInputData; Report.ManufacturerRecord = JobInputData.ManufacturerReportInputData;
Report.ManufacturerRecordHash = JobInputData.VectoManufacturerReportHash; Report.ManufacturerRecordHash = JobInputData.VectoManufacturerReportHash;
Report.InitializeReport(powertrainConfig);
var fuels = JobInputData.Vehicle.Components.EngineInputData.EngineModes.Select(
x => x.Fuels.Select(f => DeclarationData.FuelData.Lookup(f.FuelType, JobInputData.Vehicle.TankSystem))
.ToList())
.ToList();
Report.InitializeReport(powertrainConfig, fuels);
} }
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
* Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
*/ */
using System.Collections.Generic;
using Ninject.Extensions.Factory; using Ninject.Extensions.Factory;
using Ninject.Modules; using Ninject.Modules;
using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.InputData;
...@@ -65,7 +66,7 @@ namespace TUGraz.VectoCore.Models.Simulation ...@@ -65,7 +66,7 @@ namespace TUGraz.VectoCore.Models.Simulation
{ {
#region Implementation of IDeclarationReport #region Implementation of IDeclarationReport
public void InitializeReport(VectoRunData modelData) public void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes)
{ {
} }
...@@ -87,7 +88,7 @@ namespace TUGraz.VectoCore.Models.Simulation ...@@ -87,7 +88,7 @@ namespace TUGraz.VectoCore.Models.Simulation
{ {
#region Implementation of IDeclarationReport #region Implementation of IDeclarationReport
public void InitializeReport(VectoRunData modelData) public void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes)
{ {
} }
......
...@@ -47,7 +47,7 @@ namespace TUGraz.VectoCore.OutputData ...@@ -47,7 +47,7 @@ namespace TUGraz.VectoCore.OutputData
* This methodd is called once befor creating the simulation runs with a temporary * This methodd is called once befor creating the simulation runs with a temporary
* VectoRunData instance * VectoRunData instance
*/ */
void InitializeReport(VectoRunData modelData); void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes);
/** /**
* called when creating the simulation run (before starting the simulations) * called when creating the simulation run (before starting the simulations)
...@@ -158,6 +158,6 @@ namespace TUGraz.VectoCore.OutputData ...@@ -158,6 +158,6 @@ namespace TUGraz.VectoCore.OutputData
protected internal abstract void DoWriteReport(); protected internal abstract void DoWriteReport();
public abstract void InitializeReport(VectoRunData modelData); public abstract void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes);
} }
} }
\ No newline at end of file
...@@ -229,7 +229,7 @@ namespace TUGraz.VectoCore.OutputData.XML ...@@ -229,7 +229,7 @@ namespace TUGraz.VectoCore.OutputData.XML
} }
public override void InitializeReport(VectoRunData modelData) public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes)
{ {
if (modelData.Exempted) { if (modelData.Exempted) {
WeightingGroup = WeightingGroup.Unknown; WeightingGroup = WeightingGroup.Unknown;
......
...@@ -60,7 +60,7 @@ namespace TUGraz.VectoCore.OutputData.XML ...@@ -60,7 +60,7 @@ namespace TUGraz.VectoCore.OutputData.XML
{ {
internal class XMLVTPReport : DeclarationReport<XMLVTPReport.ResultEntry>, IVTPReport internal class XMLVTPReport : DeclarationReport<XMLVTPReport.ResultEntry>, IVTPReport
{ {
public const string CURRENT_SCHEMA_VERSION = "0.1"; public const string CURRENT_SCHEMA_VERSION = "0.1.1";
private const string VTPReportTartetName = "VTPReportTarget"; private const string VTPReportTartetName = "VTPReportTarget";
...@@ -325,6 +325,8 @@ namespace TUGraz.VectoCore.OutputData.XML ...@@ -325,6 +325,8 @@ namespace TUGraz.VectoCore.OutputData.XML
)), )),
new XElement( new XElement(
tns + "CO2", tns + "CO2",
new XElement(
tns + "Certification",
new XElement( new XElement(
tns + "Mission", tns + "Mission",
string.Format("{0}, {1}", Missions.FirstOrDefault(x => x.Key != MissionType.VerificationTest).Key.ToXMLFormat(), selectedLoading.ToString()) string.Format("{0}, {1}", Missions.FirstOrDefault(x => x.Key != MissionType.VerificationTest).Key.ToXMLFormat(), selectedLoading.ToString())
...@@ -336,7 +338,10 @@ namespace TUGraz.VectoCore.OutputData.XML ...@@ -336,7 +338,10 @@ namespace TUGraz.VectoCore.OutputData.XML
new XElement( new XElement(
tns + "Verified", new XAttribute(XMLNames.Report_Results_Unit_Attr, key), tns + "Verified", new XAttribute(XMLNames.Report_Results_Unit_Attr, key),
new ConvertedSI(declaredCO2.Value(), verifiedCO2.UnitString).ToMinSignificantDigits(3, 2) new ConvertedSI(declaredCO2.Value(), verifiedCO2.UnitString).ToMinSignificantDigits(3, 2)
)
), ),
new XElement(
tns + "VTP",
new XElement( new XElement(
tns + "Measured", new XAttribute(XMLNames.Report_Results_Unit_Attr, CO2Measured.ConvertToGramPerKiloWattHour().Units), tns + "Measured", new XAttribute(XMLNames.Report_Results_Unit_Attr, CO2Measured.ConvertToGramPerKiloWattHour().Units),
CO2Measured.ConvertToGramPerKiloWattHour().Value.ToXMLFormat(3) CO2Measured.ConvertToGramPerKiloWattHour().Value.ToXMLFormat(3)
...@@ -349,6 +354,7 @@ namespace TUGraz.VectoCore.OutputData.XML ...@@ -349,6 +354,7 @@ namespace TUGraz.VectoCore.OutputData.XML
tns + "Simulated", new XAttribute(XMLNames.Report_Results_Unit_Attr, CO2Simulated.ConvertToGramPerKiloWattHour().Units), tns + "Simulated", new XAttribute(XMLNames.Report_Results_Unit_Attr, CO2Simulated.ConvertToGramPerKiloWattHour().Units),
CO2Simulated.ConvertToGramPerKiloWattHour().Value.ToXMLFormat(3) CO2Simulated.ConvertToGramPerKiloWattHour().Value.ToXMLFormat(3)
) )
)
), ),
new XElement(tns + "C_VTP", cVtp.ToXMLFormat(4)), new XElement(tns + "C_VTP", cVtp.ToXMLFormat(4)),
CreatePollutantsElement(vtpResult)); CreatePollutantsElement(vtpResult));
...@@ -453,7 +459,7 @@ namespace TUGraz.VectoCore.OutputData.XML ...@@ -453,7 +459,7 @@ namespace TUGraz.VectoCore.OutputData.XML
return retVal; return retVal;
} }
public override void InitializeReport(VectoRunData modelData) public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes)
{ {
GeneralPart.Add( GeneralPart.Add(
new XElement(tns + XMLNames.Component_Manufacturer, modelData.VehicleData.Manufacturer), new XElement(tns + XMLNames.Component_Manufacturer, modelData.VehicleData.Manufacturer),
...@@ -472,7 +478,7 @@ namespace TUGraz.VectoCore.OutputData.XML ...@@ -472,7 +478,7 @@ namespace TUGraz.VectoCore.OutputData.XML
new XElement(tns + XMLNames.Vehicle_PTO, modelData.PTO != null), new XElement(tns + XMLNames.Vehicle_PTO, modelData.PTO != null),
new XElement( new XElement(
tns + XMLNames.Vehicle_Components, tns + XMLNames.Vehicle_Components,
GetEngineDescription(modelData.EngineData), GetEngineDescription(modelData.EngineData, fuelModes),
GetGearboxDescription(modelData.GearboxData), GetGearboxDescription(modelData.GearboxData),
GetTorqueConverterDescription(modelData.GearboxData.TorqueConverterData), GetTorqueConverterDescription(modelData.GearboxData.TorqueConverterData),
GetRetarderDescription(modelData.Retarder), GetRetarderDescription(modelData.Retarder),
...@@ -640,7 +646,7 @@ namespace TUGraz.VectoCore.OutputData.XML ...@@ -640,7 +646,7 @@ namespace TUGraz.VectoCore.OutputData.XML
XmlConvert.ToString(DateTime.Now, XmlDateTimeSerializationMode.Utc))); XmlConvert.ToString(DateTime.Now, XmlDateTimeSerializationMode.Utc)));
} }
private XElement GetEngineDescription(CombustionEngineData engineData) private XElement GetEngineDescription(CombustionEngineData engineData, List<List<FuelData.Entry>> fuelModes)
{ {
return new XElement( return new XElement(
tns + XMLNames.Component_Engine, tns + XMLNames.Component_Engine,
...@@ -649,7 +655,8 @@ namespace TUGraz.VectoCore.OutputData.XML ...@@ -649,7 +655,8 @@ namespace TUGraz.VectoCore.OutputData.XML
new XElement( new XElement(
tns + XMLNames.Engine_Displacement, tns + XMLNames.Engine_Displacement,
engineData.Displacement.ConvertToCubicCentiMeter().ToXMLFormat(0)), engineData.Displacement.ConvertToCubicCentiMeter().ToXMLFormat(0)),
new XElement(tns + XMLNames.Engine_FuelType, engineData.Fuels.First().FuelData.FuelType.ToXMLFormat()) fuelModes.SelectMany(x => x.Select(f => f.FuelType.ToXMLFormat())).Distinct().Select(
x => new XElement(tns + XMLNames.Engine_FuelType, x))
); );
} }
......
<?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) -->
<xs:schema xmlns="urn:tugraz:ivt:VectoAPI:VTPReport:v0.1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" targetNamespace="urn:tugraz:ivt:VectoAPI:VTPReport:v0.1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.1">
<xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" schemaLocation="VectoDeclarationDefinitions.1.1.xsd"/>
<xs:element name="VectoVTPReport">
<xs:complexType>
<xs:sequence>
<xs:element name="Data">
<xs:complexType>
<xs:sequence>
<xs:element name="General">
<xs:complexType>
<xs:sequence>
<xs:element name="Manufacturer" type="vdecdef:ManufacturerType"/>
<xs:element name="ManufacturerAddress" type="vdecdef:ManufacturerAddressType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Vehicle" type="VehicleType"/>
<xs:element name="DataIntegrityCheck" type="DataIntegrityCheckType"/>
<xs:element name="TestConditions"/>
<xs:element name="Results" type="ResultsType"/>
<xs:element name="ApplicationInformation">
<xs:complexType>
<xs:sequence>
<xs:element name="SimulationToolVersion"/>
<xs:element name="Date"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="schemaVersion" type="xs:decimal" use="required"/>
</xs:complexType>
</xs:element>
<xs:complexType name="AirDragType">
<xs:sequence>
<xs:element name="Model" type="vdecdef:ModelType" minOccurs="0">
<xs:annotation>
<xs:documentation>P241</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CertificationMethod" type="AirdragCertificationOptionType">
<xs:annotation>
<xs:documentation>VECTO</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0">
<xs:annotation>
<xs:documentation>P268</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CdxA" type="vdecdef:AirdragCdxAType">
<xs:annotation>
<xs:documentation>P146</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AngleDriveType">
<xs:sequence>
<xs:element name="Model" type="vdecdef:ModelType">
<xs:annotation>
<xs:documentation>P221</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CertificationMethod" type="vdecdef:AngledriveCertificationOptionType">
<xs:annotation>
<xs:documentation>P258</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0">
<xs:annotation>
<xs:documentation>P265</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Ratio" type="vdecdef:AngledriveRatioType">
<xs:annotation>
<xs:documentation>P176</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AuxiliariesType">
<xs:sequence>
<xs:element name="FanTechnology" type="vdecdef:AuxFanTechnologyType">
<xs:annotation>
<xs:documentation>P181</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SteeringPumpTechnology" type="vdecdef:AuxSPTechnologyType" maxOccurs="4">
<xs:annotation>
<xs:documentation>P182</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ElectricSystemTechnology" type="vdecdef:AuxESTechnologyType">
<xs:annotation>
<xs:documentation>P183</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PneumaticSystemTechnology" type="vdecdef:AuxPSTechnologyType">
<xs:annotation>
<xs:documentation>P184</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="HVACTechnology" type="vdecdef:AuxHVACTechnologyType">
<xs:annotation>
<xs:documentation>P185</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FanDiameter" type="vdecdef:AuxFanDiameterType">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AxlegearType">
<xs:sequence>
<xs:element name="Model" type="vdecdef:ModelType">
<xs:annotation>
<xs:documentation>P216</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CertificationMethod" type="vdecdef:AxlegearCertificationOptionType">
<xs:annotation>
<xs:documentation>P256</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0">
<xs:annotation>
<xs:documentation>P264</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LineType" type="vdecdef:AxlegearLineTypeType">
<xs:annotation>
<xs:documentation>P253</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Ratio" type="vdecdef:AxlegearRatioType">
<xs:annotation>
<xs:documentation>P150</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AxleType">
<xs:sequence>
<xs:element name="TyreDimension" type="vdecdef:TyreDimensionType">
<xs:annotation>
<xs:documentation>P108</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType">
<xs:annotation>
<xs:documentation>P267</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TyreRRCDeclared" type="vdecdef:TyreRRCISOType">
<xs:annotation>
<xs:documentation>P046</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TwinTyres" type="vdecdef:AxleTwinTyresType">
<xs:annotation>
<xs:documentation>P045</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="axleNumber" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="AxleWheelsType">
<xs:sequence minOccurs="2" maxOccurs="4">
<xs:element name="Axle" type="AxleType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CO2ResultType">
<xs:sequence>
<xs:element name="Mission">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Declared">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:double">
<xs:attribute name="unit" type="CO2UnitType" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Verified">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:double">
<xs:attribute name="unit" type="CO2UnitType" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DataIntegrityCheckType">
<xs:sequence>
<xs:element name="Components">
<xs:complexType>
<xs:sequence>
<xs:element name="Component" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:complexContent>
<xs:extension base="DataIntegrityResultType">
<xs:attribute name="componentName" type="xs:token" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ManufacturerReport" type="DataIntegrityResultType"/>
<xs:element name="JobData" type="DataIntegrityResultType"/>
</xs:sequence>
<xs:attribute name="status" type="DataIntegrityStatusType" use="required"/>
</xs:complexType>
<xs:complexType name="DataIntegrityResultType">
<xs:choice>
<xs:sequence>
<xs:element name="DigestValueRecomputed" type="xs:token"/>
<xs:element name="DigestValueRead" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:token">
<xs:attribute name="source" type="xs:token" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:element name="Error" type="xs:string"/>
</xs:sequence>
</xs:choice>
<xs:attribute name="status" type="DataIntegrityStatusType" use="required"/>
</xs:complexType>
<xs:complexType name="EngineType">
<xs:sequence>
<xs:element name="Model" type="vdecdef:ModelType">
<xs:annotation>
<xs:documentation>P201</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType">
<xs:annotation>
<xs:documentation>P261</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RatedPower" type="vdecdef:EngineRatedPower">
<xs:annotation>
<xs:documentation>P250</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Displacement" type="vdecdef:EngineDisplacementType">
<xs:annotation>
<xs:documentation>P061</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FuelType" type="vdecdef:FuelTypeType" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>P193</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FuelConsumptionResultType">
<xs:sequence>
<xs:element name="Measured">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:double">
<xs:attribute name="unit" type="FCUnitType" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="MeasuredCorrected">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:double">
<xs:attribute name="unit" type="FCUnitType" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Simulated">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:double">
<xs:attribute name="unit" type="FCUnitType" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="fuelType" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="GearboxType">
<xs:sequence>
<xs:element name="Model" type="vdecdef:ModelType">
<xs:annotation>
<xs:documentation>P206</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CertificationMethod" type="vdecdef:GearboxCertificationOptionType">
<xs:annotation>
<xs:documentation>P254</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0">
<xs:annotation>
<xs:documentation>P262</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TransmissionType" type="vdecdef:GearboxTransmissionTypeType">
<xs:annotation>
<xs:documentation>P076</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="GearsCount">
<xs:annotation>
<xs:documentation>P199</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TransmissionRatioFinalGear" type="vdecdef:GearboxGearRatioType">
<xs:annotation>
<xs:documentation>P078</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ResultsType">
<xs:sequence>
<xs:element name="Status" type="VTPStatusType"/>
<xs:element name="AverageFanPower">
<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="WorkPosVT">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:double">
<xs:attribute name="unit" type="WorkUnitType" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="TestFuelNCV" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:double">
<xs:attribute name="unit" type="NCVUnitType" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="FuelConsumption" type="FuelConsumptionResultType" maxOccurs="unbounded"/>
<xs:element name="CO2" type="CO2ResultType"/>
<xs:element name="C_VTP" type="xs:double"/>
<xs:element name="Warnings" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Warning" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RetarderType">
<xs:sequence>
<xs:element name="RetarderType" type="vdecdef:RetarderTypeType">
<xs:annotation>
<xs:documentation>P052</xs:documentation>
</xs:annotation>
</xs:element>
<xs:sequence minOccurs="0">
<xs:element name="Model" type="vdecdef:ModelType">
<xs:annotation>
<xs:documentation>P226</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CertificationMethod" type="vdecdef:RetarderCertificationOptionType">
<xs:annotation>
<xs:documentation>P255</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0">
<xs:annotation>
<xs:documentation>P266</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TorqueConverterType">
<xs:sequence>
<xs:element name="Model" type="vdecdef:ModelType">
<xs:annotation>
<xs:documentation>P211</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CertificationMethod" type="vdecdef:TorqueConverterCertificationOptionType">
<xs:annotation>
<xs:documentation>P257</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0">
<xs:annotation>
<xs:documentation>P263</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="VehicleType">
<xs:sequence>
<xs:element name="Model" type="vdecdef:ModelType">
<xs:annotation>
<xs:documentation>P236</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="VIN" type="vdecdef:VINType">
<xs:annotation>
<xs:documentation>P238</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LegislativeClass" type="vdecdef:LegislativeClassDeclarationType">
<xs:annotation>
<xs:documentation>P251</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="VehicleGroup" type="VehicleGroupType">
<xs:annotation>
<xs:documentation>VECTO</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AxleConfiguration" type="vdecdef:VehicleAxleConfigurationDeclarationType">
<xs:annotation>
<xs:documentation>P037</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="GrossVehicleMass" type="vdecdef:VehicleGrossVehicleMassType">
<xs:annotation>
<xs:documentation>P041</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CurbMassChassis" type="vdecdef:VehicleCurbMassChassisType">
<xs:annotation>
<xs:documentation>P038</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RetarderRatio" type="vdecdef:RetarderRatioType" minOccurs="0">
<xs:annotation>
<xs:documentation>P053</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PTO" type="xs:boolean">
<xs:annotation>
<xs:documentation>P247</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Components">
<xs:complexType>
<xs:sequence>
<xs:element name="Engine" type="EngineType"/>
<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="AuxiliariesType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="AirdragCertificationOptionType">
<xs:restriction base="xs:string">
<xs:enumeration value="Measured"/>
<xs:enumeration value="Standard values"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CO2UnitType">
<xs:restriction base="xs:token">
<xs:enumeration value="g/t-km"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DataIntegrityStatusType">
<xs:restriction base="xs:string">
<xs:enumeration value="success"/>
<xs:enumeration value="failed"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FCUnitType">
<xs:restriction base="xs:token">
<xs:enumeration value="g/kWh"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NCVUnitType">
<xs:restriction base="xs:token">
<xs:enumeration value="MJ/kg"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PowerUnitType">
<xs:restriction base="xs:token">
<xs:enumeration value="kW"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="VehicleGroupType">
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="16"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="VTPStatusType">
<xs:restriction base="xs:token">
<xs:enumeration value="Passed"/>
<xs:enumeration value="Failed"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="WorkUnitType">
<xs:restriction base="xs:token">
<xs:enumeration value="kWh"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
This diff is collapsed.
...@@ -838,6 +838,12 @@ ...@@ -838,6 +838,12 @@
<EmbeddedResource Include="Resources\XSD\VectoOutputManufacturer.0.7.2.xsd"> <EmbeddedResource Include="Resources\XSD\VectoOutputManufacturer.0.7.2.xsd">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Resources\XSD\VectoDeclarationDefinitions.1.1.xsd">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Resources\XSD\VTPReport.0.1.1.xsd">
<SubType>Designer</SubType>
</EmbeddedResource>
<None Include="Utils\VectoVersionCore.tt"> <None Include="Utils\VectoVersionCore.tt">
<Generator>TextTemplatingFileGenerator</Generator> <Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>VectoVersionCore.cs</LastGenOutput> <LastGenOutput>VectoVersionCore.cs</LastGenOutput>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment