diff --git a/.gitignore b/.gitignore index 865d8091505e6e507786f7a49290a38f553b3bb6..ae283ff10bb1df8fb0b080f01ddb015472bed31c 100644 --- a/.gitignore +++ b/.gitignore @@ -204,3 +204,5 @@ Documentation/VehiclesReleaseComparisonDeclarationMode/*.vsum DISTR/ Documentation/VehiclesReleaseComparisonDeclarationMode/tmp/ +Documentation/VehiclesReleaseComparisonDeclarationMode/**/*.vmod +Documentation/VehiclesReleaseComparisonDeclarationMode/**/*.vsum diff --git a/Documentation/User Manual Source/Release Notes Vecto3.x.pdf b/Documentation/User Manual Source/Release Notes Vecto3.x.pdf index cdf2ed923310de39173f3e2e3218f3ac6e1f2602..ee949c9ddf7a574037bc677e8cea3a3e38487404 100644 Binary files a/Documentation/User Manual Source/Release Notes Vecto3.x.pdf and b/Documentation/User Manual Source/Release Notes Vecto3.x.pdf differ diff --git a/Documentation/User Manual Source/Release Notes Vecto3.x.pptx b/Documentation/User Manual Source/Release Notes Vecto3.x.pptx index 27af7828e7dc4cef72e0b99c748b274aea51da90..2dfb039336491f2536494faff0c86b908bb64a6b 100644 Binary files a/Documentation/User Manual Source/Release Notes Vecto3.x.pptx and b/Documentation/User Manual Source/Release Notes Vecto3.x.pptx differ diff --git a/Documentation/User Manual/6-changelog/changelog.md b/Documentation/User Manual/6-changelog/changelog.md index e1b119b85c6f7f03092db442341ba033534e5bec..fdce74f7ee9ac01cba70b4d16801a8b5617fa02f 100644 --- a/Documentation/User Manual/6-changelog/changelog.md +++ b/Documentation/User Manual/6-changelog/changelog.md @@ -1,5 +1,29 @@ #Changelog +**VECTO-3.3.10** + +***Build 2373 (2021-07-01) RELEASE CANDIDATE*** + +- Improvements + * [VECTO-1421] – Added vehicle sub-group (CO2-standards to MRF and CIF) + * [VECTO 1449] – Handling of exempted vehicles: See next slide for details + * [VECTO-1404] – Corrected URL for CSS in MRF and CIF +- Bugfixes + * [VECTO-1419] – Simulation abort in urban cycle: failed to find operating point on search braking power with TC gear + * [VECTO-1439] – Bugfix handling duplicate entries in engine full-load curve when intersecting with max-torque of gearbox + * [VECTO-1429] – error in XML schema 2.x for exempted vehicles – MaxNetPower1/2 are optional input parameters + +***Handling of exempted vehicles*** + +- Axle configuration and sleeper cab are optional input parameters for exempted vehicles (XML schema 1.0 and 2.2.1). + * OEMs are recommended to provide these parameters for exempted vehicles. + * If the axle configuration is provided as input parameter, the MRF contains the vehicle group. + * The sleeper cab input parameter is also part of the MRF if provided as input. +- Input parameters MaxNetPower1/2 are optional input parameters for all exempted vehicles. + * If provided in the input these parameters are part of the MRF for all exempted vehicle types + * It is recommended that those parameters are used to specify the rated power also for PEV (pure electric vehicles) + + **VECTO-3.3.9** ***Build 2175 (2020-12-15) OFFICIAL RELEASE*** diff --git a/Documentation/User Manual/help.html b/Documentation/User Manual/help.html index b0a5e080b0a524b30503b21099caf7bc16e72467..990aa7a2323e22d8bb119ba6586d836c66163b65 100644 --- a/Documentation/User Manual/help.html +++ b/Documentation/User Manual/help.html @@ -7621,6 +7621,36 @@ CycleTime,UnknownCycleName,3600</code></pre> </div> <div id="changelog" class="section level1"> <h1>Changelog</h1> +<p><strong>VECTO-3.3.10</strong></p> +<p><strong><em>Build 2373 (2021-07-01) RELEASE CANDIDATE</em></strong></p> +<ul> +<li>Improvements +<ul> +<li>[VECTO-1421] – Added vehicle sub-group (CO2-standards to MRF and CIF)</li> +<li>[VECTO 1449] – Handling of exempted vehicles: See next slide for details</li> +<li>[VECTO-1404] – Corrected URL for CSS in MRF and CIF</li> +</ul></li> +<li>Bugfixes +<ul> +<li>[VECTO-1419] – Simulation abort in urban cycle: failed to find operating point on search braking power with TC gear</li> +<li>[VECTO-1439] – Bugfix handling duplicate entries in engine full-load curve when intersecting with max-torque of gearbox</li> +<li>[VECTO-1429] – error in XML schema 2.x for exempted vehicles – MaxNetPower1/2 are optional input parameters</li> +</ul></li> +</ul> +<p><strong><em>Handling of exempted vehicles</em></strong></p> +<ul> +<li>Axle configuration and sleeper cab are optional input parameters for exempted vehicles (XML schema 1.0 and 2.2.1). +<ul> +<li>OEMs are recommended to provide these parameters for exempted vehicles.</li> +<li>If the axle configuration is provided as input parameter, the MRF contains the vehicle group.</li> +<li>The sleeper cab input parameter is also part of the MRF if provided as input.</li> +</ul></li> +<li>Input parameters MaxNetPower1/2 are optional input parameters for all exempted vehicles. +<ul> +<li>If provided in the input these parameters are part of the MRF for all exempted vehicle types</li> +<li>It is recommended that those parameters are used to specify the rated power also for PEV (pure electric vehicles)</li> +</ul></li> +</ul> <p><strong>VECTO-3.3.9</strong></p> <p><strong><em>Build 2175 (2020-12-15) OFFICIAL RELEASE</em></strong></p> <ul> diff --git a/HashingTool/Properties/Version.cs b/HashingTool/Properties/Version.cs index 8be0bee02e61f21261984f5de2b4091cbfa038b0..1b541c94ead3cb430b69102796ce8bf3c06ad589 100644 --- a/HashingTool/Properties/Version.cs +++ b/HashingTool/Properties/Version.cs @@ -30,5 +30,5 @@ */ using System.Reflection; -[assembly: AssemblyVersion("0.2.0.2175")] -[assembly: AssemblyFileVersion("0.2.0.2175")] +[assembly: AssemblyVersion("0.2.0.2373")] +[assembly: AssemblyFileVersion("0.2.0.2373")] diff --git a/VECTO/GUI/JiraDialog.vb b/VECTO/GUI/JiraDialog.vb index ccbf0a6bb26eb3d7d50a87ee6c835ea662145eee..9e68b24150e2f7c7be7074b092dd5163996a8cc6 100644 --- a/VECTO/GUI/JiraDialog.vb +++ b/VECTO/GUI/JiraDialog.vb @@ -28,6 +28,6 @@ Public Class JiraDialog End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click - Process.Start("https://webgate.ec.europa.eu/CITnet/jira/browse/VECTO") + Process.Start("https://citnet.tech.ec.europa.eu/CITnet/jira/browse/VECTO") End Sub End Class diff --git a/VECTO/Input Files/Engine.vb b/VECTO/Input Files/Engine.vb index c091b259bc2400670b5f34c3a122d3d5907bd1b7..44de66d06cc526ecd4e10b3e9ff0b604c810b827 100644 --- a/VECTO/Input Files/Engine.vb +++ b/VECTO/Input Files/Engine.vb @@ -288,7 +288,7 @@ Public Class Engine Public ReadOnly Property Manufacturer As String Implements IComponentInputData.Manufacturer Get ' Just for the interface. Value is not available in GUI yet. - Return TUGraz.VectoCore.Configuration.Constants.NOT_AVailABLE + Return TUGraz.VectoCore.Configuration.Constants.NOT_AVAILABLE End Get End Property @@ -307,7 +307,7 @@ Public Class Engine Public ReadOnly Property CertificationNumber As String Implements IComponentInputData.CertificationNumber Get ' Just for the interface. Value is not available in GUI yet. - Return TUGraz.VectoCore.Configuration.Constants.NOT_AVailABLE + Return TUGraz.VectoCore.Configuration.Constants.NOT_AVAILABLE End Get End Property diff --git a/VECTO/Input Files/Gearbox.vb b/VECTO/Input Files/Gearbox.vb index 2863acb3e629eacf92e2b4980bc714af337dfebf..8f5efd97494bc795887794e936146495de53917a 100644 --- a/VECTO/Input Files/Gearbox.vb +++ b/VECTO/Input Files/Gearbox.vb @@ -304,7 +304,7 @@ Public Class Gearbox Public ReadOnly Property Manufacturer As String Implements IComponentInputData.Manufacturer Get ' Just for the interface. Value is not available in GUI yet. - Return TUGraz.VectoCore.Configuration.Constants.NOT_AVailABLE + Return TUGraz.VectoCore.Configuration.Constants.NOT_AVAILABLE End Get End Property @@ -324,7 +324,7 @@ Public Class Gearbox Public ReadOnly Property CertificationNumber As String Implements IComponentInputData.CertificationNumber Get ' Just for the interface. Value is not available in GUI yet. - Return TUGraz.VectoCore.Configuration.Constants.NOT_AVailABLE + Return TUGraz.VectoCore.Configuration.Constants.NOT_AVAILABLE End Get End Property diff --git a/VECTO/Input Files/Vehicle.vb b/VECTO/Input Files/Vehicle.vb index 16c2e433796baaaefc6d680cccfd4792cc7bd1d4..abd5cfd43b10d99a3f81341cac9f83f4f8c45e09 100644 --- a/VECTO/Input Files/Vehicle.vb +++ b/VECTO/Input Files/Vehicle.vb @@ -278,14 +278,14 @@ Public Class Vehicle Public ReadOnly Property Manufacturer As String Implements IComponentInputData.Manufacturer Get ' Just for the interface. Value is not available in GUI yet. - Return TUGraz.VectoCore.Configuration.Constants.NOT_AVailABLE + Return TUGraz.VectoCore.Configuration.Constants.NOT_AVAILABLE End Get End Property Public ReadOnly Property Model As String Implements IComponentInputData.Model Get ' Just for the interface. Value is not available in GUI yet. - Return TUGraz.VectoCore.Configuration.Constants.NOT_AVailABLE + Return TUGraz.VectoCore.Configuration.Constants.NOT_AVAILABLE End Get End Property @@ -305,7 +305,7 @@ Public Class Vehicle Public ReadOnly Property CertificationNumber As String Implements IComponentInputData.CertificationNumber Get ' Just for the interface. Value is not available in GUI yet. - Return TUGraz.VectoCore.Configuration.Constants.NOT_AVailABLE + Return TUGraz.VectoCore.Configuration.Constants.NOT_AVAILABLE End Get End Property @@ -343,7 +343,7 @@ Public Class Vehicle Public ReadOnly Property VIN As String Implements IVehicleDeclarationInputData.VIN Get - Return TUGraz.VectoCore.Configuration.Constants.NOT_AVailABLE + Return TUGraz.VectoCore.Configuration.Constants.NOT_AVAILABLE End Get End Property @@ -375,7 +375,7 @@ Public Class Vehicle Public ReadOnly Property ManufacturerAddress As String Implements IVehicleDeclarationInputData.ManufacturerAddress Get - Return TUGraz.VectoCore.Configuration.Constants.NOT_AVailABLE + Return TUGraz.VectoCore.Configuration.Constants.NOT_AVAILABLE End Get End Property @@ -702,7 +702,7 @@ Public Class Vehicle End Get End Property - Public ReadOnly Property SleeperCab As Boolean Implements IVehicleDeclarationInputData.SleeperCab + Public ReadOnly Property SleeperCab As Boolean? Implements IVehicleDeclarationInputData.SleeperCab get Return DeclarationData.Vehicle.SleeperCabDefault End Get diff --git a/VECTO/VECTO.vbproj b/VECTO/VECTO.vbproj index fd2ab458332bb4563f19e8931801ebaa6d9f110c..9463ece52b59be4e8f6f444d1e6903d9d85599de 100644 --- a/VECTO/VECTO.vbproj +++ b/VECTO/VECTO.vbproj @@ -141,7 +141,7 @@ <PlatformTarget>AnyCPU</PlatformTarget> <WarningsAsErrors>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</WarningsAsErrors> <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> - <DefineConstants>CERTIFICATION_RELEASE</DefineConstants> + <DefineConstants>RELEASE_CANDIDATE</DefineConstants> <Prefer32Bit>false</Prefer32Bit> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Deploy|x86'"> diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs index c32b74e64f87ebf3f0dda956950ecda317d2f756..914d702e4f9be1e017ef31316919f3338ed4b07b 100644 --- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs +++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs @@ -137,7 +137,7 @@ namespace TUGraz.VectoCommon.InputData bool VocationalVehicle { get; } - bool SleeperCab { get; } + bool? SleeperCab { get; } TankSystem? TankSystem { get; } diff --git a/VectoCommon/VectoCommon/Models/AxleConfiguration.cs b/VectoCommon/VectoCommon/Models/AxleConfiguration.cs index 5994a42c8eacc3ea957d4969b1d063293ff4f6dc..faed4ec4936407e421deb8a32d16b9eff1bb9eed 100644 --- a/VectoCommon/VectoCommon/Models/AxleConfiguration.cs +++ b/VectoCommon/VectoCommon/Models/AxleConfiguration.cs @@ -38,6 +38,7 @@ namespace TUGraz.VectoCommon.Models [SuppressMessage("ReSharper", "InconsistentNaming")] public enum AxleConfiguration { + AxleConfig_Undefined, AxleConfig_4x2, AxleConfig_4x4, AxleConfig_6x2, @@ -47,7 +48,6 @@ namespace TUGraz.VectoCommon.Models AxleConfig_8x4, AxleConfig_8x6, AxleConfig_8x8, - AxleConfig_Undefined, } public enum AxleType diff --git a/VectoCommon/VectoCommon/Properties/Version.cs b/VectoCommon/VectoCommon/Properties/Version.cs index 9bb6fa870a4b054928803dc83e8b68ec84de7b47..83253151becc2bb6ef89817646a9935538761a0b 100644 --- a/VectoCommon/VectoCommon/Properties/Version.cs +++ b/VectoCommon/VectoCommon/Properties/Version.cs @@ -30,5 +30,5 @@ */ using System.Reflection; -[assembly: AssemblyVersion("3.3.9.2175")] -[assembly: AssemblyFileVersion("3.3.9.2175")] \ No newline at end of file +[assembly: AssemblyVersion("3.3.10.2373")] +[assembly: AssemblyFileVersion("3.3.10.2373")] \ No newline at end of file diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs index ec34b8123bd8886daad8a4468667576bb9a577e7..caf7233c1401eabf555400c5e2e8aaa05cd40cbc 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs +++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs @@ -1,33 +1,12 @@ -/* -* This file is part of VECTO. -* -* Copyright © 2012-2019 European Union -* -* Developed by Graz University of Technology, -* Institute of Internal Combustion Engines and Thermodynamics, -* Institute of Technical Informatics -* -* VECTO is licensed under the EUPL, Version 1.1 or - as soon they will be approved -* by the European Commission - subsequent versions of the EUPL (the "Licence"); -* You may not use VECTO except in compliance with the Licence. -* You may obtain a copy of the Licence at: -* -* https://joinup.ec.europa.eu/community/eupl/og_page/eupl -* -* Unless required by applicable law or agreed to in writing, VECTO -* distributed under the Licence is distributed on an "AS IS" basis, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the Licence for the specific language governing permissions and -* limitations under the Licence. -* -* Authors: -* Stefan Hausberger, hausberger@ivt.tugraz.at, IVT, Graz University of Technology -* Christian Kreiner, christian.kreiner@tugraz.at, ITI, Graz University of Technology -* Michael Krisper, michael.krisper@tugraz.at, ITI, Graz University of Technology -* Raphael Luz, luz@ivt.tugraz.at, IVT, Graz University of Technology -* Markus Quaritsch, markus.quaritsch@tugraz.at, IVT, Graz University of Technology -* Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology -*/ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ namespace TUGraz.VectoCommon.Resources { using System; @@ -40,7 +19,7 @@ namespace TUGraz.VectoCommon.Resources { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] public class XMLNames { @@ -1467,6 +1446,15 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to CO2StandardsGroup. + /// </summary> + public static string Report_CO2StandardsGroup { + get { + return ResourceManager.GetString("Report_CO2StandardsGroup", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to CertificationMethod. /// </summary> diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx index 4e3ede03d84abf02fcaa1af1bf09777557fc483e..3388ab7af72828f838eed56a4da6234b768d3b69 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.resx +++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx @@ -1053,4 +1053,7 @@ <data name="TorqueConverter_MaxInputSpeed" xml:space="preserve"> <value>MaxInputSpeed</value> </data> +<data name="Report_CO2StandardsGroup" xml:space="preserve"> + <value>CO2StandardsGroup</value> +</data> </root> \ No newline at end of file diff --git a/VectoCommon/VectoHashing/Properties/Version.cs b/VectoCommon/VectoHashing/Properties/Version.cs index e92ee9c5dd1949c672a3e395d7d1fa6f16b733b7..542d0f155bbdb57091f1be73f6ebf60941d93e10 100644 --- a/VectoCommon/VectoHashing/Properties/Version.cs +++ b/VectoCommon/VectoHashing/Properties/Version.cs @@ -30,5 +30,5 @@ */ using System.Reflection; -[assembly: AssemblyVersion("1.2.0.2175")] -[assembly: AssemblyFileVersion("1.2.0.2175")] +[assembly: AssemblyVersion("1.2.0.2373")] +[assembly: AssemblyFileVersion("1.2.0.2373")] diff --git a/VectoConsole/Properties/Version.cs b/VectoConsole/Properties/Version.cs index a9c920d11a8b8679856974e3e7425ea9701da6d7..ebb22d25f871ab3510b27b4abba7ce92b289cd4e 100644 --- a/VectoConsole/Properties/Version.cs +++ b/VectoConsole/Properties/Version.cs @@ -30,5 +30,5 @@ */ using System.Reflection; -[assembly: AssemblyVersion("3.3.9.2175")] -[assembly: AssemblyFileVersion("3.3.9.2175")] \ No newline at end of file +[assembly: AssemblyVersion("3.3.10.2373")] +[assembly: AssemblyFileVersion("3.3.10.2373")] \ No newline at end of file diff --git a/VectoCore/VectoCore/Configuration/Constants.cs b/VectoCore/VectoCore/Configuration/Constants.cs index 0bcd8fd498503ed8b1b0206f0912d95b35a980be..e5a3c015c634e0173462c0c6f26fbabd69c25d5d 100644 --- a/VectoCore/VectoCore/Configuration/Constants.cs +++ b/VectoCore/VectoCore/Configuration/Constants.cs @@ -36,7 +36,7 @@ namespace TUGraz.VectoCore.Configuration { public static class Constants { - public const string NOT_AVailABLE = "N/A"; + public const string NOT_AVAILABLE = "N/A"; public static Second DefaultPowerShiftTime = 0.8.SI<Second>(); public const double RPMToRad = 2 * Math.PI / 60; diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs index 8559e499e309c7948ce9151a2ce12638943b4f67..a972ea6c1474d00489dbecf9102f0438ed2a6ef0 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs @@ -349,7 +349,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON get { return DeclarationData.Vehicle.VocationalVehicleDefault; } } - public bool SleeperCab + public bool? SleeperCab { get { return DeclarationData.Vehicle.SleeperCabDefault; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONEngineData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONEngineData.cs index d537d272bfaddaf726150eaf3914f0326c853aea..72b2c7a840c2cc4efb46cb34f206ee53299dd865 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONEngineData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONEngineData.cs @@ -219,7 +219,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public string Manufacturer { - get { return Constants.NOT_AVailABLE; } + get { return Constants.NOT_AVAILABLE; } } public string Model @@ -230,7 +230,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public string Date { - get { return Constants.NOT_AVailABLE; } + get { return Constants.NOT_AVAILABLE; } } public CertificationMethod CertificationMethod @@ -240,7 +240,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public string CertificationNumber { - get { return Constants.NOT_AVailABLE; } + get { return Constants.NOT_AVAILABLE; } } public DigestData DigestValue diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs index f4134cb96aba726fd8895016e2127c64db02d562..2d8ad8224795fbdda9adb798a64aa3323dd2e300 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs @@ -473,7 +473,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public string Manufacturer { - get { return Constants.NOT_AVailABLE; } + get { return Constants.NOT_AVAILABLE; } } public string Model @@ -483,7 +483,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public string Date { - get { return Constants.NOT_AVailABLE; } + get { return Constants.NOT_AVAILABLE; } } public CertificationMethod CertificationMethod @@ -493,7 +493,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public string CertificationNumber { - get { return Constants.NOT_AVailABLE; } + get { return Constants.NOT_AVAILABLE; } } public DigestData DigestValue diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs index 40a862d3d34b17cd2b51afa94b6cfdacceda4e97..56838ba6fc0a4e4fcb5831f4516a23d22b538eea 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs @@ -95,7 +95,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public virtual string VIN { - get { return Constants.NOT_AVailABLE; } + get { return Constants.NOT_AVAILABLE; } } public virtual LegislativeClass LegislativeClass @@ -196,7 +196,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public virtual string ManufacturerAddress { - get { return Constants.NOT_AVailABLE; } + get { return Constants.NOT_AVAILABLE; } } public virtual PerSecond EngineIdleSpeed @@ -327,7 +327,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public virtual bool VocationalVehicle { get { return DeclarationData.Vehicle.VocationalVehicleDefault; } } - public virtual bool SleeperCab { get { return DeclarationData.Vehicle.SleeperCabDefault; } } + public virtual bool? SleeperCab { get { return DeclarationData.Vehicle.SleeperCabDefault; } } public virtual TankSystem? TankSystem { get { return DeclarationData.Vehicle.TankSystemDefault; } } public virtual IAdvancedDriverAssistantSystemDeclarationInputData ADAS { get { return this; } } @@ -579,17 +579,17 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public virtual string Manufacturer { - get { return Constants.NOT_AVailABLE; } + get { return Constants.NOT_AVAILABLE; } } public virtual string Model { - get { return Constants.NOT_AVailABLE; } + get { return Constants.NOT_AVAILABLE; } } public virtual string Date { - get { return Constants.NOT_AVailABLE; } + get { return Constants.NOT_AVAILABLE; } } public CertificationMethod CertificationMethod @@ -599,7 +599,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public virtual string CertificationNumber { - get { return Constants.NOT_AVailABLE; } + get { return Constants.NOT_AVAILABLE; } } public virtual DigestData DigestValue diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs index 6db977c721951a882b9e3bc74d7553f69f85a625..c72ccf84144c8cbb53f849ed4476bf3cf21f416a 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs @@ -166,7 +166,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public virtual AxleConfiguration AxleConfiguration { - get { return AxleConfigurationHelper.Parse(GetString(XMLNames.Vehicle_AxleConfiguration)); } + get + { + return ElementExists(XMLNames.Vehicle_AxleConfiguration) + ? AxleConfigurationHelper.Parse(GetString(XMLNames.Vehicle_AxleConfiguration)) + : AxleConfiguration.AxleConfig_Undefined; + } } public virtual string ManufacturerAddress @@ -215,9 +220,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider get { return XmlConvert.ToBoolean(GetString(XMLNames.Vehicle_VocationalVehicle)); } } - public virtual bool SleeperCab + public virtual bool? SleeperCab { - get { return XmlConvert.ToBoolean(GetString(XMLNames.Vehicle_SleeperCab)); } + get + { + return ElementExists(XMLNames.Vehicle_SleeperCab) + ? XmlConvert.ToBoolean(GetString(XMLNames.Vehicle_SleeperCab)) + : (bool?)null; + } } public virtual TankSystem? TankSystem @@ -316,7 +326,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider get { return false; } } - public override bool SleeperCab + public override bool? SleeperCab { get { return true; } } @@ -469,9 +479,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider get { return false; } } - public override bool SleeperCab + public override bool? SleeperCab { - get { return false; } + get { return null; } } public override TankSystem? TankSystem @@ -501,12 +511,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public override Watt MaxNetPower1 { - get { return GetDouble(XMLNames.Vehicle_MaxNetPower1).SI<Watt>(); } + get { return ElementExists(XMLNames.Vehicle_MaxNetPower1) ? GetDouble(XMLNames.Vehicle_MaxNetPower1).SI<Watt>() : null; } } public override Watt MaxNetPower2 { - get { return GetDouble(XMLNames.Vehicle_MaxNetPower2).SI<Watt>(); } + get { return ElementExists(XMLNames.Vehicle_MaxNetPower2) ? GetDouble(XMLNames.Vehicle_MaxNetPower2).SI<Watt>() : null; } } public override IVehicleComponentsDeclaration Components @@ -555,4 +565,40 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #endregion } + + // --------------------------------------------------------------------------------------- + + public class XMLDeclarationExemptedVehicleDataProviderV221 : XMLDeclarationExemptedVehicleDataProviderV22 + { + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V221; + + public new const string XSD_TYPE = "ExemptedVehicleDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = + XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + public XMLDeclarationExemptedVehicleDataProviderV221( + IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode, + sourceFile) + { + } + + public override bool? SleeperCab + { + get + { + return ElementExists(XMLNames.Vehicle_SleeperCab) ? XmlConvert.ToBoolean(GetString(XMLNames.Vehicle_SleeperCab)) : (bool?)null; + } + } + + public override AxleConfiguration AxleConfiguration + { + get + { + return ElementExists(XMLNames.Vehicle_AxleConfiguration) + ? AxleConfigurationHelper.Parse(GetString(XMLNames.Vehicle_AxleConfiguration)) + : AxleConfiguration.AxleConfig_Undefined; + } + } + } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV21InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV21InjectModule.cs index ea10c681251efe09ff1ea3c1050a884eb11478ad..77439ee53e07c002f28d8b523b8b580ad6497fed 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV21InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV21InjectModule.cs @@ -57,9 +57,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules .To<XMLDeclarationADASDataProviderV21>().Named( XMLDeclarationADASDataProviderV21.QUALIFIED_XSD_TYPE); - Bind<IXMLEngineDeclarationInputData>().To<XMLDeclarationEngineDataProviderV21>().Named( - XMLDeclarationEngineDataProviderV21.QUALIFIED_XSD_TYPE); - // --------------------------------------------------------------------------------------- Bind<IXMLJobDataReader>().To<XMLJobDataReaderV21>() diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV221InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV221InjectModule.cs new file mode 100644 index 0000000000000000000000000000000000000000..b94d2035f5529e0aa79bea3c26d5c9a59777d1d0 --- /dev/null +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV221InjectModule.cs @@ -0,0 +1,20 @@ +using Ninject.Modules; +using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; +using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; + +namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules +{ + public class XMLDeclarationInputDataV221InjectModule : NinjectModule + { + #region Overrides of NinjectModule + + public override void Load() + { + Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationExemptedVehicleDataProviderV221>() + .Named(XMLDeclarationExemptedVehicleDataProviderV221.QUALIFIED_XSD_TYPE); + + } + + #endregion + } +} \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationReaderInjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationReaderInjectModule.cs index ee091575f28f494f495c869bc65345b9fa7ff0eb..006ad0c4092f6e7b1836737b9ea0b3e07ed7c780 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationReaderInjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationReaderInjectModule.cs @@ -52,6 +52,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration new XMLDeclarationInputDataV20InjectModule(), new XMLDeclarationInputDataV21InjectModule(), new XMLDeclarationInputDataV22InjectModule(), + new XMLDeclarationInputDataV221InjectModule(), }); #endregion diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs index f70c20a5fcff136742f0f57065eb9e09c4345795..8785bcc9066860a1418e145d52acf57e2a32e3e3 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs @@ -154,7 +154,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider get { return false; } } - public bool SleeperCab + public bool? SleeperCab { get { return false; } } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs index 502dfae3a8170391f98fe93aa24b2bbb4e47fc29..650b811cddda31974158782ea40dbf3e8640ff9c 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs @@ -308,17 +308,22 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter }); } else { // segment intersects maxTorque line -> add new entry at intersection - var edgeFull = Edge.Create(new Point(entry.Item1.EngineSpeed.Value(), entry.Item1.TorqueFullLoad.Value()), + var edgeFull = Edge.Create( + new Point(entry.Item1.EngineSpeed.Value(), entry.Item1.TorqueFullLoad.Value()), new Point(entry.Item2.EngineSpeed.Value(), entry.Item2.TorqueFullLoad.Value())); - var edgeDrag = Edge.Create(new Point(entry.Item1.EngineSpeed.Value(), entry.Item1.TorqueDrag.Value()), + var edgeDrag = Edge.Create( + new Point(entry.Item1.EngineSpeed.Value(), entry.Item1.TorqueDrag.Value()), new Point(entry.Item2.EngineSpeed.Value(), entry.Item2.TorqueDrag.Value())); var intersectionX = (maxTorque.Value() - edgeFull.OffsetXY) / edgeFull.SlopeXY; - entries.Add(new EngineFullLoadCurve.FullLoadCurveEntry { - EngineSpeed = intersectionX.SI<PerSecond>(), - TorqueFullLoad = maxTorque, - TorqueDrag = VectoMath.Interpolate(edgeDrag.P1, edgeDrag.P2, intersectionX).SI<NewtonMeter>() - }); - entries.Add(new EngineFullLoadCurve.FullLoadCurveEntry { + if (!entries.Any(x => x.EngineSpeed.IsEqual(intersectionX)) && !intersectionX.IsEqual(entry.Item2.EngineSpeed.Value())) { + entries.Add(new EngineFullLoadCurve.FullLoadCurveEntry { + EngineSpeed = intersectionX.SI<PerSecond>(), + TorqueFullLoad = maxTorque, + TorqueDrag = VectoMath.Interpolate(edgeDrag.P1, edgeDrag.P2, intersectionX).SI<NewtonMeter>() + }); + } + + entries.Add(new EngineFullLoadCurve.FullLoadCurveEntry { EngineSpeed = entry.Item2.EngineSpeed, TorqueFullLoad = entry.Item2.TorqueFullLoad > maxTorque ? maxTorque : entry.Item2.TorqueFullLoad, TorqueDrag = entry.Item2.TorqueDrag diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs index c4530d72f8abd5e040524e54e16d70beaca14782..c6079a0a28d00299781053e5676240ded24eb06a 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs @@ -176,6 +176,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter exempted.DualFuelVehicle = data.DualFuelVehicle; exempted.MaxNetPower1 = data.MaxNetPower1; exempted.MaxNetPower2 = data.MaxNetPower2; + exempted.SleeperCab = data.SleeperCab; + exempted.AxleConfiguration = data.AxleConfiguration; + return exempted; } diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs index eba281e270f221d52660d8d17a374bb018339e69..20a87b969bbfedf3953de66157ac033646821293 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs @@ -91,6 +91,10 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl _dao = new DeclarationDataAdapter(); var vehicle = InputDataProvider.JobInputData.Vehicle; if (vehicle.ExemptedVehicle) { + if (vehicle.AxleConfiguration != AxleConfiguration.AxleConfig_Undefined) { + _segment = GetVehicleClassification(vehicle.VehicleCategory, + vehicle.AxleConfiguration, vehicle.GrossVehicleMassRating, vehicle.CurbMassChassis, false); + } return; } @@ -146,6 +150,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl VehicleData = _dao.CreateVehicleData(InputDataProvider.JobInputData.Vehicle, null, null, allowVocational), InputDataHash = InputDataProvider.XMLHash }; + powertrainConfig.VehicleData.VehicleClass = _segment.Found ? _segment.VehicleClass : VehicleClass.Class0; } else { powertrainConfig = new VectoRunData() { VehicleData = diff --git a/VectoCore/VectoCore/Models/Declaration/WeightingGroups.cs b/VectoCore/VectoCore/Models/Declaration/WeightingGroups.cs index 359cb23383f27a3c92138dc7527dae734b823103..16d76551bdc4647a6857f24e849bfaacb5bc7a4d 100644 --- a/VectoCore/VectoCore/Models/Declaration/WeightingGroups.cs +++ b/VectoCore/VectoCore/Models/Declaration/WeightingGroups.cs @@ -34,7 +34,9 @@ using System.Collections.Generic; using System.Data; using System.Linq; using System.Net.NetworkInformation; +using System.Text.RegularExpressions; using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Models.Declaration @@ -62,13 +64,39 @@ namespace TUGraz.VectoCore.Models.Declaration Unknown } - public class WeightingGroupHelper + public static class WeightingGroupHelper { public const string Prefix = "Group"; public static WeightingGroup Parse(string groupStr) { return (Prefix + groupStr.Replace("-", "")).ParseEnum<WeightingGroup>(); } + + public static string ToXMLFormat(this WeightingGroup group) + { + switch (group) { + case WeightingGroup.Group1: + case WeightingGroup.Group2: + case WeightingGroup.Group3: + case WeightingGroup.Group11: + case WeightingGroup.Group12: + case WeightingGroup.Group16: + case WeightingGroup.Unknown: + return Constants.NOT_AVAILABLE; + case WeightingGroup.Group4UD: + case WeightingGroup.Group4RD: + case WeightingGroup.Group4LH: + case WeightingGroup.Group5RD: + case WeightingGroup.Group5LH: + case WeightingGroup.Group9RD: + case WeightingGroup.Group9LH: + case WeightingGroup.Group10RD: + case WeightingGroup.Group10LH: + return string.Join("-", Regex.Split(group.ToString().Replace(Prefix, ""), @"(\d+|\w+)").Where(x => !string.IsNullOrWhiteSpace(x))); + default: + return Constants.NOT_AVAILABLE; + } + } } public class WeightingGroups : LookupData<VehicleClass, bool, Watt, WeightingGroup> diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs index aa5045f28ec32f07a41bc0b160e3b354fee07f2d..dc5a16ce0d2e149f66a3a3bdeff79f155939f61d 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs @@ -214,7 +214,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data public bool DualFuelVehicle { get; internal set; } public Watt MaxNetPower1 { get; internal set; } public Watt MaxNetPower2 { get; internal set; } - public bool SleeperCab { get; internal set; } + public bool? SleeperCab { get; internal set; } public ADASData ADAS { get; internal set; } public bool VocationalVehicle { get; internal set; } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs index 2bb060fe7225b78b0d3c9a2987454ee75b359404..8440b9a63750c69b61d8b3ee70f386d94fba7523 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs @@ -791,8 +791,50 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl forceLineSearch: DataBus.GearboxType.AutomaticTransmission() && !DataBus.TCLocked); return operatingPoint; - } catch (Exception) { - Log.Error("Failed to find operating point for braking power! absTime: {0}", absTime); + } catch (VectoSearchFailedException vse) { + Log.Error("Failed to find operating point for braking power! absTime: {0} {1}", absTime, vse); + if (DataBus.GearboxType.AutomaticTransmission() && !DataBus.TCLocked) { + // AT transmission in TC gear - maybe search failed because engine speed 'jumps' during + // search and cannot reach drag curve + // take an operating point that is + try { + DataBus.BrakePower = SearchAlgorithm.Search(DataBus.BrakePower, deltaPower, + DataBus.BrakePower * 0.01, + getYValue: result => { + var response = (ResponseDryRun)result; + return DataBus.ClutchClosed(absTime) + ? response.DeltaDragLoad + : response.GearboxPowerRequest; + }, + evaluateFunction: x => { + DataBus.BrakePower = x; + operatingPoint = ComputeTimeInterval(operatingPoint.Acceleration, ds); + + IterationStatistics.Increment(this, "SearchBrakingPower"); + DriverAcceleration = operatingPoint.Acceleration; + return NextComponent.Request(absTime, operatingPoint.SimulationInterval, + operatingPoint.Acceleration, gradient, + true); + }, + criterion: result => { + var response = (ResponseDryRun)result; + var delta = DataBus.ClutchClosed(absTime) + ? response.DeltaDragLoad + : response.GearboxPowerRequest; + return Math.Min(delta.Value(), 0); + }, + forceLineSearch: true); + return operatingPoint; + } catch (Exception e2) { + Log.Error("Failed to find operating point for braking power (attempt 2)! absTime: {0} {1}", absTime, e2); + throw; + } + + } else { + throw; + } + } catch (Exception e) { + Log.Error("Failed to find operating point for braking power! absTime: {0} {1}", absTime, e); throw; } } diff --git a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs index b774f06cdc0851f172bdb0329d0c219c0511ecb0..4029407bef559766b70ea6f93451fce5cd1cd0ac 100644 --- a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs @@ -703,7 +703,7 @@ namespace TUGraz.VectoCore.OutputData row[TOTAL_VEHICLE_MASS] = (ConvertedSI)data.TotalVehicleWeight; - row[SLEEPER_CAB] = data.SleeperCab ? "yes" : "no"; + row[SLEEPER_CAB] = data.SleeperCab.HasValue ? (data.SleeperCab.Value ? "yes" : "no") : "-"; row[ROLLING_RESISTANCE_COEFFICIENT_WO_TRAILER] = data.RollResistanceCoefficientWithoutTrailer; @@ -813,9 +813,9 @@ namespace TUGraz.VectoCore.OutputData ? "" : data.CertificationNumber; } else { - row[ANGLEDRIVE_MANUFACTURER] = Constants.NOT_AVailABLE; - row[ANGLEDRIVE_MODEL] = Constants.NOT_AVailABLE; - row[ANGLEDRIVE_RATIO] = Constants.NOT_AVailABLE; + row[ANGLEDRIVE_MANUFACTURER] = Constants.NOT_AVAILABLE; + row[ANGLEDRIVE_MODEL] = Constants.NOT_AVAILABLE; + row[ANGLEDRIVE_RATIO] = Constants.NOT_AVAILABLE; row[ANGLEDRIVE_CERTIFICATION_METHOD] = ""; row[ANGLEDRIVE_CERTIFICATION_NUMBER] = ""; } @@ -832,8 +832,8 @@ namespace TUGraz.VectoCore.OutputData ? "" : data.CertificationNumber; } else { - row[RETARDER_MANUFACTURER] = Constants.NOT_AVailABLE; - row[RETARDER_MODEL] = Constants.NOT_AVailABLE; + row[RETARDER_MANUFACTURER] = Constants.NOT_AVAILABLE; + row[RETARDER_MODEL] = Constants.NOT_AVAILABLE; row[RETARDER_CERTIFICATION_METHOD] = ""; row[RETARDER_CERTIFICATION_NUMBER] = ""; } @@ -871,8 +871,8 @@ namespace TUGraz.VectoCore.OutputData row[GEAR_RATIO_LAST_GEAR] = data.Gears.Count > 0 ? (ConvertedSI)data.Gears.Last().Value.Ratio.SI<Scalar>() : (ConvertedSI)0.SI<Scalar>(); - row[TORQUECONVERTER_MANUFACTURER] = Constants.NOT_AVailABLE; - row[TORQUECONVERTER_MODEL] = Constants.NOT_AVailABLE; + row[TORQUECONVERTER_MANUFACTURER] = Constants.NOT_AVAILABLE; + row[TORQUECONVERTER_MODEL] = Constants.NOT_AVAILABLE; row[TORQUE_CONVERTER_CERTIFICATION_METHOD] = ""; row[TORQUE_CONVERTER_CERTIFICATION_NUMBER] = ""; } diff --git a/VectoCore/VectoCore/OutputData/XML/AbstractXMLWriter.cs b/VectoCore/VectoCore/OutputData/XML/AbstractXMLWriter.cs index 6757abb34252c89eb185bc3d32931ecdfc159284..7ad1cfb97572867694da57769e5de1b85e0821d1 100644 --- a/VectoCore/VectoCore/OutputData/XML/AbstractXMLWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/AbstractXMLWriter.cs @@ -42,7 +42,7 @@ namespace TUGraz.IVT.VectoXML.Writer public abstract class AbstractXMLWriter { //protected const string SchemaLocationBaseUrl = "http://markus.quaritsch.at/VECTO/"; - public const string SchemaLocationBaseUrl = "https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD/"; + public const string SchemaLocationBaseUrl = "https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD/"; protected string SchemaVersion; // = "1.0"; diff --git a/VectoCore/VectoCore/OutputData/XML/XMLCustomerReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLCustomerReport.cs index b2b00935e63b03369da9ac2139a051fc2b2cf3b3..80bb2d5b80a93c9b7f0f5bcb345cf5a07dfc03d4 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLCustomerReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLCustomerReport.cs @@ -52,7 +52,8 @@ namespace TUGraz.VectoCore.OutputData.XML { public class XMLCustomerReport { - public const string CURRENT_SCHEMA_VERSION = "0.7"; + public const string SCHEMA_VERSION_STRING = "0.7"; + public const string CURRENT_SCHEMA_VERSION = "0.7.1"; protected readonly XElement VehiclePart; @@ -70,14 +71,17 @@ namespace TUGraz.VectoCore.OutputData.XML private Kilogram _weightedPayload = 0.SI<Kilogram>(); - public XMLCustomerReport() + public XMLCustomerReport(XMLDeclarationReport xmlDeclarationReport) { + DeclarationReport = xmlDeclarationReport; di = "http://www.w3.org/2000/09/xmldsig#"; tns = "urn:tugraz:ivt:VectoAPI:CustomerOutput:v" + CURRENT_SCHEMA_VERSION; VehiclePart = new XElement(tns + XMLNames.Component_Vehicle); Results = new XElement(tns + XMLNames.Report_Results); } + public XMLDeclarationReport DeclarationReport { get; } + public void Initialize(VectoRunData modelData) { var exempted = modelData.Exempted; @@ -96,6 +100,7 @@ namespace TUGraz.VectoCore.OutputData.XML exempted ? ExemptedData(modelData) : new[] { new XElement(tns + XMLNames.Vehicle_AxleConfiguration, modelData.VehicleData.AxleConfiguration.GetName()), new XElement(tns + XMLNames.Report_Vehicle_VehicleGroup, modelData.VehicleData.VehicleClass.GetClassNumber()), + new XElement(tns + XMLNames.Report_CO2StandardsGroup, DeclarationReport.WeightingGroup.ToXMLFormat()), new XElement(tns + XMLNames.Vehicle_VocationalVehicle, modelData.VehicleData.VocationalVehicle), new XElement(tns + XMLNames.Vehicle_SleeperCab, modelData.VehicleData.SleeperCab), GetADAS(modelData.VehicleData.ADAS) @@ -239,9 +244,9 @@ namespace TUGraz.VectoCore.OutputData.XML results.Add(summary); var vehicle = new XElement(VehiclePart); vehicle.Add(InputDataIntegrity); - retVal.Add(new XProcessingInstruction("xml-stylesheet", "href=\"https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/CSS/VectoReports.css\"")); + retVal.Add(new XProcessingInstruction("xml-stylesheet", "href=\"https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/CSS/VectoReports.css\"")); retVal.Add(new XElement(tns + XMLNames.VectoCustomerReport, - new XAttribute("schemaVersion", CURRENT_SCHEMA_VERSION), + new XAttribute("schemaVersion", SCHEMA_VERSION_STRING), new XAttribute(XNamespace.Xmlns + "xsi", xsi.NamespaceName), new XAttribute("xmlns", tns), new XAttribute(XNamespace.Xmlns + "di", di), diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs index c3f86038c1f370dbddf27b6e71946875a56f6c16..050864dafab16d1af72d8871f36290e027f86354 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs @@ -170,8 +170,8 @@ namespace TUGraz.VectoCore.OutputData.XML public XMLDeclarationReport(IReportWriter writer = null) : base(writer) { - _manufacturerReport = new XMLManufacturerReport(); - _customerReport = new XMLCustomerReport(); + _manufacturerReport = new XMLManufacturerReport(this); + _customerReport = new XMLCustomerReport(this); _monitoringReport = new XMLMonitoringReport(_manufacturerReport); } @@ -227,19 +227,28 @@ namespace TUGraz.VectoCore.OutputData.XML public override void InitializeReport(VectoRunData modelData) { - var weightingGroup = modelData.Exempted - ? WeightingGroup.Unknown - : DeclarationData.WeightingGroup.Lookup( - modelData.VehicleData.VehicleClass, modelData.VehicleData.SleeperCab, - modelData.EngineData.RatedPowerDeclared); - _weightingFactors = weightingGroup == WeightingGroup.Unknown + if (modelData.Exempted) { + WeightingGroup = WeightingGroup.Unknown; + } else { + if (modelData.VehicleData.SleeperCab == null) { + throw new VectoException("SleeperCab parameter is required"); + } + + WeightingGroup = DeclarationData.WeightingGroup.Lookup( + modelData.VehicleData.VehicleClass, modelData.VehicleData.SleeperCab.Value, + modelData.EngineData.RatedPowerDeclared); + } + + _weightingFactors = WeightingGroup == WeightingGroup.Unknown ? ZeroWeighting - : DeclarationData.WeightingFactors.Lookup(weightingGroup); + : DeclarationData.WeightingFactors.Lookup(WeightingGroup); _manufacturerReport.Initialize(modelData); _customerReport.Initialize(modelData); _monitoringReport.Initialize(modelData); } + public WeightingGroup WeightingGroup { get; protected set; } + private static IDictionary<Tuple<MissionType, LoadingType>, double> ZeroWeighting { get { diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationWriter.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationWriter.cs index 58f638a3bce93174894a51592542d189ef5685de..f99380d60b4e64fbe2785d16e69aecbf9e682f01 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationWriter.cs @@ -129,7 +129,7 @@ namespace TUGraz.VectoCore.OutputData.XML return new XElement(tns + XMLNames.Component_Vehicle, new XAttribute(XMLNames.Component_ID_Attr, id), - GetDefaultComponentElements(vehicle.CertificationNumber, vehicle.Model, Constants.NOT_AVailABLE), + GetDefaultComponentElements(vehicle.CertificationNumber, vehicle.Model, Constants.NOT_AVAILABLE), new XElement(tns + XMLNames.Vehicle_LegislativeClass, "N3"), new XElement(tns + XMLNames.Vehicle_VehicleCategory, vehicle.VehicleCategory.ToXMLFormat()), new XElement(tns + XMLNames.Vehicle_AxleConfiguration, vehicle.AxleConfiguration.GetName()), @@ -300,7 +300,7 @@ namespace TUGraz.VectoCore.OutputData.XML return new XElement((ns ?? tns) + XMLNames.Component_Axlegear, new XElement(tns + XMLNames.ComponentDataWrapper, new XAttribute(XMLNames.Component_ID_Attr, typeId), - GetDefaultComponentElements(typeId, Constants.NOT_AVailABLE), + GetDefaultComponentElements(typeId, Constants.NOT_AVAILABLE), new XElement(tns + "LineType", "Single portal axle"), new XElement(tns + XMLNames.Axlegear_Ratio, data.Ratio.ToXMLFormat(3)), new XElement(tns + XMLNames.Component_CertificationMethod, "Standard values"), @@ -375,7 +375,7 @@ namespace TUGraz.VectoCore.OutputData.XML return new XElement((ns ?? tns) + XMLNames.Component_AirDrag, new XElement(tns + XMLNames.ComponentDataWrapper, new XAttribute(XMLNames.Component_ID_Attr, id), - GetDefaultComponentElements(data.Model, Constants.NOT_AVailABLE), + GetDefaultComponentElements(data.Model, Constants.NOT_AVAILABLE), new XElement(tns + "CdxA_0", data.AirDragArea.Value().ToXMLFormat(2)), new XElement(tns + "TransferredCdxA", data.AirDragArea.Value().ToXMLFormat(2)), new XElement(tns + XMLNames.AirDrag_DeclaredCdxA, data.AirDragArea.Value().ToXMLFormat(2))), diff --git a/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs index 03586c20a8715391c33adb52a9790e86b8171d37..c8f7db8d3110c91420c60648a6407025a6b70e09 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs @@ -53,7 +53,8 @@ namespace TUGraz.VectoCore.OutputData.XML { public class XMLManufacturerReport { - public const string CURRENT_SCHEMA_VERSION = "0.7"; + public const string SCHEMA_VERSION_STRING = "0.7"; + public const string CURRENT_SCHEMA_VERSION = "0.7.1"; protected XElement VehiclePart; @@ -66,14 +67,17 @@ namespace TUGraz.VectoCore.OutputData.XML private bool _allSuccess = true; - public XMLManufacturerReport() + public XMLManufacturerReport(XMLDeclarationReport xmlDeclarationReport) { + DeclarationReport = xmlDeclarationReport; di = "http://www.w3.org/2000/09/xmldsig#"; tns = "urn:tugraz:ivt:VectoAPI:DeclarationOutput:v" + CURRENT_SCHEMA_VERSION; VehiclePart = new XElement(tns + XMLNames.Component_Vehicle); Results = new XElement(tns + XMLNames.Report_Results); } + public XMLDeclarationReport DeclarationReport { get; } + public void Initialize(VectoRunData modelData) { var exempted = modelData.Exempted; @@ -93,6 +97,7 @@ namespace TUGraz.VectoCore.OutputData.XML : new[] { new XElement(tns + XMLNames.Vehicle_AxleConfiguration, modelData.VehicleData.AxleConfiguration.GetName()), new XElement(tns + XMLNames.Report_Vehicle_VehicleGroup, modelData.VehicleData.VehicleClass.GetClassNumber()), + new XElement(tns + XMLNames.Report_CO2StandardsGroup, DeclarationReport.WeightingGroup.ToXMLFormat()), new XElement(tns + XMLNames.Vehicle_VocationalVehicle, modelData.VehicleData.VocationalVehicle), new XElement(tns + XMLNames.Vehicle_SleeperCab, modelData.VehicleData.SleeperCab), new XElement(tns + XMLNames.Vehicle_PTO, modelData.PTO != null), @@ -135,10 +140,26 @@ namespace TUGraz.VectoCore.OutputData.XML private XElement[] ExemptedData(VectoRunData modelData) { - return new [] { - modelData.VehicleData.HybridElectricHDV ? new XElement(tns + XMLNames.Vehicle_MaxNetPower1, XMLHelper.ValueAsUnit(modelData.VehicleData.MaxNetPower1, XMLNames.Unit_W)) : null, - modelData.VehicleData.HybridElectricHDV ? new XElement(tns + XMLNames.Vehicle_MaxNetPower2, XMLHelper.ValueAsUnit(modelData.VehicleData.MaxNetPower2, XMLNames.Unit_W)) : null - }; + var retVal = new List<XElement>(); + + if (modelData.VehicleData.AxleConfiguration != AxleConfiguration.AxleConfig_Undefined) { + retVal.Add(new XElement(tns + XMLNames.Vehicle_AxleConfiguration, modelData.VehicleData.AxleConfiguration.GetName())); + retVal.Add(new XElement(tns + XMLNames.Report_Vehicle_VehicleGroup, modelData.VehicleData.VehicleClass.GetClassNumber())); + } + + if (modelData.VehicleData.SleeperCab.HasValue) { + retVal.Add(new XElement(tns + XMLNames.Vehicle_SleeperCab, modelData.VehicleData.SleeperCab.Value)); + } + + if (modelData.VehicleData.MaxNetPower1 != null) + retVal.Add(new XElement(tns + XMLNames.Vehicle_MaxNetPower1, + XMLHelper.ValueAsUnit(modelData.VehicleData.MaxNetPower1, XMLNames.Unit_W))); + if (modelData.VehicleData.MaxNetPower2 != null) { + retVal.Add(new XElement(tns + XMLNames.Vehicle_MaxNetPower2, + XMLHelper.ValueAsUnit(modelData.VehicleData.MaxNetPower2, XMLNames.Unit_W))); + } + + return retVal.ToArray(); } private XElement CreateDummySig() @@ -403,9 +424,9 @@ namespace TUGraz.VectoCore.OutputData.XML results.AddFirst(new XElement(tns + XMLNames.Report_Result_Status, _allSuccess ? "success" : "error")); var vehicle = new XElement(VehiclePart); vehicle.Add(InputDataIntegrity); - retVal.Add(new XProcessingInstruction("xml-stylesheet", "href=\"https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/CSS/VectoReports.css\"")); + retVal.Add(new XProcessingInstruction("xml-stylesheet", "href=\"https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/CSS/VectoReports.css\"")); retVal.Add(new XElement(tns + XMLNames.VectoManufacturerReport, - new XAttribute("schemaVersion", CURRENT_SCHEMA_VERSION), + new XAttribute("schemaVersion", SCHEMA_VERSION_STRING), new XAttribute(XNamespace.Xmlns + "xsi", xsi.NamespaceName), new XAttribute("xmlns", tns), new XAttribute(XNamespace.Xmlns + "di", di), diff --git a/VectoCore/VectoCore/OutputData/XML/XMLMonitoringReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLMonitoringReport.cs index 4cc3fa9119c268386837041e876192244dda6fbe..9257578772e7ac8856e1b2dbb4be87b57563aba3 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLMonitoringReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLMonitoringReport.cs @@ -44,7 +44,9 @@ namespace TUGraz.VectoCore.OutputData.XML { public class XMLMonitoringReport { - public const string CURRENT_SCHEMA_VERSION = "0.7"; + public const string SCHEMA_VERSION_STRING = "0.7"; + + public const string CURRENT_SCHEMA_VERSION = "0.7.1"; private XMLManufacturerReport _manufacturerReport; @@ -93,11 +95,11 @@ namespace TUGraz.VectoCore.OutputData.XML //retVal.Add( // new XProcessingInstruction( - // "xml-stylesheet", "href=\"https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/CSS/VectoReports.css\"")); + // "xml-stylesheet", "href=\"https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/CSS/VectoReports.css\"")); retVal.Add( new XElement( tns + "VectoMonitoring", - new XAttribute("schemaVersion", CURRENT_SCHEMA_VERSION), + new XAttribute("schemaVersion", SCHEMA_VERSION_STRING), new XAttribute(XNamespace.Xmlns + "xsi", xsi.NamespaceName), new XAttribute("xmlns", tns), new XAttribute(XNamespace.Xmlns + "di", di), diff --git a/VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs index 43bf9c9974787b33ce939ffb8fedc19b77b0a275..cd73b24cbb2e9d469d76e008f43bdbbb7e394a02 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs @@ -246,7 +246,7 @@ namespace TUGraz.VectoCore.OutputData.XML var retVal = new XDocument(); retVal.Add( new XProcessingInstruction( - "xml-stylesheet", "href=\"https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/CSS/VectoReports.css\"")); + "xml-stylesheet", "href=\"https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/CSS/VectoReports.css\"")); retVal.Add( new XElement( tns + "VectoVTPReport", diff --git a/VectoCore/VectoCore/Properties/Version.cs b/VectoCore/VectoCore/Properties/Version.cs index 1d9ce5ab70a716527f9a202c85c2112044f7cf79..f8f2bf1f84d3cc923543ec306bd97d20946d924b 100644 --- a/VectoCore/VectoCore/Properties/Version.cs +++ b/VectoCore/VectoCore/Properties/Version.cs @@ -30,5 +30,5 @@ */ using System.Reflection; -[assembly: AssemblyVersion("3.3.9.2175")] -[assembly: AssemblyFileVersion("3.3.9.2175")] +[assembly: AssemblyVersion("3.3.10.2373")] +[assembly: AssemblyFileVersion("3.3.10.2373")] diff --git a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.1.0.xsd b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.1.0.xsd index bd1cb43f8dd34b6cccc0ce90b8839217cbb55c54..e722d017dde10dd0b2b4782f6242ec71fc8cdb00 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.1.0.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.1.0.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) --> <?xml-stylesheet type="text/xsl" href="../RenderTable.xslt"?> <xs:schema xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vectoParam="urn:tugraz:ivt:VectoAPI:ParameterDocumentation" xmlns:di="http://www.w3.org/2000/09/xmldsig#" targetNamespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:ParameterDocumentation ParameterDocumentation.xsd"> <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/> @@ -85,49 +85,52 @@ </xs:sequence> </xs:complexType> <xs:complexType name="AirDragDataDeclarationType"> - <xs:sequence> - <xs:element name="Manufacturer" type="tns:ManufacturerType"> - <xs:annotation> - <xs:documentation>P240</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="Model" type="tns:ModelType"> - <xs:annotation> - <xs:documentation>P241</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="CertificationNumber" type="tns:CertificationNumberType"> - <xs:annotation> - <xs:documentation>P268</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="Date" type="tns:DateTimeWithTimezone"> - <xs:annotation> - <xs:documentation>P243</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="AppVersion" type="tns:AppVersionType"> - <xs:annotation> - <xs:documentation>P244</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="CdxA_0" type="tns:AirdragCdxAType"> - <xs:annotation> - <xs:documentation>P245 - [m²]</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="TransferredCdxA" type="tns:AirdragCdxAType"> - <xs:annotation> - <xs:documentation>P246 - [m²]</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="DeclaredCdxA" type="tns:AirdragCdxAType"> - <xs:annotation> - <xs:documentation>P146 - [m²] Drag coefficient * Cross Sectional Area (Truck & Trailer)</xs:documentation> - </xs:annotation> - </xs:element> - </xs:sequence> - <xs:attribute name="id"/> + <xs:complexContent> + <xs:extension base="tns:AbstractAirdragDataDeclarationType"> + <xs:sequence> + <xs:element name="Manufacturer" type="tns:ManufacturerType"> + <xs:annotation> + <xs:documentation>P240</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Model" type="tns:ModelType"> + <xs:annotation> + <xs:documentation>P241</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationNumber" type="tns:CertificationNumberType"> + <xs:annotation> + <xs:documentation>P268</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Date" type="tns:DateTimeWithTimezone"> + <xs:annotation> + <xs:documentation>P243</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="AppVersion" type="tns:AppVersionType"> + <xs:annotation> + <xs:documentation>P244</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CdxA_0" type="tns:AirdragCdxAType"> + <xs:annotation> + <xs:documentation>P245 - [m²]</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="TransferredCdxA" type="tns:AirdragCdxAType"> + <xs:annotation> + <xs:documentation>P246 - [m²]</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="DeclaredCdxA" type="tns:AirdragCdxAType"> + <xs:annotation> + <xs:documentation>P146 - [m²] Drag coefficient * Cross Sectional Area (Truck & Trailer)</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> </xs:complexType> <xs:complexType name="AngledriveComponentDeclarationType"> <xs:sequence> @@ -1064,6 +1067,11 @@ <xs:documentation>P269 - bool</xs:documentation> </xs:annotation> </xs:element> + <xs:element name="SleeperCab" type="tns:SleeperCabType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P276 - bool</xs:documentation> + </xs:annotation> + </xs:element> <xs:element name="MaxNetPower1" type="tns:PowerType" minOccurs="0"> <xs:annotation> <xs:documentation>P277 - [W]</xs:documentation> @@ -2518,7 +2526,7 @@ ToDo: -0.00 <xs:enumeration value="8.5 R17.5"/> <xs:enumeration value="8 R17.5"/> <xs:enumeration value="LT265/75 R16"/> - <xs:enumeration value="385/55 R19.5"/> + <xs:enumeration value="385/55 R19.5"/> <xs:enumeration value="24 R21"/> <xs:enumeration value="205/70 R15C"/> <xs:enumeration value="215/70 R15C"/> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.2.1.xsd b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.2.1.xsd new file mode 100644 index 0000000000000000000000000000000000000000..7ad79eb94c6011e1e1e3bf39420ccb47e84cf362 --- /dev/null +++ b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.2.1.xsd @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- edited with XMLSpy v2021 (x64) (http://www.altova.com) by Markus Quaritsch (Technische Universität Graz) --> +<xs:schema xmlns:v2.2="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vectoParam="urn:tugraz:ivt:VectoAPI:ParameterDocumentation" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:ns1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.2.1" targetNamespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.2.1" elementFormDefault="qualified" attributeFormDefault="unqualified" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:ParameterDocumentation ParameterDocumentation.xsd"> + <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/> + <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"/> + <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" schemaLocation="VectoDeclarationDefinitions.2.1.xsd"/> + <xs:complexType name="ExemptedVehicleDeclarationType"> + <xs:complexContent> + <xs:extension base="v2.0:AbstractVehicleDeclarationType"> + <xs:sequence> + <xs:element name="Manufacturer" type="v1.0:ManufacturerType"> + <xs:annotation> + <xs:documentation>P235</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ManufacturerAddress" type="v1.0:ManufacturerAddressType"> + <xs:annotation> + <xs:documentation>P252</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Model" type="v1.0:ModelType"> + <xs:annotation> + <xs:documentation>P236</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="VIN" type="v1.0:VINType"> + <xs:annotation> + <xs:documentation>P238</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Date" type="v1.0:DateTimeWithTimezone"> + <xs:annotation> + <xs:documentation>P239</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="LegislativeClass" type="v1.0:LegislativeClassDeclarationType"> + <xs:annotation> + <xs:documentation>P251 - enum</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="VehicleCategory" type="v1.0:VehicleCategoryDeclarationType"> + <xs:annotation> + <xs:documentation>P036 - enum</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="AxleConfiguration" type="v1.0:VehicleAxleConfigurationDeclarationType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P037 - enum</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CurbMassChassis" type="v1.0:VehicleCurbMassChassisType"> + <xs:annotation> + <xs:documentation>P038 - [kg]</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="GrossVehicleMass" type="v1.0:VehicleGrossVehicleMassType"> + <xs:annotation> + <xs:documentation>P041 - [kg]</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ZeroEmissionVehicle" type="xs:boolean"/> + <xs:element name="SleeperCab" type="v1.0:SleeperCabType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P276 - bool</xs:documentation> + </xs:annotation> + </xs:element> + <xs:sequence minOccurs="0"> + <xs:element name="MaxNetPower1" type="xs:int"/> + <xs:element name="MaxNetPower2" type="xs:int"/> + </xs:sequence> + <xs:element name="HybridElectricHDV" type="xs:boolean"/> + <xs:element name="DualFuelVehicle" type="xs:boolean"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> +</xs:schema> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.xsd b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.xsd index 91299082a6640b01f946802f9cd389332c75e95c..d85651e68a3908dbc4f115ae9df6334edbf19dc0 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.xsd @@ -10,4 +10,5 @@ <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" schemaLocation="VectoDeclarationDefinitions.2.0.xsd"/> <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" schemaLocation="VectoDeclarationDefinitions.2.1.xsd"/> <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.2" schemaLocation="VectoDeclarationDefinitions.2.2.xsd"/> + <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.2.1" schemaLocation="VectoDeclarationDefinitions.2.2.1.xsd"/> </xs:schema> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoMonitoring.0.7.1.xsd b/VectoCore/VectoCore/Resources/XSD/VectoMonitoring.0.7.1.xsd new file mode 100644 index 0000000000000000000000000000000000000000..293d4f3dc0ea34aeb6fc8a330f227f2f1749d520 --- /dev/null +++ b/VectoCore/VectoCore/Resources/XSD/VectoMonitoring.0.7.1.xsd @@ -0,0 +1,241 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- edited with XMLSpy v2021 (x64) (http://www.altova.com) by Markus Quaritsch (Technische Universität Graz) --> +<xs:schema xmlns="urn:tugraz:ivt:VectoAPI:MonitoringOutput:v0.7" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vmrf="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.7.1" xmlns:ns1="urn:tugraz:ivt:VectoAPI:MonitoringOutput:v0.7.1" targetNamespace="urn:tugraz:ivt:VectoAPI:MonitoringOutput:v0.7.1" elementFormDefault="qualified" attributeFormDefault="unqualified"> + <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.7.1" schemaLocation="VectoOutputManufacturer.0.7.1.xsd"/> + <xs:element name="VectoMonitoring"> + <xs:complexType> + <xs:sequence> + <xs:element name="ManufacturerRecord" type="vmrf:VectoOutputManufacturerType"/> + <xs:element name="AdditionalData"> + <xs:complexType> + <xs:sequence> + <xs:element name="Vehicle"> + <xs:complexType> + <xs:sequence> + <xs:element name="Make" type="xs:string"> + <xs:annotation> + <xs:documentation>#15</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:sequence minOccurs="0"> + <xs:element name="Engine"> + <xs:complexType> + <xs:sequence> + <xs:element name="WHTC"> + <xs:complexType> + <xs:sequence> + <xs:element name="CO2"> + <xs:annotation> + <xs:documentation>#75</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" use="required"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="g/kWh"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="FuelConsumption"> + <xs:annotation> + <xs:documentation>#76</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" use="required"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="g/kWh"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="WHSC"> + <xs:complexType> + <xs:sequence> + <xs:element name="CO2"> + <xs:annotation> + <xs:documentation>#77</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" use="required"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="g/kWh"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="FuelConsumption"> + <xs:annotation> + <xs:documentation>#78</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" use="required"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="g/kWh"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Gearbox"> + <xs:complexType> + <xs:sequence> + <xs:element name="Manufacturer" type="xs:string"> + <xs:annotation> + <xs:documentation>#24</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ManufacturerAddress" type="xs:string"> + <xs:annotation> + <xs:documentation>#24</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Make" type="xs:string"> + <xs:annotation> + <xs:documentation>#25</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Axlegear"> + <xs:complexType> + <xs:sequence> + <xs:element name="Manufacturer" type="xs:string"> + <xs:annotation> + <xs:documentation>#32</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ManufacturerAddress" type="xs:string"> + <xs:annotation> + <xs:documentation>#32</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Make" type="xs:string"> + <xs:annotation> + <xs:documentation>#33</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="AxleWheels"> + <xs:complexType> + <xs:sequence> + <xs:element name="Axle" minOccurs="2" maxOccurs="4"> + <xs:complexType> + <xs:sequence> + <xs:element name="Tyre"> + <xs:complexType> + <xs:sequence> + <xs:element name="Manufacturer" type="xs:string"> + <xs:annotation> + <xs:documentation>#39</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ManufacturerAddress" type="xs:string"> + <xs:annotation> + <xs:documentation>#39</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Make" type="xs:string"> + <xs:annotation> + <xs:documentation>#40</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </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:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:element name="AdvancedReducingTechnologies"> + <xs:annotation> + <xs:documentation>#74</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="Entry" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="category" use="required"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="advanced aerodynamic measures"/> + <xs:enumeration value="advanced rolling resistance measures"/> + <xs:enumeration value="advanced drivetrain technologies"/> + <xs:enumeration value="advanced engine technologies"/> + <xs:enumeration value="advanced auxiliary technologies"/> + <xs:enumeration value="additional ADAS technologies"/> + <xs:enumeration value="advanced powertrain integration and hybridisation"/> + <xs:enumeration value="other"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="VectoLicenseNbr" type="xs:string"> + <xs:annotation> + <xs:documentation>#72</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="schemaVersion" type="xs:decimal" use="required"/> + </xs:complexType> + </xs:element> +</xs:schema> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoMonitoring.xsd b/VectoCore/VectoCore/Resources/XSD/VectoMonitoring.xsd index b2cd8b1b8ef878b41074466df970e372e26e7cdd..b084c4d5aea31bccfcab2a679d1702046898287b 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoMonitoring.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoMonitoring.xsd @@ -1,10 +1,11 @@ <?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:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="urn:tugraz:ivt:VectoAPI:MonitoringOutput" elementFormDefault="qualified" attributeFormDefault="unqualified" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:ParameterDocumentation ParameterDocumentation.xsd"> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="urn:tugraz:ivt:VectoAPI:MonitoringOutput" xmlns:ns2="urn:tugraz:ivt:VectoAPI:MonitoringOutput:v0.7" targetNamespace="urn:tugraz:ivt:VectoAPI:MonitoringOutput" elementFormDefault="qualified" attributeFormDefault="unqualified" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:ParameterDocumentation ParameterDocumentation.xsd"> <!-- This is a convienience file that imports the schema for all supported versions of customer information file and all supported declaration definitions --> <xs:import namespace="urn:tugraz:ivt:VectoAPI:MonitoringOutput:v0.7" schemaLocation="VectoMonitoring.0.7.xsd"/> + <xs:import namespace="urn:tugraz:ivt:VectoAPI:MonitoringOutput:v0.7.1" schemaLocation="VectoMonitoring.0.7.1.xsd"/> </xs:schema> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.7.1.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.7.1.xsd new file mode 100644 index 0000000000000000000000000000000000000000..0f9f51b46aabb63f380be133885bee234cf6eca2 --- /dev/null +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.7.1.xsd @@ -0,0 +1,474 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- edited with XMLSpy v2021 (x64) (http://www.altova.com) by Markus Quaritsch (Technische Universität Graz) --> +<!--W3C XML Schema generated by XMLSpy vXMLSpy Professional Edition v2016 rel. 2 (x64) (http://www.altova.com)--> +<xs:schema xmlns="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.7.1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" targetNamespace="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.7.1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.7"> + <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" schemaLocation="VectoDeclarationDefinitions.1.0.xsd"/> + <xs:element name="VectoCustomerInformation"> + <xs:complexType> + <xs:sequence> + <xs:element name="Data"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="VectoOutputDataType"/> + </xs:complexContent> + </xs:complexType> + </xs:element> + <xs:element name="Signature" type="vdecdef:SignatureType"/> + </xs:sequence> + <xs:attribute name="schemaVersion" type="xs:decimal" use="required"/> + </xs:complexType> + </xs:element> + <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: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="ResultType"> + <xs:sequence> + <xs:element name="Mission" type="MissionTypeType"/> + <xs:choice> + <xs:sequence> + <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="FuelType" type="xs:string"/> + <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="FuelConsumption" type="FuelConsumptionType" maxOccurs="unbounded"/> + <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:complexType> + <xs:complexType name="VectoOutputDataType"> + <xs:sequence> + <xs:element name="Vehicle" type="VehicleType"/> + <xs:element name="ResultDataSignature" type="vdecdef:SignatureType"> + <xs:annotation> + <xs:documentation>II.3</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Results"> + <xs:complexType> + <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="ResultType" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>II.2.1, II.2.2</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Summary" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="SpecificCO2Emissions"> + <xs:annotation> + <xs:documentation>II.2.3</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" use="required"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="gCO2/tkm"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="AveragePayload"> + <xs:annotation> + <xs:documentation>II.2.4</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" use="required"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="t"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:element name="ExemptedVehicle"> + <xs:complexType/> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="ApplicationInformation"> + <xs:complexType> + <xs:sequence> + <xs:element name="SimulationToolVersion" type="xs:string"> + <xs:annotation> + <xs:documentation>II.2.5</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Date" type="vdecdef:DateTimeWithTimezone"> + <xs:annotation> + <xs:documentation>II.2.5</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="id" type="xs:NCName" use="required"/> + </xs:complexType> + <xs:complexType name="VehiclePerformanceType"> + <xs:sequence/> + </xs:complexType> + <xs:complexType name="VehicleType"> + <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:choice> + <xs:sequence> + <xs:element name="AxleConfiguration" type="vdecdef:VehicleAxleConfigurationDeclarationType"> + <xs:annotation> + <xs:documentation>P037 / II.1.1.3</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="VehicleGroup" type="VehicleGroupType"> + <xs:annotation> + <xs:documentation>VECTO / II.1.1.5</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CO2StandardsGroup"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + </xs:restriction> + </xs:simpleType> + </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="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="vdecdef:EngineRatedPower"> + <xs:attribute name="unit" type="PowerUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="EngineDisplacement"> + <xs:annotation> + <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="DisplacementType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="FuelType" type="vdecdef:FuelTypeType"> + <xs:annotation> + <xs:documentation>P193 / II.1.2.3</xs:documentation> + </xs:annotation> + </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="AverageFuelEfficiencyLabelMotorVehicleTyres"> + <xs:annotation> + <xs:documentation>II.1.2.10 // classification of AverageRRCMotorVehicleTyres according to 1222/2009 C3 tyres </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + <xs:maxLength value="1"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + </xs:sequence> + <xs:sequence> + <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:sequence> + </xs:choice> + <xs:element name="InputDataSignature" type="vdecdef:SignatureType"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="AccelerationUnitType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="m/s²"/> + </xs:restriction> + </xs:simpleType> + <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: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="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: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="MissionTypeType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="Long Haul EMS"/> + <xs:enumeration value="Long Haul"/> + <xs:enumeration value="Regional Delivery EMS"/> + <xs:enumeration value="Regional Delivery"/> + <xs:enumeration value="Urban Delivery"/> + <xs:enumeration value="Municipal Utility"/> + <xs:enumeration value="Construction"/> + </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="VehicleGroupType"> + <xs:restriction base="xs:int"> + <xs:minInclusive value="1"/> + <xs:maxInclusive value="16"/> + </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="DisplacementType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="ltr"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ADASType"> + <xs:sequence> + <xs:element name="EngineStopStart" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P271 / II.1.2.11</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="EcoRollWithoutEngineStop" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P272 / II.1.2.12</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="EcoRollWithEngineStop" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P273 / II.1.2.13</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="PredictiveCruiseControl" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P274 / II.1.2.14</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> +</xs:schema> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.xsd index 243edf30180c83a4ae7e92b58f2059f1676e637b..7ab5c7037a75ce81cbb95bbb86b6d5c6ab896801 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.xsd @@ -1,6 +1,6 @@ <?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:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="urn:tugraz:ivt:VectoAPI:CustomerOutput" elementFormDefault="qualified" attributeFormDefault="unqualified" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:ParameterDocumentation ParameterDocumentation.xsd"> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="urn:tugraz:ivt:VectoAPI:CustomerOutput" xmlns:ns2="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.5" xmlns:ns3="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.7" targetNamespace="urn:tugraz:ivt:VectoAPI:CustomerOutput" elementFormDefault="qualified" attributeFormDefault="unqualified" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:ParameterDocumentation ParameterDocumentation.xsd"> <!-- This is a convienience file that imports the schema for all supported versions of customer information file and all supported declaration definitions @@ -8,4 +8,5 @@ --> <xs:import namespace="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.5" schemaLocation="VectoOutputCustomer.0.5.xsd"/> <xs:import namespace="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.7" schemaLocation="VectoOutputCustomer.0.7.xsd"/> + <xs:import namespace="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.7.1" schemaLocation="VectoOutputCustomer.0.7.1.xsd"/> </xs:schema> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.7.1.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.7.1.xsd new file mode 100644 index 0000000000000000000000000000000000000000..c2ba382daf281643890576396b875a54cd66237e --- /dev/null +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.7.1.xsd @@ -0,0 +1,972 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- edited with XMLSpy v2021 (x64) (http://www.altova.com) by Markus Quaritsch (Technische Universität Graz) --> +<!--W3C XML Schema generated by XMLSpy vXMLSpy Professional Edition v2016 rel. 2 (x64) (http://www.altova.com)--> +<xs:schema xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.7.1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" targetNamespace="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.7.1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.7"> + <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" schemaLocation="VectoDeclarationDefinitions.1.0.xsd"/> + <xs:element name="VectoOutput"> + <xs:annotation> + <xs:documentation>Comment describing your root element</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:complexContent> + <xs:extension base="VectoOutputManufacturerType"> + <xs:attribute name="schemaVersion" type="xs:decimal" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <xs:complexType name="AirdragType"> + <xs:sequence> + <xs:element name="Model" minOccurs="0"> + <xs:annotation> + <xs:documentation>P241 / I.1.8.1 / #96</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationMethod" type="AirdragCertificationOptionType"> + <xs:annotation> + <xs:documentation>VECTO / I.1.8.2 / #22</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P268 / I.1.8.3 / #3</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="DigestValue" type="xs:token" minOccurs="0"> + <xs:annotation> + <xs:documentation>? / I.1.8.5</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CdxA" type="vdecdef:AirdragCdxAType"> + <xs:annotation> + <xs:documentation>P245 / I.1.8.4 / #23</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 / I.1.6.1 / #93</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationMethod" type="vdecdef:AngledriveCertificationOptionType"> + <xs:annotation> + <xs:documentation>P258 / I.1.6.3 / #37</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P265 / I.1.6.2 / #94</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="DigestValue" type="xs:token"> + <xs:annotation> + <xs:documentation>? / I.1.6.5</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Ratio" type="vdecdef:AngledriveRatioType"> + <xs:annotation> + <xs:documentation>P176 / I.1.6.4 / #38</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 / I.1.10.1 / #52</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="SteeringPumpTechnology" maxOccurs="4"> + <xs:annotation> + <xs:documentation>P182 / I.1.10.2 / #53</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="vdecdef:AuxSPTechnologyType"/> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="ElectricSystemTechnology" type="vdecdef:AuxESTechnologyType"> + <xs:annotation> + <xs:documentation>P183 / I.1.10.3 / #54</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="PneumaticSystemTechnology" type="vdecdef:AuxPSTechnologyType"> + <xs:annotation> + <xs:documentation>P184 / I.1.10.4 / #55</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:sequence> + </xs:complexType> + <xs:complexType name="AxlegearType"> + <xs:sequence> + <xs:element name="Model" type="vdecdef:ModelType"> + <xs:annotation> + <xs:documentation>P216 / I.1.7.1 / #95</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationMethod" type="vdecdef:AxlegearCertificationOptionType"> + <xs:annotation> + <xs:documentation>P256 I.1.7.3 / #34</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P264 / I.1.7.2 / #5</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="DigestValue" type="xs:token"> + <xs:annotation> + <xs:documentation>? / I.1.7.6</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="LineType" type="vdecdef:AxlegearLineTypeType"> + <xs:annotation> + <xs:documentation>P253 / I.1.7.4 / #35</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Ratio" type="vdecdef:AxlegearRatioType"> + <xs:annotation> + <xs:documentation>P150 / I.1.7.5 / #36</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 / I.1.9.1, I.1.9.4, I.1.9.8, I.1.9.12 / #41, #43, #46, #49</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="TyreCertificationNumber" type="vdecdef:CertificationNumberType"> + <xs:annotation> + <xs:documentation>P267 / I.1.9.2, I.1.9.6, I.1.9.10, I.1.9.14, #6, #7, #8, #9</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="DigestValue" type="xs:token"> + <xs:annotation> + <xs:documentation>? / I.1.9.3a, I.1.9.7a, I.1.9.11a, I.1.9.16</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="TyreRRCDeclared" type="vdecdef:TyreRRCISOType"> + <xs:annotation> + <xs:documentation>P046 / I.1.9.3, I.1.9.7, I.1.9.11, I.1.9.15 / #42, #45, #48, #51</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="TwinTyres" type="vdecdef:AxleTwinTyresType"> + <xs:annotation> + <xs:documentation>P045 / I.1.9.5, I.1.9.9, I.1.9.13, #44, #47, #50</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="CO2Type"> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="CO2UnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:complexType name="ComponentDescriptionType"> + <xs:sequence> + <xs:element name="Model" type="vdecdef:ModelType"/> + <xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType"/> + <xs:element name="DigestValue" type="xs:token"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="EngineType"> + <xs:sequence> + <xs:element name="Model" type="vdecdef:ModelType"> + <xs:annotation> + <xs:documentation>P201 / I.1.2.1 / #85</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType"> + <xs:annotation> + <xs:documentation>P261 / I.1.2.2 / #2</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="DigestValue" type="xs:token"> + <xs:annotation> + <xs:documentation>? / I.2.8</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="RatedPower"> + <xs:annotation> + <xs:documentation>P250 / I.1.2.3 / #17</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="vdecdef:EngineRatedPower"> + <xs:attribute name="unit" type="PowerUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="IdlingSpeed"> + <xs:annotation> + <xs:documentation>P063, P198 / I.1.2.4 / #18</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="vdecdef:EngineDeclaredSpeedType"> + <xs:attribute name="unit" type="AngularVelocityUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="RatedSpeed"> + <xs:annotation> + <xs:documentation>P249 / I.1.2.5 / #19</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="vdecdef:EngineDeclaredSpeedType"> + <xs:attribute name="unit" type="AngularVelocityUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Displacement"> + <xs:annotation> + <xs:documentation>P061 / I.1.2.6 / #20</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="DisplacementType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="FuelType" type="vdecdef:FuelTypeType"> + <xs:annotation> + <xs:documentation>P193 / I.1.2.7 / #21</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <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="GearboxType"> + <xs:sequence> + <xs:element name="Model" type="vdecdef:ModelType"> + <xs:annotation> + <xs:documentation>P205 / I.1.3.1 / #86</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationMethod" type="vdecdef:GearboxCertificationOptionType"> + <xs:annotation> + <xs:documentation>P154 / I.1.3.3 / #26</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P262 / I.1.3.2 / #4</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="DigestValue" type="xs:token"> + <xs:annotation> + <xs:documentation>? / I.1.3.9</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="TransmissionType" type="vdecdef:GearboxTransmissionTypeType"> + <xs:annotation> + <xs:documentation>P076 / I.1.3.4 / #27</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="GearsCount"> + <xs:annotation> + <xs:documentation>P199 / I.1.3.5 / #28</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 / I.1.3.6 / #29</xs:documentation> + </xs:annotation> + </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:sequence> + <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="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: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:sequence> + <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:complexType> + <xs:complexType name="RetarderType"> + <xs:sequence> + <xs:element name="RetarderType" type="vdecdef:RetarderTypeType"> + <xs:annotation> + <xs:documentation>P052 / I.1.3.7 / #30</xs:documentation> + </xs:annotation> + </xs:element> + <xs:sequence minOccurs="0"> + <xs:element name="Model" type="vdecdef:ModelType"> + <xs:annotation> + <xs:documentation>P226 / I.1.4.1 / #87</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationMethod" type="vdecdef:RetarderCertificationOptionType"> + <xs:annotation> + <xs:documentation>P255 / I.1.4.3 / #89</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P266 / I.1.4.2 / #88</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="DigestValue" type="xs:token"> + <xs:annotation> + <xs:documentation>? / I.1.4.4</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:sequence> + </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: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="FuelType" type="xs:string"> + <xs:annotation> + <xs:documentation>P193, P275 / I.2.1.3 / #58</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TorqueconverterType"> + <xs:sequence> + <xs:element name="Model" type="vdecdef:ModelType"> + <xs:annotation> + <xs:documentation>P211 / I.1.5.1 / #90</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationMethod" type="vdecdef:TorqueConverterCertificationOptionType"> + <xs:annotation> + <xs:documentation>P257 / I.1.5.3 / #92</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CertificationNumber" type="vdecdef:CertificationNumberType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P263 / I.1.5.2 / #91</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="DigestValue" type="xs:token"> + <xs:annotation> + <xs:documentation>? / I.1.5.4</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="TorqueLimitsEntryType"> + <xs:attribute name="gear" type="vdecdef:GearboxGearNumberType" use="required"> + <xs:annotation> + <xs:documentation>P196</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="torqueLimit" type="vdecdef:TorqueLimitEntryMaxTorqueType" use="required"> + <xs:annotation> + <xs:documentation>P197 / P194</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="unit" use="required"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="Nm"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="torqueLimitPercent" use="required"> + <xs:annotation> + <xs:documentation>/ I.1.11.*</xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:float"> + <xs:minInclusive value="0.0"/> + <xs:maxInclusive value="100.0"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + <xs:complexType name="TorqueLimitsType"> + <xs:sequence> + <xs:element name="Entry" maxOccurs="unbounded"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="TorqueLimitsEntryType"/> + </xs:complexContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="VectoOutputDataType"> + <xs:sequence> + <xs:element name="Vehicle" type="VehicleType"/> + <xs:element name="Results"> + <xs:complexType> + <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="ResultType" maxOccurs="unbounded"/> + </xs:sequence> + <xs:element name="ExemptedVehicle"> + <xs:complexType/> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="ApplicationInformation"> + <xs:complexType> + <xs:sequence> + <xs:element name="SimulationToolVersion" type="xs:string"> + <xs:annotation> + <xs:documentation>I.3.1.1 / #70</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Date" type="vdecdef:DateTimeWithTimezone"> + <xs:annotation> + <xs:documentation>I.3.1.2 / #71</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="id" type="xs:NCName" use="required"/> + </xs:complexType> + <xs:complexType name="VehiclePerformanceType"> + <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="AverageDrivingSpeed"> + <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="MinSpeed"> + <xs:annotation> + <xs:documentation>I.2.2.2 / #61</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="MaxSpeed"> + <xs:annotation> + <xs:documentation>I.2.2.3 / #62</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="MaxDeceleration"> + <xs:annotation> + <xs:documentation>I.2.2.4 / #63</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="AccelerationUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="MaxAcceleration"> + <xs:annotation> + <xs:documentation>I.2.2.5 / #64</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="AccelerationUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="FullLoadDrivingtimePercentage"> + <xs:annotation> + <xs:documentation>I.2.2.6 / #65</xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:double"> + <xs:minInclusive value="0"/> + <xs:maxInclusive value="100"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="GearshiftCount" type="xs:int"> + <xs:annotation> + <xs:documentation>I.2.2.7 / #66</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="EngineSpeedDriving" type="EngineSpeedDrivingType"/> + <xs:element name="AverageGearboxEfficiency"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="PercentType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="AverageAxlegearEfficiency"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="PercentType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="VehicleType"> + <xs:sequence> + <xs:element name="Model" type="vdecdef:ModelType"> + <xs:annotation> + <xs:documentation>P236 / I.1.1.2 / #79</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Manufacturer" type="vdecdef:ManufacturerType"> + <xs:annotation> + <xs:documentation>P235 / I.1.1.1 / #14</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ManufacturerAddress" type="vdecdef:ManufacturerAddressType"> + <xs:annotation> + <xs:documentation>P252 / I.1.1.1 / #14</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="VIN" type="vdecdef:VINType"> + <xs:annotation> + <xs:documentation>P238 / I.1.1.3 / #1</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="LegislativeClass" type="vdecdef:LegislativeClassDeclarationType"> + <xs:annotation> + <xs:documentation>P251 / I.1.1.4 / #10</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="GrossVehicleMass"> + <xs:annotation> + <xs:documentation>P041 / I.1.1.6 / #12</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 / I.1.1.8 / #16</xs:documentation> + <xs:documentation>P038 / I.1.1.8 / #16</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 / I.1.1.10 / #81</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="HybridElectricHDV" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P279 / I.1.1.11 / #82</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="DualFuelVehicle" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P280 / I.1.1.12 / #83</xs:documentation> + </xs:annotation> + </xs:element> + <xs:sequence minOccurs="0"> + <xs:element name="AxleConfiguration" type="vdecdef:VehicleAxleConfigurationDeclarationType"> + <xs:annotation> + <xs:documentation>P037 / I.1.1.5 / #11</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="VehicleGroup" type="VehicleGroupType"> + <xs:annotation> + <xs:documentation>VECTO / I.1.1.7 / #13</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:choice> + <xs:sequence> + <xs:element name="CO2StandardsGroup"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="VocationalVehicle" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P270 / I.1.1.9 / #80</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="SleeperCab" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P276 / I.1.1.13 / #84</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="PTO" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P247 / I.1.3.8 / #31</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ADAS" type="ADASType"/> + <xs:element name="TorqueLimits" type="TorqueLimitsType" minOccurs="0"/> + <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:sequence> + <xs:element name="SleeperCab" type="xs:boolean" minOccurs="0"> + <xs:annotation> + <xs:documentation>P276 / I.1.1.13 / #84</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:sequence> + </xs:choice> + <xs:element name="InputDataSignature" type="vdecdef:SignatureType"> + <xs:annotation> + <xs:documentation>I.3.1.3</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="AccelerationUnitType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="m/s²"/> + </xs:restriction> + </xs:simpleType> + <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: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="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: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="MissionTypeType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="Long Haul EMS"/> + <xs:enumeration value="Long Haul"/> + <xs:enumeration value="Regional Delivery EMS"/> + <xs:enumeration value="Regional Delivery"/> + <xs:enumeration value="Urban Delivery"/> + <xs:enumeration value="Municipal Utility"/> + <xs:enumeration value="Construction"/> + </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="VehicleGroupType"> + <xs:restriction base="xs:int"> + <xs:minInclusive value="1"/> + <xs:maxInclusive value="16"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="AngularVelocityUnitType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="rpm"/> + </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="DisplacementType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="ltr"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="VectoOutputManufacturerType"> + <xs:sequence> + <xs:element name="Data"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="VectoOutputDataType"/> + </xs:complexContent> + </xs:complexType> + </xs:element> + <xs:element name="Signature" type="vdecdef:SignatureType"> + <xs:annotation> + <xs:documentation>I.3.1.4 / #73</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="PercentType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="%"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ADASType"> + <xs:sequence> + <xs:element name="EngineStopStart" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P271 / I.1.12.1 / #97</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="EcoRollWithoutEngineStop" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P272 / I.1.12.2 / #98</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="EcoRollWithEngineStop" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P273 / I.1.12.3 / #99</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="PredictiveCruiseControl" type="xs:boolean"> + <xs:annotation> + <xs:documentation>P274 / I.1.12.4 / #100</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="EngineSpeedDrivingType"> + <xs:sequence> + <xs:element name="Min"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="AngularVelocityUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Average"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="AngularVelocityUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Max"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:double"> + <xs:attribute name="unit" type="AngularVelocityUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> +</xs:schema> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.xsd index b8765ba6f1241780a6559be5b2f98ad71280fd99..71bb92380a23a695f871c600b39e770d3fa54da0 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.xsd @@ -1,6 +1,6 @@ <?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:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="urn:tugraz:ivt:VectoAPI:DeclarationOutput" elementFormDefault="qualified" attributeFormDefault="unqualified" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:ParameterDocumentation ParameterDocumentation.xsd"> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="urn:tugraz:ivt:VectoAPI:DeclarationOutput" xmlns:ns2="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.5" xmlns:ns3="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.6" xmlns:ns4="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.7" targetNamespace="urn:tugraz:ivt:VectoAPI:DeclarationOutput" elementFormDefault="qualified" attributeFormDefault="unqualified" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:ParameterDocumentation ParameterDocumentation.xsd"> <!-- This is a convienience file that imports the schema for all supported versions of manufacturer records file and all supported declaration definitions @@ -9,4 +9,5 @@ <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.5" schemaLocation="VectoOutputManufacturer.0.5.xsd"/> <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.6" schemaLocation="VectoOutputManufacturer.0.6.xsd"/> <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.7" schemaLocation="VectoOutputManufacturer.0.7.xsd"/> + <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.7.1" schemaLocation="VectoOutputManufacturer.0.7.1.xsd"/> </xs:schema> diff --git a/VectoCore/VectoCore/Utils/VectoVersionCore.cs b/VectoCore/VectoCore/Utils/VectoVersionCore.cs index 4d4cd462b15254655fd1bd3e34e2a10343326a6e..1a2c175e025b95609063ce22b694f7a11e149c49 100644 --- a/VectoCore/VectoCore/Utils/VectoVersionCore.cs +++ b/VectoCore/VectoCore/Utils/VectoVersionCore.cs @@ -47,7 +47,7 @@ namespace TUGraz.VectoCore.Utils public static string VersionNumber { get { - return "3.3.9.2175" + SUFFIX; + return "3.3.10.2373" + SUFFIX; } } diff --git a/VectoCore/VectoCore/Utils/XMLDefinitions.cs b/VectoCore/VectoCore/Utils/XMLDefinitions.cs index 1755af5996ab58174ca4d9ccc0e660326c1b0cdd..47e530052be76f97c86cf85c005b3e434b951413 100644 --- a/VectoCore/VectoCore/Utils/XMLDefinitions.cs +++ b/VectoCore/VectoCore/Utils/XMLDefinitions.cs @@ -52,7 +52,7 @@ namespace TUGraz.VectoCore.Utils public static class XMLDefinitions { //public const string SchemaBaseURL = "file:///E:/QUAM/Workspace/VECTO_quam/VectoCore/VectoCore/Resources/XSD/"; - public const string SCHEMA_BASE_LOCATION = "https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD/"; + public const string SCHEMA_BASE_LOCATION = "https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD/"; public const string ENGINEERING_NAMESPACE = "urn:tugraz:ivt:VectoAPI:EngineeringDefinitions"; @@ -78,6 +78,8 @@ namespace TUGraz.VectoCore.Utils public const string DECLARATION_DEFINITIONS_NAMESPACE_URI_V22 = DECLARATION_NAMESPACE + ":v2.2"; + public const string DECLARATION_DEFINITIONS_NAMESPACE_URI_V221 = DECLARATION_NAMESPACE + ":v2.2.1"; + public const string DECLARATION_INPUT_NAMESPACE = "urn:tugraz:ivt:VectoAPI:DeclarationInput"; diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj index 855d278785ab6b19cdabfb845d794cb870f56ed1..6ddf88672df18f0b623263ed4c6cf7a688638638 100644 --- a/VectoCore/VectoCore/VectoCore.csproj +++ b/VectoCore/VectoCore/VectoCore.csproj @@ -76,7 +76,7 @@ <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> <OutputPath>bin\Release\</OutputPath> - <DefineConstants>CERTIFICATION_RELEASE</DefineConstants> + <DefineConstants>RELEASE_CANDIDATE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <AllowUnsafeBlocks>false</AllowUnsafeBlocks> @@ -172,6 +172,7 @@ <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLVehicleComponentsDeclaration.cs" /> <Compile Include="InputData\FileIO\XML\Declaration\NinjectModules\XMLDeclarationInputDataV20InjectModule.cs" /> <Compile Include="InputData\FileIO\XML\Declaration\NinjectModules\XMLDeclarationInputDataV21InjectModule.cs" /> + <Compile Include="InputData\FileIO\XML\Declaration\NinjectModules\XMLDeclarationInputDataV221InjectModule.cs" /> <Compile Include="InputData\FileIO\XML\Declaration\NinjectModules\XMLDeclarationInputDataV22InjectModule.cs" /> <Compile Include="InputData\FileIO\XML\Declaration\Reader\Impl\AbstractComponentReader.cs" /> <Compile Include="InputData\FileIO\XML\Declaration\Reader\Impl\XMLADASReader.cs" /> @@ -685,6 +686,18 @@ <EmbeddedResource Include="Resources\XSD\VectoMonitoring.xsd"> <SubType>Designer</SubType> </EmbeddedResource> + <EmbeddedResource Include="Resources\XSD\VectoMonitoring.0.7.1.xsd"> + <SubType>Designer</SubType> + </EmbeddedResource> + <EmbeddedResource Include="Resources\XSD\VectoOutputCustomer.0.7.1.xsd"> + <SubType>Designer</SubType> + </EmbeddedResource> + <EmbeddedResource Include="Resources\XSD\VectoOutputManufacturer.0.7.1.xsd"> + <SubType>Designer</SubType> + </EmbeddedResource> + <EmbeddedResource Include="Resources\XSD\VectoDeclarationDefinitions.2.2.1.xsd"> + <SubType>Designer</SubType> + </EmbeddedResource> <None Include="Utils\VectoVersionCore.tt"> <Generator>TextTemplatingFileGenerator</Generator> <LastGenOutput>VectoVersionCore.cs</LastGenOutput> diff --git a/VectoCore/VectoCore/VersionNumber.t4 b/VectoCore/VectoCore/VersionNumber.t4 index 005e28335860223b218be53d3e7861991f41c779..011383ac0dd350c15126db2b544fa1dd5f0822b0 100644 --- a/VectoCore/VectoCore/VersionNumber.t4 +++ b/VectoCore/VectoCore/VersionNumber.t4 @@ -6,6 +6,6 @@ int GetBuildNumber() string GetVectoCoreVersionNumber() { - return "3.3.9." + GetBuildNumber(); + return "3.3.10." + GetBuildNumber(); } #> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/Integration/Declaration/ExemptedVehicleTest.cs b/VectoCore/VectoCoreTest/Integration/Declaration/ExemptedVehicleTest.cs index 55c16062fca25ffbcff80f0ce22a9ebf917d6e51..01e232f7c9cc0c7aee08c9dd9ed9392209d1094d 100644 --- a/VectoCore/VectoCoreTest/Integration/Declaration/ExemptedVehicleTest.cs +++ b/VectoCore/VectoCoreTest/Integration/Declaration/ExemptedVehicleTest.cs @@ -46,7 +46,9 @@ using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.InputData.FileIO.XML; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration; using TUGraz.VectoCore.Models.Simulation.Impl; +using TUGraz.VectoCore.OutputData; using TUGraz.VectoCore.OutputData.FileIO; +using TUGraz.VectoCore.Tests.Integration.Declaration; using TUGraz.VectoCore.Tests.Models.Simulation; using TUGraz.VectoCore.Tests.Utils; using TUGraz.VectoCore.Utils; @@ -59,6 +61,30 @@ namespace TUGraz.VectoCore.Tests.Integration public class ExemptedVehicleTest { const string ExemptedVehicle = @"Testdata\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted.xml"; + const string ExemptedVehicleNoHEV = @"Testdata\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted_nonHEV.xml"; + const string ExemptedVehicleV2 = @"Testdata\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted_v2.xml"; + const string ExemptedVehicleV2NoHEV = @"Testdata\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted_v2_nonHEV.xml"; + + private const string ExemptedMin = @"TestData\Integration\DeclarationMode\ExemptedVehicle\exempted.xml"; + private const string ExemptedAxl = @"TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_axl.xml"; + private const string ExemptedAxlSleeperT = @"TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_axl+sleeperT.xml"; + private const string ExemptedAxlSleeperF = @"TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_axl+sleeperF.xml"; + private const string ExemptedSleeperT = @"TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_sleeperT.xml"; + private const string ExemptedSleeperF = @"TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_sleeperF.xml"; + private const string ExemptedPEVMaxNetPower = @"TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_PEV.xml"; + private const string ExemptedPEVMin = @"TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_PEV_2.xml"; + + private const string ExemptedMin_v2 = @"TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_v2.2.1.xml"; + + private const string ExemptedAxl_v2 = @"TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_v2.2.1_axl.xml"; + private const string ExemptedAxlSleeperT_v2 = @"TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_v2.2.1_axl+SleeperT.xml"; + private const string ExemptedAxlSleeperF_v2 = @"TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_v2.2.1_axl+SleeperF.xml"; + private const string ExemptedSleeperT_v2 = @"TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_v2.2.1_sleeperT.xml"; + private const string ExemptedSleeperF_v2 = @"TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_v2.2.1_sleeperF.xml"; + private const string ExemptedPEVMaxNetPower_v2 = @"TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_v2.2.1_PEV.xml"; + private const string ExemptedPEVMin_v2 = @"TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_v2.2.1_PEV_2.xml"; + + protected IXMLInputDataReader xmlInputReader; private IKernel _kernel; @@ -72,7 +98,11 @@ namespace TUGraz.VectoCore.Tests.Integration xmlInputReader = _kernel.Get<IXMLInputDataReader>(); } - [TestCase(ExemptedVehicle, 1)] + [TestCase(ExemptedVehicle, 1), + TestCase(ExemptedVehicleNoHEV, 1), + TestCase(ExemptedVehicleV2, 1), + TestCase(ExemptedVehicleV2NoHEV, 1) + ] public void TestSimulationExemptedVehicle(string filename, int numRuns) { var writer = new FileOutputWriter(filename); @@ -253,6 +283,103 @@ namespace TUGraz.VectoCore.Tests.Integration } + + [ + TestCase(ExemptedMin, null, null, null, null, false), + TestCase(ExemptedAxl, AxleConfiguration.AxleConfig_4x2, null, 30000, 20000, false), + TestCase(ExemptedAxlSleeperT, AxleConfiguration.AxleConfig_4x2, true, 30000, 20000, false), + TestCase(ExemptedAxlSleeperF, AxleConfiguration.AxleConfig_4x2, false, 30000, 20000, false), + TestCase(ExemptedSleeperT, null, true, 30000, 20000, false), + TestCase(ExemptedSleeperF, null, false, 30000, 20000, false), + TestCase(ExemptedPEVMaxNetPower, AxleConfiguration.AxleConfig_4x2, true, 30000, 20000, true), + TestCase(ExemptedPEVMin, null, null, null, null, true), + + TestCase(ExemptedMin_v2, null, null, null, null, false), + TestCase(ExemptedAxl_v2, AxleConfiguration.AxleConfig_4x2, null, 30000, 20000, false), + TestCase(ExemptedAxlSleeperT_v2, AxleConfiguration.AxleConfig_4x2, true, 30000, 20000, false), + TestCase(ExemptedAxlSleeperF_v2, AxleConfiguration.AxleConfig_4x2, false, 30000, 20000, false), + TestCase(ExemptedSleeperT_v2, null, true, 30000, 20000, false), + TestCase(ExemptedSleeperF_v2, null, false, 30000, 20000, false), + TestCase(ExemptedPEVMaxNetPower_v2, AxleConfiguration.AxleConfig_4x2, true, 30000, 20000, true), + TestCase(ExemptedPEVMin_v2, null, null, null, null, true), + ] + public void TestExemptedVehiclesAxleConfSleeperCabMRF(string filename, AxleConfiguration? expectedMrfAxleConf, + bool? expectedMrfSleeperCab, double? expectedMaxNetPower1, double? expectedMaxNetPower2, bool zeHDV) + { + var writer = new MockDeclarationWriter(filename); + + + var inputData = xmlInputReader.CreateDeclaration(filename); + + var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) { + WriteModalResults = true, + ActualModalData = true + }; + var jobContainer = new JobContainer(new MockSumWriter()); + + var runs = factory.SimulationRuns().ToList(); + Assert.AreEqual(1, runs.Count); + foreach (var run in runs) { + jobContainer.AddRun(run); + } + //jobContainer.AddRuns(factory); + + jobContainer.Execute(); + jobContainer.WaitFinished(); + var progress = jobContainer.GetProgress(); + Assert.IsTrue(progress.All(r => r.Value.Success), string.Concat<Exception>(progress.Select(r => r.Value.Error))); + + + var validator = new XMLValidator(writer.GetReport(ReportType.DeclarationReportManufacturerXML).CreateReader()); + Assert.IsTrue(validator.ValidateXML(XmlDocumentType.ManufacturerReport)); + + var val2 = new XMLValidator(writer.GetReport(ReportType.DeclarationReportCustomerXML).CreateReader()); + Assert.IsTrue(val2.ValidateXML(XmlDocumentType.CustomerReport)); + + var mrf = writer.GetReport(ReportType.DeclarationReportManufacturerXML).Document; + Assert.NotNull(mrf); + + var axleConfNode = mrf.XPathSelectElements(XMLHelper.QueryLocalName(XMLNames.Vehicle_AxleConfiguration)) + .ToArray(); + if (expectedMrfAxleConf == null) { + Assert.AreEqual(0, axleConfNode.Length); + } else { + Assert.AreEqual(1, axleConfNode.Length, "axleconfiguration missing in mrf"); + Assert.AreEqual(expectedMrfAxleConf.Value, AxleConfigurationHelper.Parse(axleConfNode.First().Value), "axleconfiguration: incorrect value"); + } + + var sleeperCabNode = mrf.XPathSelectElements(XMLHelper.QueryLocalName(XMLNames.Vehicle_SleeperCab)) + .ToArray(); + if (expectedMrfSleeperCab == null) { + Assert.AreEqual(0, sleeperCabNode.Length); + } else { + Assert.AreEqual(1, sleeperCabNode.Length); + Assert.AreEqual(expectedMrfSleeperCab.Value, XmlConvert.ToBoolean(sleeperCabNode.First().Value)); + } + + var maxNetPower1Node = mrf.XPathSelectElements(XMLHelper.QueryLocalName(XMLNames.Vehicle_MaxNetPower1)) + .ToArray(); + if (expectedMaxNetPower1 == null) { + Assert.AreEqual(0, maxNetPower1Node.Length); + } else { + Assert.AreEqual(1, maxNetPower1Node.Length); + Assert.AreEqual(expectedMaxNetPower1.Value, maxNetPower1Node.First().Value.ToDouble()); + } + + var maxNetPower2Node = mrf.XPathSelectElements(XMLHelper.QueryLocalName(XMLNames.Vehicle_MaxNetPower2)) + .ToArray(); + if (expectedMaxNetPower2 == null) { + Assert.AreEqual(0, maxNetPower2Node.Length); + } else { + Assert.AreEqual(1, maxNetPower2Node.Length); + Assert.AreEqual(expectedMaxNetPower2.Value, maxNetPower2Node.First().Value.ToDouble()); + } + + var zeNode = mrf.XPathSelectElement(XMLHelper.QueryLocalName(XMLNames.Vehicle_ZeroEmissionVehicle)); + Assert.NotNull(zeNode); + Assert.AreEqual(zeHDV, XmlConvert.ToBoolean(zeNode.Value)); + } + private static void SetExemptedParameters(XPathNavigator nav, bool zeroEmission, bool hybrid, bool dualFuel) { var manager = new XmlNamespaceManager(nav.NameTable); diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted.xml new file mode 100644 index 0000000000000000000000000000000000000000..b437e77a26760af10c552b5d5dcabbd0dfcaf243 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="1.0" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0 https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/\XSD/VectoInput.1.0.xsd" + xmlns:di="http://www.w3.org/2000/09/xmldsig#"> + <Vehicle id="VEH-1234567890"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <HybridElectricHDV>false</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_PEV.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_PEV.xml new file mode 100644 index 0000000000000000000000000000000000000000..67fdf8d43c5d419031f4de2955c8d878098da396 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_PEV.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="1.0" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0 https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/\XSD/VectoInput.1.0.xsd" + xmlns:di="http://www.w3.org/2000/09/xmldsig#"> + <Vehicle id="VEH-1234567890"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <AxleConfiguration>4x2</AxleConfiguration> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>true</ZeroEmissionVehicle> + <SleeperCab>true</SleeperCab> + <MaxNetPower1>30000</MaxNetPower1> + <MaxNetPower2>20000</MaxNetPower2> + <HybridElectricHDV>false</HybridElectricHDV> + <DualFuelVehicle>false</DualFuelVehicle> + </Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_PEV_2.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_PEV_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..5c30b4004abdf92e44f3c6ff28aca69edb13338b --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_PEV_2.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="1.0" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0 https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/\XSD/VectoInput.1.0.xsd" + xmlns:di="http://www.w3.org/2000/09/xmldsig#"> + <Vehicle id="VEH-1234567890"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>true</ZeroEmissionVehicle> + <HybridElectricHDV>false</HybridElectricHDV> + <DualFuelVehicle>false</DualFuelVehicle> + </Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_axl+sleeperF.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_axl+sleeperF.xml new file mode 100644 index 0000000000000000000000000000000000000000..4f42484c8c9d6db9c17f9c114c70640c1f5f2627 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_axl+sleeperF.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="1.0" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0 https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/\XSD/VectoInput.1.0.xsd" + xmlns:di="http://www.w3.org/2000/09/xmldsig#"> + <Vehicle id="VEH-1234567890"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <AxleConfiguration>4x2</AxleConfiguration> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <SleeperCab>false</SleeperCab> + <MaxNetPower1>30000</MaxNetPower1> + <MaxNetPower2>20000</MaxNetPower2> + <HybridElectricHDV>true</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_axl+sleeperT.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_axl+sleeperT.xml new file mode 100644 index 0000000000000000000000000000000000000000..244646f740b0c2a11b039a53b1df1aec35f9f19a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_axl+sleeperT.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="1.0" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0 https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/\XSD/VectoInput.1.0.xsd" + xmlns:di="http://www.w3.org/2000/09/xmldsig#"> + <Vehicle id="VEH-1234567890"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <AxleConfiguration>4x2</AxleConfiguration> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <SleeperCab>true</SleeperCab> + <MaxNetPower1>30000</MaxNetPower1> + <MaxNetPower2>20000</MaxNetPower2> + <HybridElectricHDV>true</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_axl.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_axl.xml new file mode 100644 index 0000000000000000000000000000000000000000..99c300940a78ca9dbd5242d2f2cc9c74b87a30f8 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_axl.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="1.0" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0 https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/\XSD/VectoInput.1.0.xsd" + xmlns:di="http://www.w3.org/2000/09/xmldsig#"> + <Vehicle id="VEH-1234567890"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <AxleConfiguration>4x2</AxleConfiguration> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <MaxNetPower1>30000</MaxNetPower1> + <MaxNetPower2>20000</MaxNetPower2> + <HybridElectricHDV>true</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_sleeperF.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_sleeperF.xml new file mode 100644 index 0000000000000000000000000000000000000000..2715486feb7b090aa380d2501a79eb2ab1c75243 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_sleeperF.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="1.0" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0 https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/\XSD/VectoInput.1.0.xsd" + xmlns:di="http://www.w3.org/2000/09/xmldsig#"> + <Vehicle id="VEH-1234567890"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <SleeperCab>false</SleeperCab> + <MaxNetPower1>30000</MaxNetPower1> + <MaxNetPower2>20000</MaxNetPower2> + <HybridElectricHDV>true</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_sleeperT.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_sleeperT.xml new file mode 100644 index 0000000000000000000000000000000000000000..b1c887ea5bc82b38c85381c2bc75c3922c5d21f8 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_sleeperT.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="1.0" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0 https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/\XSD/VectoInput.1.0.xsd" + xmlns:di="http://www.w3.org/2000/09/xmldsig#"> + <Vehicle id="VEH-1234567890"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <SleeperCab>true</SleeperCab> + <MaxNetPower1>30000</MaxNetPower1> + <MaxNetPower2>20000</MaxNetPower2> + <HybridElectricHDV>true</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1.xml new file mode 100644 index 0000000000000000000000000000000000000000..3ea24084124cdfb5223acbdde41217eca1623b08 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" + xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.2.1" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" + xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:q1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0 https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/\XSD/VectoInput.2.0.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="ExemptedVehicleDeclarationType"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <HybridElectricHDV>false</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_PEV.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_PEV.xml new file mode 100644 index 0000000000000000000000000000000000000000..48d78a570746c4e4909c7225f189736175abc28a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_PEV.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" + xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.2.1" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" + xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:q1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0 https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/\XSD/VectoInput.2.0.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="ExemptedVehicleDeclarationType"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <AxleConfiguration>4x2</AxleConfiguration> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>true</ZeroEmissionVehicle> + <SleeperCab>true</SleeperCab> + <MaxNetPower1>30000</MaxNetPower1> + <MaxNetPower2>20000</MaxNetPower2> + <HybridElectricHDV>false</HybridElectricHDV> + <DualFuelVehicle>false</DualFuelVehicle> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_PEV_2.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_PEV_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..672cbd0a9b7f32f04e922c6c7a578aa10d328df4 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_PEV_2.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" + xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.2.1" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" + xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:q1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0 https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/\XSD/VectoInput.2.0.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="ExemptedVehicleDeclarationType"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>true</ZeroEmissionVehicle> + <HybridElectricHDV>false</HybridElectricHDV> + <DualFuelVehicle>false</DualFuelVehicle> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_axl+SleeperF.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_axl+SleeperF.xml new file mode 100644 index 0000000000000000000000000000000000000000..c11c7a0d696cc7a15fddec754fee9eb803be2fcd --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_axl+SleeperF.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" + xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.2.1" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" + xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:q1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0 https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/\XSD/VectoInput.2.0.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="ExemptedVehicleDeclarationType"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <AxleConfiguration>4x2</AxleConfiguration> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <SleeperCab>false</SleeperCab> + <MaxNetPower1>30000</MaxNetPower1> + <MaxNetPower2>20000</MaxNetPower2> + <HybridElectricHDV>true</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_axl+SleeperT.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_axl+SleeperT.xml new file mode 100644 index 0000000000000000000000000000000000000000..1c1699e1594ba420ec9a9f837b07053e9cdc38f3 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_axl+SleeperT.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" + xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.2.1" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" + xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:q1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0 https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/\XSD/VectoInput.2.0.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="ExemptedVehicleDeclarationType"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <AxleConfiguration>4x2</AxleConfiguration> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <SleeperCab>true</SleeperCab> + <MaxNetPower1>30000</MaxNetPower1> + <MaxNetPower2>20000</MaxNetPower2> + <HybridElectricHDV>true</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_axl.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_axl.xml new file mode 100644 index 0000000000000000000000000000000000000000..dd5832f90ecbe8410745de203575ae8bae8600b0 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_axl.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" + xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.2.1" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" + xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:q1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0 https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/\XSD/VectoInput.2.0.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="ExemptedVehicleDeclarationType"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <AxleConfiguration>4x2</AxleConfiguration> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <MaxNetPower1>30000</MaxNetPower1> + <MaxNetPower2>20000</MaxNetPower2> + <HybridElectricHDV>true</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_sleeperF.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_sleeperF.xml new file mode 100644 index 0000000000000000000000000000000000000000..cd16516726d5333c6dc8cb4e4df007cf27c49094 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_sleeperF.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" + xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.2.1" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" + xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:q1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0 https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/\XSD/VectoInput.2.0.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="ExemptedVehicleDeclarationType"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <SleeperCab>false</SleeperCab> + <MaxNetPower1>30000</MaxNetPower1> + <MaxNetPower2>20000</MaxNetPower2> + <HybridElectricHDV>true</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_sleeperT.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_sleeperT.xml new file mode 100644 index 0000000000000000000000000000000000000000..b9cb686b58dbd0fb0abd2408dafb8ab33fbf904c --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/exempted_v2.2.1_sleeperT.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" + xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.2.1" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" + xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:q1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0 https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/\XSD/VectoInput.2.0.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="ExemptedVehicleDeclarationType"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <SleeperCab>true</SleeperCab> + <MaxNetPower1>30000</MaxNetPower1> + <MaxNetPower2>20000</MaxNetPower2> + <HybridElectricHDV>true</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_nonHEV.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_nonHEV.xml new file mode 100644 index 0000000000000000000000000000000000000000..338f9704deac2f054dac1b5334dd8e1540e2ec55 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_nonHEV.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="1.0" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0 E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoInput.xsd" + xmlns:di="http://www.w3.org/2000/09/xmldsig#"> + <Vehicle id="VEH-1234567890"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <HybridElectricHDV>false</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_v2.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_v2.xml new file mode 100644 index 0000000000000000000000000000000000000000..def38ae021aaba90db259ca6c93f9d16808c6791 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_v2.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" + xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" + xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:q1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd +urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1 E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoDeclarationDefinitions.2.1.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="ExemptedVehicleDeclarationType"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <MaxNetPower1>30000</MaxNetPower1> + <MaxNetPower2>20000</MaxNetPower2> + <HybridElectricHDV>true</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_v2_nonHEV.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_v2_nonHEV.xml new file mode 100644 index 0000000000000000000000000000000000000000..d522c99a1543035841a922fec1ff24f47b037e9a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_v2_nonHEV.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" + xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" + xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:q1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd +urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1 E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoDeclarationDefinitions.2.1.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="ExemptedVehicleDeclarationType"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <HybridElectricHDV>false</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.1/vecto_vehicle-components_1.0.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.1/vecto_vehicle-components_1.0.xml index 35d1d33c0e6040f86ff0965b52da64a8c03f08b1..29ad989fc4b9dbc7620234c4f95eaed4beb3d260 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.1/vecto_vehicle-components_1.0.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.1/vecto_vehicle-components_1.0.xml @@ -7,7 +7,7 @@ xmlns:v1.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" - xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0 https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD/DEV/VectoInput.2.0.xsd" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0 E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD\VectoInput.2.0.xsd" > <Vehicle id="VEH-1234567890" xsi:type="VehicleDeclarationType"> <Manufacturer>Generic Truck Manufacturer</Manufacturer> @@ -3283,7 +3283,7 @@ </Data> </Auxiliaries> <AirDrag> - <Data id="CabinX23h" xsi:type="AirDragDataDeclarationType"> + <v2.0:Data id="CabinX23h" xsi:type="v1.0:AirDragDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0"> <Manufacturer>Generic Manufacturer</Manufacturer> <Model>Generic Model</Model> <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> @@ -3292,7 +3292,7 @@ <CdxA_0>6.31</CdxA_0> <TransferredCdxA>6.32</TransferredCdxA> <DeclaredCdxA>6.34</DeclaredCdxA> - </Data> + </v2.0:Data> <Signature> <di:Reference URI="#CabinX23h"> <di:Transforms> diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj index 7ffda65be356f668da4d1ab8851aa72e0385c12d..19c4a6148c6867f24b837ab73ac89a0a79206720 100644 --- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj +++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj @@ -2916,6 +2916,63 @@ <Content Include="TestData\Integration\DeclarationMode\EngineSpeedTooHigh\vecto_vehicle-sample_9gears.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\exempted.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_axl+sleeperF.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_axl+sleeperT.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_axl.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_PEV.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_PEV_2.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_sleeperF.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_sleeperT.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_v2.2.1.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_v2.2.1_axl+SleeperF.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_v2.2.1_axl+SleeperT.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_v2.2.1_axl.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_v2.2.1_PEV.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_v2.2.1_PEV_2.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_v2.2.1_sleeperF.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\exempted_v2.2.1_sleeperT.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted_v2_nonHEV.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted_v2.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted_nonHEV.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> diff --git a/VectoCore/VectoXML.spp b/VectoCore/VectoXML.spp index 6cf9f32946ef3e0a66c2415dad7c1aebdc9fd9cd..6e7c92ec7eecd985e96829dcf9a42dfe3e10190e 100644 --- a/VectoCore/VectoXML.spp +++ b/VectoCore/VectoXML.spp @@ -64,6 +64,7 @@ <File FilePath="VectoCore\Resources\XSD\VectoDeclarationDefinitions.1.0.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoDeclarationDefinitions.2.0.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoDeclarationDefinitions.2.1.xsd" HomeFolder="Yes"/> + <File FilePath="VectoCore\Resources\XSD\VectoDeclarationDefinitions.2.2.1.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoDeclarationDefinitions.2.2.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoDeclarationDefinitions.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoDeclarationJob.xsd" HomeFolder="Yes"/> @@ -86,13 +87,19 @@ <File FilePath="VectoCore\Resources\XSD\VectoEngineeringJob.xsd" HomeFolder="Yes"/> </Folder> <Folder FolderName="Reports"> + <File FilePath="VectoCore\Resources\XSD\VectoMonitoring.0.7.1.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoMonitoring.0.7.xsd" HomeFolder="Yes"/> + <File FilePath="VectoCore\Resources\XSD\VectoMonitoring.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoOutputCustomer.0.4.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoOutputCustomer.0.5.xsd" HomeFolder="Yes"/> + <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.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoOutputManufacturer.0.5.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoOutputManufacturer.0.6.xsd" HomeFolder="Yes"/> + <File FilePath="VectoCore\Resources\XSD\VectoOutputManufacturer.0.7.1.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoOutputManufacturer.0.7.xsd" HomeFolder="Yes"/> + <File FilePath="VectoCore\Resources\XSD\VectoOutputManufacturer.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VTPReport.0.1.xsd" HomeFolder="Yes"/> </Folder> </Folder>