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

◆ IsValidLanguageID()

static bool System.Xml.XmlComplianceUtil.IsValidLanguageID ( char[] value,
int startPos,
int length )
inlinestatic

Definition at line 122 of file XmlComplianceUtil.cs.

123 {
124 int num = length;
125 if (num < 2)
126 {
127 return false;
128 }
129 bool flag = false;
130 int num2 = startPos;
131 char c = value[num2];
132 if (XmlCharType.IsLetter(c))
133 {
134 if (XmlCharType.IsLetter(value[++num2]))
135 {
136 if (num == 2)
137 {
138 return true;
139 }
140 num--;
141 num2++;
142 }
143 else if ('I' != c && 'i' != c && 'X' != c && 'x' != c)
144 {
145 return false;
146 }
147 if (value[num2] != '-')
148 {
149 return false;
150 }
151 num -= 2;
152 while (num-- > 0)
153 {
154 c = value[++num2];
155 if (XmlCharType.IsLetter(c))
156 {
157 flag = true;
158 continue;
159 }
160 if (c == '-' && flag)
161 {
162 flag = false;
163 continue;
164 }
165 return false;
166 }
167 if (flag)
168 {
169 return true;
170 }
171 }
172 return false;
173 }

References System.Xml.Dictionary, System.Xml.XmlCharType.IsLetter(), System.length, and System.value.

Referenced by System.Xml.Xsl.XsltOld.SortAction.ParseLang().