public bool ValidateSchema(string xmlFileName)
        {
            _isSchemaValid = true;
            _fileName      = Path.GetFileName(xmlFileName);

            XmlSchema schema         = _schemaProvider.Provide();
            var       readerSettings = GetReaderSettings(schema);

            using (var reader = XmlReader.Create(xmlFileName, readerSettings))
            {
                ValidateNameSpace(reader);

                if (!_isSchemaValid)
                {
                    return(_isSchemaValid);
                }
                else
                {
                    try
                    {
                        while (reader.Read())
                        {
                        }
                    }
                    catch (Exception ex)
                    {
                        _isSchemaValid = false;

                        var xmlException = ex as XmlException;
                        if (xmlException != null)
                        {
                            _validationErrorHandler.XmlValidationErrorHandler(xmlException, XmlSeverityType.Error, _fileName);
                        }
                    }
                }
            }

            return(_isSchemaValid);
        }
コード例 #2
0
        public void Validate(Stream stream)
        {
            var xmlSchemaSet      = BuildXmlSchemaSet();
            var xmlReaderSettings = BuildXmlReaderSettings(xmlSchemaSet);

            using (var xmlReader = XmlReader.Create(stream, xmlReaderSettings))
            {
                try
                {
                    while (xmlReader.Read())
                    {
                    }
                }
                catch (XmlException xmlException)
                {
                    _validationErrorHandler.XmlValidationErrorHandler(xmlException);
                    throw;
                }
            }

            AssertValidity();
        }