Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
XmlAutoDetectWriter.cs
Go to the documentation of this file.
2using System.IO;
3
4namespace System.Xml;
5
7{
9
10 private OnRemoveWriter _onRemove;
11
13
14 private readonly XmlEventCache _eventCache;
15
16 private readonly TextWriter _textWriter;
17
18 private readonly Stream _strm;
19
20 public OnRemoveWriter OnRemoveWriterEvent
21 {
22 set
23 {
25 }
26 }
27
29
31 {
32 set
33 {
35 if (_wrapped == null)
36 {
38 }
39 else
40 {
42 }
43 }
44 }
45
47
54
60
66
67 public override void WriteDocType(string name, string pubid, string sysid, string subset)
68 {
71 }
72
73 public override void WriteStartElement(string prefix, string localName, string ns)
74 {
75 if (_wrapped == null)
76 {
77 if (ns.Length == 0 && IsHtmlTag(localName))
78 {
80 }
81 else
82 {
84 }
85 }
86 _wrapped.WriteStartElement(prefix, localName, ns);
87 }
88
89 public override void WriteStartAttribute(string prefix, string localName, string ns)
90 {
92 _wrapped.WriteStartAttribute(prefix, localName, ns);
93 }
94
95 public override void WriteEndAttribute()
96 {
98 }
99
100 public override void WriteCData(string text)
101 {
103 {
105 }
106 else
107 {
109 }
110 }
111
112 public override void WriteComment(string text)
113 {
114 if (_wrapped == null)
115 {
117 }
118 else
119 {
121 }
122 }
123
124 public override void WriteProcessingInstruction(string name, string text)
125 {
126 if (_wrapped == null)
127 {
129 }
130 else
131 {
133 }
134 }
135
136 public override void WriteWhitespace(string ws)
137 {
138 if (_wrapped == null)
139 {
141 }
142 else
143 {
145 }
146 }
147
148 public override void WriteString(string text)
149 {
151 {
153 }
154 else
155 {
157 }
158 }
159
160 public override void WriteChars(char[] buffer, int index, int count)
161 {
162 WriteString(new string(buffer, index, count));
163 }
164
165 public override void WriteRaw(char[] buffer, int index, int count)
166 {
167 WriteRaw(new string(buffer, index, count));
168 }
169
170 public override void WriteRaw(string data)
171 {
172 if (TextBlockCreatesWriter(data))
173 {
174 _wrapped.WriteRaw(data);
175 }
176 else
177 {
178 _eventCache.WriteRaw(data);
179 }
180 }
181
182 public override void WriteEntityRef(string name)
183 {
186 }
187
188 public override void WriteCharEntity(char ch)
189 {
192 }
193
199
200 public override void WriteBase64(byte[] buffer, int index, int count)
201 {
204 }
205
206 public override void WriteBinHex(byte[] buffer, int index, int count)
207 {
210 }
211
212 public override void Close()
213 {
215 _wrapped.Close();
216 }
217
218 public override void Flush()
219 {
221 _wrapped.Flush();
222 }
223
224 public override void WriteValue(object value)
225 {
228 }
229
230 public override void WriteValue(string value)
231 {
234 }
235
236 public override void WriteValue(bool value)
237 {
240 }
241
242 public override void WriteValue(DateTime value)
243 {
246 }
247
253
254 public override void WriteValue(double value)
255 {
258 }
259
260 public override void WriteValue(float value)
261 {
264 }
265
266 public override void WriteValue(decimal value)
267 {
270 }
271
272 public override void WriteValue(int value)
273 {
276 }
277
278 public override void WriteValue(long value)
279 {
282 }
283
289
290 internal override void WriteXmlDeclaration(string xmldecl)
291 {
294 }
295
296 internal override void StartElementContent()
297 {
299 }
300
301 internal override void WriteEndElement(string prefix, string localName, string ns)
302 {
303 _wrapped.WriteEndElement(prefix, localName, ns);
304 }
305
306 internal override void WriteFullEndElement(string prefix, string localName, string ns)
307 {
308 _wrapped.WriteFullEndElement(prefix, localName, ns);
309 }
310
311 internal override void WriteNamespaceDeclaration(string prefix, string ns)
312 {
315 }
316
322
323 internal override void WriteEndNamespaceDeclaration()
324 {
326 }
327
328 private static bool IsHtmlTag(string tagName)
329 {
330 if (tagName.Length != 4)
331 {
332 return false;
333 }
334 if (tagName[0] != 'H' && tagName[0] != 'h')
335 {
336 return false;
337 }
338 if (tagName[1] != 'T' && tagName[1] != 't')
339 {
340 return false;
341 }
342 if (tagName[2] != 'M' && tagName[2] != 'm')
343 {
344 return false;
345 }
346 if (tagName[3] != 'L' && tagName[3] != 'l')
347 {
348 return false;
349 }
350 return true;
351 }
352
353 [MemberNotNull("_wrapped")]
355 {
356 if (_wrapped == null)
357 {
359 }
360 }
361
362 [MemberNotNullWhen(true, "_wrapped")]
364 {
365 if (_wrapped == null)
366 {
368 {
369 return false;
370 }
372 }
373 return true;
374 }
375
376 [MemberNotNull("_wrapped")]
378 {
382 {
384 }
386 if (_textWriter != null)
387 {
389 }
390 else
391 {
393 }
396 if (_onRemove != null)
397 {
399 }
400 }
401}
override XmlWriterSettings Settings
override void WriteBase64(byte[] buffer, int index, int count)
void EnsureWrappedWriter(XmlOutputMethod outMethod)
XmlAutoDetectWriter(XmlWriterSettings writerSettings)
override void WriteXmlDeclaration(XmlStandalone standalone)
override void WriteValue(bool value)
override void WriteValue(int value)
override void WriteValue(float value)
override void WriteXmlDeclaration(string xmldecl)
override void WriteBinHex(byte[] buffer, int index, int count)
override void WriteString(string text)
override void WriteCData(string text)
bool TextBlockCreatesWriter(string textBlock)
override void WriteRaw(char[] buffer, int index, int count)
override void WriteRaw(string data)
readonly XmlWriterSettings _writerSettings
override void WriteValue(long value)
readonly XmlEventCache _eventCache
override void WriteValue(DateTimeOffset value)
override void WriteStartNamespaceDeclaration(string prefix)
override void WriteProcessingInstruction(string name, string text)
override void WriteNamespaceDeclaration(string prefix, string ns)
override void WriteSurrogateCharEntity(char lowChar, char highChar)
override void WriteValue(double value)
override void WriteChars(char[] buffer, int index, int count)
override void WriteWhitespace(string ws)
XmlAutoDetectWriter(Stream strm, XmlWriterSettings writerSettings)
override void WriteValue(string value)
override void WriteStartAttribute(string prefix, string localName, string ns)
override void WriteComment(string text)
override void WriteEntityRef(string name)
override void WriteValue(decimal value)
void CreateWrappedWriter(XmlOutputMethod outMethod)
XmlAutoDetectWriter(TextWriter textWriter, XmlWriterSettings writerSettings)
static bool IsHtmlTag(string tagName)
override void WriteDocType(string name, string pubid, string sysid, string subset)
override void WriteStartElement(string prefix, string localName, string ns)
override void WriteValue(object value)
override void WriteCharEntity(char ch)
override void WriteValue(DateTime value)
override void WriteFullEndElement(string prefix, string localName, string ns)
override void WriteEndElement(string prefix, string localName, string ns)
override IXmlNamespaceResolver NamespaceResolver
static bool IsOnlyWhitespace(string str)
override void WriteProcessingInstruction(string name, string text)
override void WriteWhitespace(string ws)
override void WriteCData(string text)
void EventsToWriter(XmlWriter writer)
override void WriteComment(string text)
override void WriteRaw(char[] buffer, int index, int count)
override void WriteString(string text)
virtual void Close(WriteState currentState)
override void WriteValue(object value)
override void WriteCData(string text)
virtual bool SupportsNamespaceDeclarationInChunks
IXmlNamespaceResolver _resolver
override void WriteEndElement()
override void WriteCharEntity(char ch)
override void WriteRaw(char[] buffer, int index, int count)
override void WriteFullEndElement()
void WriteNamespaceDeclaration(string prefix, string ns)
override void WriteWhitespace(string ws)
virtual void WriteEndNamespaceDeclaration()
override void WriteSurrogateCharEntity(char lowChar, char highChar)
virtual void WriteStartNamespaceDeclaration(string prefix)
override void WriteBase64(byte[] buffer, int index, int count)
override void WriteDocType(string name, string pubid, string sysid, string subset)
virtual void WriteXmlDeclaration(XmlStandalone standalone)
void WriteComment(string? text)
void WriteProcessingInstruction(string name, string? text)
static XmlWriter Create(string outputFileName)
Definition XmlWriter.cs:468
void WriteEntityRef(string name)
void WriteString(string? text)
void WriteStartAttribute(string localName, string? ns)
Definition XmlWriter.cs:67
virtual void WriteBinHex(byte[] buffer, int index, int count)
Definition XmlWriter.cs:105
void WriteStartElement(string localName, string? ns)
Definition XmlWriter.cs:30