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

◆ LoadSchema()

bool System.Xml.Schema.XdrBuilder.LoadSchema ( string uri)
inlineprivate

Definition at line 432 of file XdrBuilder.cs.

433 {
434 if (_xmlResolver == null)
435 {
436 return false;
437 }
438 uri = _NameTable.Add(uri);
440 {
441 return false;
442 }
443 SchemaInfo schemaInfo = null;
444 Uri baseUri = _xmlResolver.ResolveUri(null, _reader.BaseURI);
445 XmlReader xmlReader = null;
446 try
447 {
448 Uri uri2 = _xmlResolver.ResolveUri(baseUri, uri.Substring("x-schema:".Length));
450 xmlReader = new XmlTextReader(uri2.ToString(), input, _NameTable);
451 schemaInfo = new SchemaInfo();
452 Parser parser = new Parser(SchemaType.XDR, _NameTable, _SchemaNames, _validationEventHandler);
454 parser.Parse(xmlReader, uri);
455 schemaInfo = parser.XdrSchema;
456 }
457 catch (XmlException ex)
458 {
459 SendValidationEvent(System.SR.Sch_CannotLoadSchema, new string[2] { uri, ex.Message }, XmlSeverityType.Warning);
460 schemaInfo = null;
461 }
462 finally
463 {
464 xmlReader?.Close();
465 }
466 if (schemaInfo != null && schemaInfo.ErrorCount == 0)
467 {
469 return true;
470 }
471 return false;
472 }
static string Sch_CannotLoadSchema
Definition SR.cs:1078
Definition SR.cs:7
void Add(SchemaInfo sinfo, ValidationEventHandler eventhandler)
Dictionary< string, bool > TargetNamespaces
Definition SchemaInfo.cs:95
readonly ValidationEventHandler _validationEventHandler
readonly SchemaNames _SchemaNames
readonly SchemaInfo _SchemaInfo
void SendValidationEvent(string code, string[] args, XmlSeverityType severity)
readonly XmlNameTable _NameTable
readonly XmlReader _reader
string Add(char[] array, int offset, int length)
object? GetEntity(Uri absoluteUri, string? role, Type? ofObjectToReturn)
virtual Uri ResolveUri(Uri? baseUri, string? relativeUri)

References System.Xml.Schema.XdrBuilder._NameTable, System.Xml.Schema.XdrBuilder._reader, System.Xml.Schema.XdrBuilder._SchemaInfo, System.Xml.Schema.XdrBuilder._SchemaNames, System.Xml.Schema.XdrBuilder._validationEventHandler, System.Xml.Schema.XdrBuilder._xmlResolver, System.Xml.XmlNameTable.Add(), System.Xml.Schema.SchemaInfo.Add(), System.Xml.XmlReader.BaseURI, System.Collections.Generic.Dictionary< TKey, TValue >.ContainsKey(), System.Xml.Dictionary, System.Xml.Schema.SchemaInfo.ErrorCount, System.Xml.XmlResolver.GetEntity(), System.input, System.Xml.XmlResolver.ResolveUri(), System.SR.Sch_CannotLoadSchema, System.Xml.Schema.XdrBuilder.SendValidationEvent(), and System.Xml.Schema.SchemaInfo.TargetNamespaces.

Referenced by System.Xml.Schema.XdrBuilder.ProcessAttribute().