diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs index 884540c11e70ab8fed7f3429fdaf0cccb4a6be38..5529ff1f3722a86225c7160cf69337ba8e29935c 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs @@ -18,7 +18,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF public override void Initialize(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes) { VehiclePart.Add( - new XAttribute(xsi + "type", "VehicleExemptedPrimaryBusType"), + new XAttribute(xsi + XMLNames.Attr_Type, "VehicleExemptedPrimaryBusType"), new XElement(tns + XMLNames.ManufacturerPrimaryVehicle, modelData.VehicleData.Manufacturer), new XElement(tns + XMLNames.ManufacturerAddressPrimaryVehicle, modelData.VehicleData.ManufacturerAddress), new XElement(tns + XMLNames.Component_Model, modelData.VehicleData.ModelName), diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLMultistageBusReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLMultistageBusReport.cs index e487bb508388f1170b0c2c1ee26f37c9b9e24a9b..3d9c55c2a426dd2bddeabbe7395cc159df053b41 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLMultistageBusReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLMultistageBusReport.cs @@ -27,38 +27,28 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF protected override XElement GetVehicleElement(string vehicleId) { return new XElement(tns + XMLNames.Tag_Vehicle, - new XAttribute(xsi + XMLNames.Attr_Type, "Vehicle_Exempted_CompletedBusType"), - new XAttribute("xmlns", v210), new XAttribute(XMLNames.Component_ID_Attr, vehicleId), - new XElement(v210 + XMLNames.Component_Manufacturer, _vehicleInputData.Manufacturer), - new XElement(v210 + XMLNames.Component_ManufacturerAddress, _vehicleInputData.ManufacturerAddress), - new XElement(v210 + XMLNames.Vehicle_VIN, _vehicleInputData.VIN), - new XElement(v210 + XMLNames.Component_Date, - XmlConvert.ToString(_vehicleInputData.Date, XmlDateTimeSerializationMode.Utc)), + new XAttribute(xsi + XMLNames.Attr_Type, "Vehicle_Exempted_CompletedBusDeclarationType"), + new XAttribute("xmlns", v210), + CompletedBusGeneralParametersWriterV2_10_2.GetGroupElements(_vehicleInputData, v210), _vehicleInputData.Model != null - ? new XElement(v210 + XMLNames.Component_Model, _vehicleInputData.Model) : null, - _vehicleInputData.LegislativeClass != null - ? new XElement(v210 + XMLNames.Vehicle_LegislativeCategory, _vehicleInputData.LegislativeClass.ToXMLFormat()) : null, - _vehicleInputData.CurbMassChassis != null - ? new XElement(v210 + XMLNames.CorrectedActualMass, _vehicleInputData.CurbMassChassis.ToXMLFormat(0)) : null, - _vehicleInputData.GrossVehicleMassRating != null - ? new XElement(v210 + XMLNames.TPMLM, _vehicleInputData.GrossVehicleMassRating.ToXMLFormat(0)) : null, - _vehicleInputData.RegisteredClass != null - ? new XElement(v210 + XMLNames.Vehicle_RegisteredClass, _vehicleInputData.RegisteredClass.ToXMLFormat()) : null, - _vehicleInputData.NumberPassengerSeatsLowerDeck != null - ? new XElement(v210 + XMLNames.Bus_NumberPassengerSeatsLowerDeck, _vehicleInputData.NumberPassengerSeatsLowerDeck) : null, - _vehicleInputData.NumberPassengersStandingLowerDeck != null - ? new XElement(v210 + XMLNames.Bus_NumberPassengersStandingLowerDeck, _vehicleInputData.NumberPassengersStandingLowerDeck) : null, - _vehicleInputData.NumberPassengerSeatsUpperDeck != null - ? new XElement(v210 + XMLNames.Bus_NumberPassengerSeatsUpperDeck, _vehicleInputData.NumberPassengerSeatsUpperDeck) : null, - _vehicleInputData.NumberPassengersStandingUpperDeck != null - ? new XElement(v210 + XMLNames.Bus_NumberPassengersStandingUpperDeck, _vehicleInputData.NumberPassengersStandingUpperDeck) : null, - _vehicleInputData.VehicleCode != null - ? new XElement(v210 + XMLNames.Vehicle_BodyworkCode, _vehicleInputData.VehicleCode.ToXMLFormat()) : null, - _vehicleInputData.LowEntry != null - ? new XElement(v210 + XMLNames.Bus_LowEntry, _vehicleInputData.LowEntry) : null, - _vehicleInputData.Height != null - ? new XElement(v210 + XMLNames.Bus_HeightIntegratedBody, _vehicleInputData.Height.ConvertToMilliMeter().ToXMLFormat(0)) : null + ? new XElement(v210 + XMLNames.Component_Model, _vehicleInputData.Model) : null, + _vehicleInputData.LegislativeClass != null + ? new XElement(v210 + XMLNames.Vehicle_LegislativeCategory, _vehicleInputData.LegislativeClass.ToXMLFormat()) : null, + _vehicleInputData.CurbMassChassis != null + ? new XElement(v210 + XMLNames.CorrectedActualMass, _vehicleInputData.CurbMassChassis.ToXMLFormat(0)) : null, + _vehicleInputData.GrossVehicleMassRating != null + ? new XElement(v210 + XMLNames.TPMLM, _vehicleInputData.GrossVehicleMassRating.ToXMLFormat(0)) : null, + _vehicleInputData.RegisteredClass != null + ? new XElement(v210 + XMLNames.Vehicle_RegisteredClass, _vehicleInputData.RegisteredClass.ToXMLFormat()) : null, + CompletedBusPassengerCountWriter_V2_10_2.GetGroupElements(_vehicleInputData, v210), + _vehicleInputData.VehicleCode != null + ? new XElement(v210 + XMLNames.Vehicle_BodyworkCode, _vehicleInputData.VehicleCode.ToXMLFormat()) : null, + _vehicleInputData.LowEntry != null + ? new XElement(v210 + XMLNames.Bus_LowEntry, _vehicleInputData.LowEntry) : null, + _vehicleInputData.Height != null + ? new XElement(v210 + XMLNames.Bus_HeightIntegratedBody, _vehicleInputData.Height.ConvertToMilliMeter().ToXMLFormat(0)) : null + ); } } @@ -228,15 +218,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF GetVehicleElement(vehicleId), GetApplicationInformation())); - //TODO:REMOVE - try { - var vehicleElement = GetVehicleElement(vehicleId); - Debug.WriteLine(vehicleElement.ToString()); -#pragma warning disable 168 - } catch (Exception e) { -#pragma warning restore 168 - // - } + var sigXElement = GetSignatureElement(stage); stage.LastNode.Parent.Add(sigXElement); return stage; @@ -285,7 +267,12 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF _vehicleInputData.LowEntry != null ? new XElement(v210 + XMLNames.Bus_LowEntry, _vehicleInputData.LowEntry) : null, - CompletedBusDimensionsWriter_V2_10_2.GetGroupElements(_vehicleInputData, v210), + CompletedBusDimensionsWriter_V2_10_2.GetGroupElements(_vehicleInputData, v210), + + _vehicleInputData.DoorDriveTechnology != null + ? new XElement(v210 + XMLNames.BusAux_PneumaticSystem_DoorDriveTechnology, _vehicleInputData.DoorDriveTechnology.ToXMLFormat()) + : null, + new XElement(v210 + XMLNames.Bus_VehicleDeclarationType, _vehicleInputData.VehicleDeclarationType.GetLabel()), GetADAS(_vehicleInputData.ADAS), GetBusVehicleComponents(_vehicleInputData.Components) diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs index 42baf75f54dce3ae80831fc19565c555d4f29ef2..17fc8e93280cc2741ae97eebdbf7770a24f543de 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs @@ -57,20 +57,21 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF { var retVal = new XDocument(); retVal.Add( - new XElement(XMLNames.VectoOutputMultistage, + new XElement(tns + XMLNames.VectoOutputMultistage, new XAttribute(XNamespace.Xmlns + "di", di), new XAttribute(XNamespace.Xmlns + "xsi", xsi.NamespaceName), new XAttribute(XNamespace.Xmlns + "vif0.1", tns), new XAttribute(XNamespace.Xmlns + "v2.0", v20), new XAttribute(XNamespace.Xmlns + "v2.1", v21), new XAttribute(XNamespace.Xmlns + "v2.3", v23), - new XAttribute(XNamespace.Xmlns + "v2.8", v210), + new XAttribute(XNamespace.Xmlns + "v2.10.2", v210), new XAttribute(xsi + "schemaLocation", $"{tns.NamespaceName} "+ @"V:\VectoCore\VectoCore\Resources\XSD/VectoOutputMultistage.0.1.xsd"), new XAttribute("xmlns", tns), GeneratePrimaryVehicle(resultSignature)) ); + Debug.WriteLine(retVal.ToString()); Report = retVal; } @@ -80,10 +81,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF results.AddFirst(new XElement(tns + XMLNames.Report_Result_Status, _allSuccess ? "success" : "error")); var vehicleId = $"{VectoComponents.Vehicle.HashIdPrefix()}{GetGUID()}"; - var primaryVehicle = new XElement( tns + XMLNames.Bus_PrimaryVehicle, + var primaryVehicle = new XElement(tns + XMLNames.Bus_PrimaryVehicle, new XElement(tns + XMLNames.Report_DataWrap, new XAttribute(XMLNames.Component_ID_Attr, vehicleId), new XAttribute(xsi + "type", "PrimaryVehicleDataType"), + new XAttribute("xmlns", tns), VehiclePart, InputDataIntegrity, new XElement(tns + "ManufacturerRecordSignature", resultSignature), @@ -162,10 +164,10 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF //const string adasPrefix = "adas"; return new XElement( tns + XMLNames.Vehicle_ADAS, - new XAttribute("xmlns", ns), new XAttribute( xsi + "type", $"{adasData.InputData.XMLSource.SchemaInfo.SchemaType.QualifiedName.Name}"), + new XAttribute("xmlns", ns), XElement.Parse(adasData.InputData.XMLSource.OuterXml).Elements() ); } @@ -182,9 +184,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF //const string adasPrefix = "tcl"; return new XElement( tns + XMLNames.Vehicle_TorqueLimits, - new XAttribute("xmlns", ns.NamespaceName), new XAttribute( xsi + "type", $"{tcLimits.SchemaInfo.SchemaType.QualifiedName.Name}"), + new XAttribute("xmlns", ns.NamespaceName), XElement.Parse(tcLimits.OuterXml).Elements() ); } diff --git a/VectoCore/VectoCore/Utils/XMLValidator.cs b/VectoCore/VectoCore/Utils/XMLValidator.cs index e477b6710b975e434f4599ea60b54ae0b4879c5f..d894b521f2e9d458b2004a441ef032e976b8197e 100644 --- a/VectoCore/VectoCore/Utils/XMLValidator.cs +++ b/VectoCore/VectoCore/Utils/XMLValidator.cs @@ -82,7 +82,8 @@ namespace TUGraz.VectoCore.Utils _doc.Validate(ValidationCallBack); - if (_doc.SchemaInfo.Validity != XmlSchemaValidity.Valid || _doc.DocumentElement?.SchemaInfo == null || + if (_doc.SchemaInfo.Validity != XmlSchemaValidity.Valid || + _doc.DocumentElement?.SchemaInfo == null || _doc.DocumentElement.SchemaInfo.SchemaType == null) { ValidationCallBack(null, null); _valid = false;