Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
XmlName.cs
Go to the documentation of this file.
2
3namespace System.Xml;
4
5internal class XmlName : IXmlSchemaInfo
6{
7 private readonly string _prefix;
8
9 private readonly string _localName;
10
11 private readonly string _ns;
12
13 private string _name;
14
15 private readonly int _hashCode;
16
18
19 internal XmlName next;
20
21 public string LocalName => _localName;
22
23 public string NamespaceURI => _ns;
24
25 public string Prefix => _prefix;
26
27 public int HashCode => _hashCode;
28
30
31 public string Name
32 {
33 get
34 {
35 if (_name == null)
36 {
37 if (_prefix.Length > 0)
38 {
39 if (_localName.Length > 0)
40 {
41 string array = _prefix + ":" + _localName;
43 {
44 if (_name == null)
45 {
47 }
48 }
49 }
50 else
51 {
52 _name = _prefix;
53 }
54 }
55 else
56 {
58 }
59 }
60 return _name;
61 }
62 }
63
64 public virtual XmlSchemaValidity Validity => XmlSchemaValidity.NotKnown;
65
66 public virtual bool IsDefault => false;
67
68 public virtual bool IsNil => false;
69
70 public virtual XmlSchemaSimpleType MemberType => null;
71
72 public virtual XmlSchemaType SchemaType => null;
73
74 public virtual XmlSchemaElement SchemaElement => null;
75
76 public virtual XmlSchemaAttribute SchemaAttribute => null;
77
78 public static XmlName Create(string prefix, string localName, string ns, int hashCode, XmlDocument ownerDoc, XmlName next, IXmlSchemaInfo schemaInfo)
79 {
80 if (schemaInfo == null)
81 {
82 return new XmlName(prefix, localName, ns, hashCode, ownerDoc, next);
83 }
84 return new XmlNameEx(prefix, localName, ns, hashCode, ownerDoc, next, schemaInfo);
85 }
86
87 internal XmlName(string prefix, string localName, string ns, int hashCode, XmlDocument ownerDoc, XmlName next)
88 {
90 _localName = localName;
91 _ns = ns;
92 _name = null;
93 _hashCode = hashCode;
96 }
97
98 public virtual bool Equals(IXmlSchemaInfo schemaInfo)
99 {
100 return schemaInfo == null;
101 }
102
103 public static int GetHashCode(string name)
104 {
105 int result = 0;
106 if (name != null)
107 {
108 return string.GetHashCode(name.AsSpan(name.LastIndexOf(':') + 1));
109 }
110 return result;
111 }
112}
string Add(char[] array, int offset, int length)
XmlName(string prefix, string localName, string ns, int hashCode, XmlDocument ownerDoc, XmlName next)
Definition XmlName.cs:87
virtual XmlSchemaSimpleType MemberType
Definition XmlName.cs:70
virtual bool Equals(IXmlSchemaInfo schemaInfo)
Definition XmlName.cs:98
static XmlName Create(string prefix, string localName, string ns, int hashCode, XmlDocument ownerDoc, XmlName next, IXmlSchemaInfo schemaInfo)
Definition XmlName.cs:78
virtual XmlSchemaAttribute SchemaAttribute
Definition XmlName.cs:76
static int GetHashCode(string name)
Definition XmlName.cs:103
virtual XmlSchemaElement SchemaElement
Definition XmlName.cs:74
readonly string _prefix
Definition XmlName.cs:7
readonly int _hashCode
Definition XmlName.cs:15
string NamespaceURI
Definition XmlName.cs:23
virtual bool IsDefault
Definition XmlName.cs:66
readonly string _localName
Definition XmlName.cs:9
XmlDocument OwnerDocument
Definition XmlName.cs:29
XmlDocument ownerDoc
Definition XmlName.cs:17
readonly string _ns
Definition XmlName.cs:11
virtual bool IsNil
Definition XmlName.cs:68
virtual XmlSchemaValidity Validity
Definition XmlName.cs:64