Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ LoadSchemaFromLocation()

void System.Xml.Schema.XdrValidator.LoadSchemaFromLocation ( string uri)
inlineprivate

Definition at line 324 of file XdrValidator.cs.

325 {
326 if (!XdrBuilder.IsXdrSchema(uri))
327 {
328 return;
329 }
330 string relativeUri = uri.Substring("x-schema:".Length);
331 XmlReader xmlReader = null;
332 SchemaInfo schemaInfo = null;
333 try
334 {
335 Uri uri2 = base.XmlResolver.ResolveUri(base.BaseUri, relativeUri);
336 Stream input = (Stream)base.XmlResolver.GetEntity(uri2, null, null);
337 xmlReader = new XmlTextReader(uri2.ToString(), input, base.NameTable);
338 ((XmlTextReader)xmlReader).XmlResolver = base.XmlResolver;
339 Parser parser = new Parser(SchemaType.XDR, base.NameTable, base.SchemaNames, base.EventHandler);
340 parser.XmlResolver = base.XmlResolver;
341 parser.Parse(xmlReader, uri);
342 while (xmlReader.Read())
343 {
344 }
345 schemaInfo = parser.XdrSchema;
346 }
347 catch (XmlSchemaException ex)
348 {
349 SendValidationEvent(System.SR.Sch_CannotLoadSchema, new string[2] { uri, ex.Message }, XmlSeverityType.Error);
350 }
351 catch (Exception ex2)
352 {
353 SendValidationEvent(System.SR.Sch_CannotLoadSchema, new string[2] { uri, ex2.Message }, XmlSeverityType.Warning);
354 }
355 finally
356 {
357 xmlReader?.Close();
358 }
359 if (schemaInfo != null && schemaInfo.ErrorCount == 0)
360 {
361 base.schemaInfo.Add(schemaInfo, base.EventHandler);
362 base.SchemaCollection.Add(uri, schemaInfo, null, compile: false);
363 }
364 }
static string Sch_CannotLoadSchema
Definition SR.cs:1078
Definition SR.cs:7
void SendValidationEvent(string code)

References System.Xml.Dictionary, System.Xml.Schema.SchemaInfo.ErrorCount, System.input, System.Xml.Schema.XdrBuilder.IsXdrSchema(), System.Xml.Schema.Length, System.SR.Sch_CannotLoadSchema, System.Xml.Schema.BaseValidator.schemaInfo, and System.Xml.Schema.BaseValidator.SendValidationEvent().

Referenced by System.Xml.Schema.XdrValidator.LoadSchema().