/// <summary> /// Performs XML and XSD validation. If no files are malformed the performs resource validation. /// </summary> /// <returns></returns> public CoreValidationResult Validate() { CoreValidationResult result = new CoreValidationResult(); var xmlFiles = core.EnumerateXmlFiles( DredmorInfo.XmlFilesToValidate, SearchOption.AllDirectories ); XsdValidator xsd = new XsdValidator(); result.XmlErrors = xsd.Validate( xmlFiles, true ); if ( !result.IsValid && result.XmlErrors.Any( p => p.XmlExceptionOccurred ) ) { return result; } resources.LoadResources( core ); result.XmlErrors.AddRange( XmlResourceValidator.Validate( xmlFiles, resources ) .Where( p => p.Errors.Count > 0 ) ); return result; }
/// <summary> /// Performs XML and XSD validation. If no files are malformed the performs resource validation. /// </summary> /// <returns></returns> public CoreValidationResult Validate() { CoreValidationResult result = new CoreValidationResult(); var xmlFiles = core.EnumerateXmlFiles(DredmorInfo.XmlFilesToValidate, SearchOption.AllDirectories); XsdValidator xsd = new XsdValidator(); result.XmlErrors = xsd.Validate(xmlFiles, true); if (!result.IsValid && result.XmlErrors.Any(p => p.XmlExceptionOccurred)) { return(result); } resources.LoadResources(core); result.XmlErrors.AddRange( XmlResourceValidator.Validate(xmlFiles, resources) .Where(p => p.Errors.Count > 0) ); return(result); }
private void WriteErrors( CoreValidationResult result ) { if ( result.XmlErrors.Count == 0 ) { WriteHeading( "No errors! Congratulations!" ); } else { foreach ( var fileValidationErrors in result.XmlErrors.Where( p => p.Errors.Count > 0 ) ) { WriteHeading( fileValidationErrors.Path ); WriteSubheading( fileValidationErrors.Errors.Count ); WriteErrors( fileValidationErrors.Errors ); output.AppendText( Environment.NewLine ); output.AppendText( Environment.NewLine ); } } }