Exemple #1
0
        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));
            }
        }
Exemple #2
0
        public IEnumerable <string> Validate(ArchiveXmlUnit xmlUnit)
        {
            Stream xmlStream = xmlUnit.File.AsStream();

            Stream[] xmlSchemaStreams = xmlUnit.Schemas.Select(s => s.AsStream()).ToArray();

            return(Validate(xmlStream, xmlSchemaStreams));
        }
Exemple #3
0
 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)));
     }
 }
Exemple #4
0
 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)));
         }
     }
 }
Exemple #5
0
 private static string GetFileNameForReport(ArchiveXmlUnit archiveXmlUnit)
 {
     return(archiveXmlUnit.File.Name.Equals(ArkadeConstants.AddmlXmlFileName)
         ? ArkadeConstants.ArkivuttrekkXmlFileName
         : archiveXmlUnit.File.Name);
 }