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

◆ DetectValidationType()

ValidationType System.Xml.Schema.AutoValidator.DetectValidationType ( )
inlineprivate

Definition at line 40 of file AutoValidator.cs.

41 {
42 if (reader.Schemas != null && reader.Schemas.Count > 0)
43 {
44 XmlSchemaCollectionEnumerator enumerator = reader.Schemas.GetEnumerator();
45 while (enumerator.MoveNext())
46 {
47 XmlSchemaCollectionNode currentNode = enumerator.CurrentNode;
48 SchemaInfo schemaInfo = currentNode.SchemaInfo;
49 if (schemaInfo.SchemaType == SchemaType.XSD)
50 {
51 return ValidationType.Schema;
52 }
53 if (schemaInfo.SchemaType == SchemaType.XDR)
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 {
76 if (XdrBuilder.IsXdrSchema(reader.Value))
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 {
90 reader.SchemaTypeObject = XmlSchemaDatatype.FromXdrName(reader.Value);
92 return ValidationType.XDR;
93 }
94 }
95 if (attributeCount > 0)
96 {
98 }
99 }
100 return ValidationType.Auto;
101 }
XmlValidatingReaderImpl reader

References System.Xml.XmlValidatingReaderImpl.AttributeCount, System.Xml.Dictionary, System.Xml.Ref.Equal(), System.Xml.Schema.XmlSchemaDatatype.FromXdrName(), System.Xml.Schema.XdrBuilder.IsXdrSchema(), System.Xml.XmlValidatingReaderImpl.LocalName, System.Xml.XmlValidatingReaderImpl.MoveToAttribute(), System.Xml.XmlValidatingReaderImpl.MoveToElement(), System.Xml.XmlValidatingReaderImpl.NamespaceURI, System.Xml.XmlValidatingReaderImpl.NodeType, System.Xml.Schema.BaseValidator.reader, System.Xml.Schema.BaseValidator.schemaInfo, System.Xml.Schema.XmlSchemaCollectionNode.SchemaInfo, System.Xml.XmlValidatingReaderImpl.Schemas, System.Xml.Schema.SchemaInfo.SchemaType, and System.Xml.XmlValidatingReaderImpl.Value.

Referenced by System.Xml.Schema.AutoValidator.Validate().