Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
AutoValidator.cs
Go to the documentation of this file.
1namespace System.Xml.Schema;
2
3internal sealed class AutoValidator : BaseValidator
4{
5 public override bool PreserveWhitespace => false;
6
12
13 public override void Validate()
14 {
15 switch (DetectValidationType())
16 {
17 case ValidationType.XDR:
19 reader.Validator.Validate();
20 break;
21 case ValidationType.Schema:
23 reader.Validator.Validate();
24 break;
25 case ValidationType.Auto:
26 case ValidationType.DTD:
27 break;
28 }
29 }
30
31 public override void CompleteValidation()
32 {
33 }
34
35 public override object FindId(string name)
36 {
37 return null;
38 }
39
41 {
42 if (reader.Schemas != null && reader.Schemas.Count > 0)
43 {
45 while (enumerator.MoveNext())
46 {
47 XmlSchemaCollectionNode currentNode = enumerator.CurrentNode;
48 SchemaInfo schemaInfo = currentNode.SchemaInfo;
50 {
51 return ValidationType.Schema;
52 }
54 {
55 return ValidationType.XDR;
56 }
57 }
58 }
59 if (reader.NodeType == XmlNodeType.Element)
60 {
61 switch (base.SchemaNames.SchemaTypeFromRoot(reader.LocalName, reader.NamespaceURI))
62 {
63 case SchemaType.XSD:
64 return ValidationType.Schema;
65 case SchemaType.XDR:
66 return ValidationType.XDR;
67 }
68 int attributeCount = reader.AttributeCount;
69 for (int i = 0; i < attributeCount; i++)
70 {
73 string localName = reader.LocalName;
74 if (Ref.Equal(namespaceURI, base.SchemaNames.NsXmlNs))
75 {
77 {
79 return ValidationType.XDR;
80 }
81 continue;
82 }
83 if (Ref.Equal(namespaceURI, base.SchemaNames.NsXsi))
84 {
86 return ValidationType.Schema;
87 }
88 if (Ref.Equal(namespaceURI, base.SchemaNames.QnDtDt.Namespace) && Ref.Equal(localName, base.SchemaNames.QnDtDt.Name))
89 {
92 return ValidationType.XDR;
93 }
94 }
95 if (attributeCount > 0)
96 {
98 }
99 }
100 return ValidationType.Auto;
101 }
102}
static bool Equal(string strA, string strB)
Definition Ref.cs:5
ValidationType DetectValidationType()
override object FindId(string name)
AutoValidator(XmlValidatingReaderImpl reader, XmlSchemaCollection schemaCollection, IValidationEventHandling eventHandling)
XmlValidatingReaderImpl reader
static bool IsXdrSchema(string uri)
static XmlSchemaDatatype FromXdrName(string name)