private void Validate(ArchiveXmlUnit archiveXmlUnit) { ReportFallbackOnBuiltInSchemas(archiveXmlUnit); string fileName = GetFileNameForReport(archiveXmlUnit); IEnumerable <string> validationErrorMessages; try { validationErrorMessages = new XmlValidator().Validate(archiveXmlUnit); } catch (Exception exception) { throw new ArkadeException( string.Format(Noark5Messages.ExceptionDuringXmlValidation, fileName, exception.Message), exception ); } foreach (string errorMessage in validationErrorMessages) { _testResults.Add(new TestResult(ResultType.Error, new Location(fileName), errorMessage)); } }
public IEnumerable <string> Validate(ArchiveXmlUnit xmlUnit) { Stream xmlStream = xmlUnit.File.AsStream(); Stream[] xmlSchemaStreams = xmlUnit.Schemas.Select(s => s.AsStream()).ToArray(); return(Validate(xmlStream, xmlSchemaStreams)); }
private void ReportMissingFiles(ArchiveXmlUnit xmlUnit) { foreach (string missingFile in xmlUnit.GetMissingFiles()) { _testResults.Add(new TestResult(ResultType.Error, new Location(string.Empty), string.Format(ExceptionMessages.FileNotFound, missingFile))); } }
private void ReportFallbackOnBuiltInSchemas(ArchiveXmlUnit archiveXmlUnit) { foreach (ArchiveXmlSchema schema in archiveXmlUnit.Schemas) { if (schema.IsArkadeBuiltIn()) { _testResults.Add(new TestResult(ResultType.Error, new Location(string.Empty), // TODO: Consider implementing and using ResultType.Warning string.Format(Noark5Messages.InternalSchemaFileIsUsed, schema.FileName))); } } }
private static string GetFileNameForReport(ArchiveXmlUnit archiveXmlUnit) { return(archiveXmlUnit.File.Name.Equals(ArkadeConstants.AddmlXmlFileName) ? ArkadeConstants.ArkivuttrekkXmlFileName : archiveXmlUnit.File.Name); }