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

◆ ParseReaderNode()

bool System.Xml.Schema.Parser.ParseReaderNode ( )
inline

Definition at line 162 of file Parser.cs.

163 {
165 {
166 if (_processMarkup)
167 {
169 }
170 return true;
171 }
172 if (_reader.NodeType == XmlNodeType.Element)
173 {
175 {
178 {
179 do
180 {
183 {
184 _namespaceManager.AddNamespace((_reader.Prefix.Length == 0) ? string.Empty : _reader.LocalName, _reader.Value);
185 }
186 }
189 }
192 {
196 {
197 return false;
198 }
199 }
200 else if (!_builder.IsContentParsed())
201 {
203 _processMarkup = true;
204 if (_annotationNSManager == null)
205 {
206 _annotationNSManager = new XmlNamespaceManager(_nameTable);
207 _xmlns = _nameTable.Add("xmlns");
208 }
210 }
211 }
212 else if (!_reader.IsEmptyElement)
213 {
215 _processMarkup = false;
216 }
217 }
218 else if (_reader.NodeType == XmlNodeType.Text)
219 {
220 if (!XmlCharType.IsOnlyWhitespace(_reader.Value))
221 {
223 }
224 }
225 else if (_reader.NodeType == XmlNodeType.EntityReference || _reader.NodeType == XmlNodeType.SignificantWhitespace || _reader.NodeType == XmlNodeType.CDATA)
226 {
228 }
229 else if (_reader.NodeType == XmlNodeType.EndElement)
230 {
232 {
233 if (_processMarkup)
234 {
235 XmlNodeList childNodes = _parentNode.ChildNodes;
236 XmlNode[] array = new XmlNode[childNodes.Count];
237 for (int i = 0; i < childNodes.Count; i++)
238 {
239 array[i] = childNodes[i];
240 }
244 }
245 _markupDepth = int.MaxValue;
246 }
247 else
248 {
251 }
253 {
254 return false;
255 }
256 }
257 return true;
258 }
readonly SchemaNames _schemaNames
Definition Parser.cs:12
XmlNamespaceManager _namespaceManager
Definition Parser.cs:16
void ProcessAppInfoDocMarkup(bool root)
Definition Parser.cs:260
readonly XmlNameTable _nameTable
Definition Parser.cs:10
XmlNamespaceManager _annotationNSManager
Definition Parser.cs:42
SchemaBuilder _builder
Definition Parser.cs:28
bool ProcessElement(string prefix, string name, string ns)
void ProcessAttribute(string prefix, string name, string ns, string value)
void ProcessCData(string value)
void ProcessMarkup(XmlNode[] markup)
string Add(char[] array, int offset, int length)
virtual void AddNamespace(string prefix, string uri)
virtual XmlNodeList ChildNodes
Definition XmlNode.cs:100
XmlNodeType NodeType
Definition XmlReader.cs:62

References System.Xml.Schema.Parser._annotationNSManager, System.Xml.Schema.Parser._builder, System.Xml.Schema.Parser._isProcessNamespaces, System.Xml.Schema.Parser._markupDepth, System.Xml.Schema.Parser._namespaceManager, System.Xml.Schema.Parser._nameTable, System.Xml.Schema.Parser._parentNode, System.Xml.Schema.Parser._processMarkup, System.Xml.Schema.Parser._reader, System.Xml.Schema.Parser._schemaNames, System.Xml.Schema.Parser._schemaXmlDepth, System.Xml.Schema.Parser._xmlns, System.Xml.XmlNameTable.Add(), System.Xml.XmlNamespaceManager.AddNamespace(), System.array, System.Xml.XmlNode.ChildNodes, System.Xml.XmlReader.Depth, System.Xml.Dictionary, System.Xml.Schema.SchemaBuilder.EndChildren(), System.Xml.Ref.Equal(), System.Xml.Schema.SchemaBuilder.IsContentParsed(), System.Xml.XmlReader.IsEmptyElement, System.Xml.XmlCharType.IsOnlyWhitespace(), System.Xml.XmlReader.LocalName, System.Xml.XmlReader.MoveToElement(), System.Xml.XmlReader.MoveToFirstAttribute(), System.Xml.XmlReader.MoveToNextAttribute(), System.Xml.XmlReader.NamespaceURI, System.Xml.XmlReader.NodeType, System.Xml.Schema.SchemaNames.NsXmlNs, System.Xml.XmlNamespaceManager.PopScope(), System.Xml.XmlReader.Prefix, System.Xml.Schema.Parser.ProcessAppInfoDocMarkup(), System.Xml.Schema.SchemaBuilder.ProcessAttribute(), System.Xml.Schema.SchemaBuilder.ProcessCData(), System.Xml.Schema.SchemaBuilder.ProcessElement(), System.Xml.Schema.SchemaBuilder.ProcessMarkup(), System.Xml.XmlNamespaceManager.PushScope(), System.Xml.Schema.SchemaBuilder.StartChildren(), and System.Xml.XmlReader.Value.

Referenced by System.Xml.Schema.Parser.Parse(), System.Xml.XsdValidatingReader.ProcessElementEvent(), System.Xml.XsdValidatingReader.ProcessElementEventAsync(), System.Xml.Schema.XdrValidator.ProcessInlineSchema(), System.Xml.Schema.XsdValidator.ProcessInlineSchema(), System.Xml.XsdValidatingReader.ProcessInlineSchema(), System.Xml.XsdValidatingReader.ProcessInlineSchemaAsync(), and System.Xml.Schema.XdrValidator.ValidateElement().