System.Xml.Schema.XsdValidator.LoadSchemaFromLocation C# (CSharp) Méthode

LoadSchemaFromLocation() private méthode

private LoadSchemaFromLocation ( string uri, string url ) : void
uri string
url string
Résultat void
        private void LoadSchemaFromLocation(string uri, string url) {
           
            XmlReader reader = null;
            SchemaInfo schemaInfo = null;

            try {
                Uri ruri = this.XmlResolver.ResolveUri(BaseUri, url);
                Stream stm = (Stream)this.XmlResolver.GetEntity(ruri,null,null);
                reader = new XmlTextReader(ruri.ToString(), stm, NameTable);
                //XmlSchema schema = SchemaCollection.Add(uri, reader, this.XmlResolver);

                Parser parser = new Parser(SchemaType.XSD, NameTable, SchemaNames, EventHandler);
                parser.XmlResolver = this.XmlResolver;
                SchemaType schemaType = parser.Parse(reader, uri);
                
                schemaInfo = new SchemaInfo();
                schemaInfo.SchemaType = schemaType;
                if (schemaType == SchemaType.XSD) {
                    if (SchemaCollection.EventHandler == null) {
			SchemaCollection.EventHandler = this.EventHandler;
                    }			
                    SchemaCollection.Add(uri, schemaInfo, parser.XmlSchema, true);
                }
                //Add to validator's SchemaInfo
                SchemaInfo.Add(schemaInfo, EventHandler);

                while(reader.Read());// wellformness check
            }
            catch(XmlSchemaException e) {
                schemaInfo = null;
                SendValidationEvent(Res.Sch_CannotLoadSchema, new string[] {uri, e.Message}, XmlSeverityType.Error);
            }
            catch(Exception e) {
                schemaInfo = null;
                SendValidationEvent(Res.Sch_CannotLoadSchema, new string[] {uri, e.Message}, XmlSeverityType.Warning);
            }
            finally {
                if (reader != null) {
                    reader.Close();
                }
            }
        }