Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
XmlQueryOutput.cs
Go to the documentation of this file.
5
7
9public sealed class XmlQueryOutput : XmlWriter
10{
12
13 private readonly XmlQueryRuntime _runtime;
14
16
17 private int _depth;
18
20
21 private readonly XmlSequenceWriter _seqwrt;
22
24
25 private int _cntNmsp;
26
28
29 private int _prefixIndex;
30
31 private string _piTarget;
32
34
36
38
40
42
43 internal XmlRawWriter Writer
44 {
45 get
46 {
47 return _xwrt;
48 }
49 set
50 {
52 {
54 }
55 _xwrt = value;
56 }
57 }
58
59 public override WriteState WriteState
60 {
61 get
62 {
63 throw new NotSupportedException();
64 }
65 }
66
67 public override XmlSpace XmlSpace
68 {
69 get
70 {
71 throw new NotSupportedException();
72 }
73 }
74
75 public override string XmlLang
76 {
77 get
78 {
79 throw new NotSupportedException();
80 }
81 }
82
89
91 {
93 _xwrt = xwrt;
94 _xstate = XmlState.WithinContent;
95 _depth = 1;
97 }
98
100 {
101 if (Writer is XmlAttributeCache)
102 {
104 }
105 Writer = writer;
106 }
107
108 public override void WriteStartDocument()
109 {
110 throw new NotSupportedException();
111 }
112
113 public override void WriteStartDocument(bool standalone)
114 {
115 throw new NotSupportedException();
116 }
117
118 public override void WriteEndDocument()
119 {
120 throw new NotSupportedException();
121 }
122
123 public override void WriteDocType(string name, string pubid, string sysid, string subset)
124 {
125 throw new NotSupportedException();
126 }
127
128 public override void WriteStartElement(string prefix, string localName, string ns)
129 {
131 WriteStartElementUnchecked(prefix, localName, ns);
133 if (_attrCache == null)
134 {
136 }
137 _attrCache.Init(Writer);
138 Writer = _attrCache;
139 _attrCache = null;
140 PushElementNames(prefix, localName, ns);
141 }
142
143 public override void WriteEndElement()
144 {
145 if (_xstate == XmlState.EnumAttrs)
146 {
148 }
149 PopElementNames(out var prefix, out var localName, out var ns);
150 WriteEndElementUnchecked(prefix, localName, ns);
151 if (_depth == 0)
152 {
153 EndTree();
154 }
155 }
156
157 public override void WriteFullEndElement()
158 {
160 }
161
162 public override void WriteStartAttribute(string prefix, string localName, string ns)
163 {
164 if (prefix.Length == 5 && prefix == "xmlns")
165 {
166 WriteStartNamespace(localName);
167 return;
168 }
170 if (ns.Length != 0 && _depth != 0)
171 {
173 }
174 WriteStartAttributeUnchecked(prefix, localName, ns);
175 }
176
177 public override void WriteEndAttribute()
178 {
179 if (_xstate == XmlState.WithinNmsp)
180 {
182 return;
183 }
185 if (_depth == 0)
186 {
187 EndTree();
188 }
189 }
190
191 public override void WriteComment(string text)
192 {
196 }
197
198 public override void WriteProcessingInstruction(string target, string text)
199 {
203 }
204
205 public override void WriteEntityRef(string name)
206 {
207 throw new NotSupportedException();
208 }
209
210 public override void WriteCharEntity(char ch)
211 {
212 throw new NotSupportedException();
213 }
214
215 public override void WriteSurrogateCharEntity(char lowChar, char highChar)
216 {
217 throw new NotSupportedException();
218 }
219
220 public override void WriteWhitespace(string ws)
221 {
222 throw new NotSupportedException();
223 }
224
225 public override void WriteString(string text)
226 {
228 }
229
230 public override void WriteChars(char[] buffer, int index, int count)
231 {
232 throw new NotSupportedException();
233 }
234
235 public override void WriteRaw(char[] buffer, int index, int count)
236 {
237 throw new NotSupportedException();
238 }
239
240 public override void WriteRaw(string data)
241 {
243 }
244
245 public override void WriteCData(string text)
246 {
248 }
249
250 public override void WriteBase64(byte[] buffer, int index, int count)
251 {
252 throw new NotSupportedException();
253 }
254
255 public override void Close()
256 {
257 }
258
259 public override void Flush()
260 {
261 }
262
263 public override string LookupPrefix(string ns)
264 {
265 throw new NotSupportedException();
266 }
267
269 {
272 _xstate = ((rootType == XPathNodeType.Attribute || rootType == XPathNodeType.Namespace) ? XmlState.EnumAttrs : XmlState.WithinContent);
273 }
274
275 public void EndTree()
276 {
278 _xstate = XmlState.WithinSequence;
279 Writer = null;
280 }
281
282 public void WriteStartElementUnchecked(string prefix, string localName, string ns)
283 {
284 if (_nsmgr != null)
285 {
287 }
288 Writer.WriteStartElement(prefix, localName, ns);
290 _usedPrefixes[prefix] = ns;
291 _xstate = XmlState.EnumAttrs;
292 _depth++;
293 }
294
295 public void WriteStartElementUnchecked(string localName)
296 {
297 WriteStartElementUnchecked(string.Empty, localName, string.Empty);
298 }
299
301 {
302 if (_cntNmsp != 0)
303 {
305 }
306 Writer.StartElementContent();
307 _xstate = XmlState.WithinContent;
308 }
309
310 public void WriteEndElementUnchecked(string prefix, string localName, string ns)
311 {
312 Writer.WriteEndElement(prefix, localName, ns);
313 _xstate = XmlState.WithinContent;
314 _depth--;
315 if (_nsmgr != null)
316 {
318 }
319 }
320
321 public void WriteEndElementUnchecked(string localName)
322 {
323 WriteEndElementUnchecked(string.Empty, localName, string.Empty);
324 }
325
326 public void WriteStartAttributeUnchecked(string prefix, string localName, string ns)
327 {
328 Writer.WriteStartAttribute(prefix, localName, ns);
329 _xstate = XmlState.WithinAttr;
330 _depth++;
331 }
332
333 public void WriteStartAttributeUnchecked(string localName)
334 {
335 WriteStartAttributeUnchecked(string.Empty, localName, string.Empty);
336 }
337
339 {
340 Writer.WriteEndAttribute();
341 _xstate = XmlState.EnumAttrs;
342 _depth--;
343 }
344
345 public void WriteNamespaceDeclarationUnchecked(string prefix, string ns)
346 {
347 if (_depth == 0)
348 {
349 Writer.WriteNamespaceDeclaration(prefix, ns);
350 return;
351 }
352 if (_nsmgr == null)
353 {
354 if (ns.Length == 0 && prefix.Length == 0)
355 {
356 return;
357 }
360 }
361 if (_nsmgr.LookupNamespace(prefix) != ns)
362 {
363 AddNamespace(prefix, ns);
364 }
365 _usedPrefixes[prefix] = ns;
366 }
367
368 public void WriteStringUnchecked(string text)
369 {
370 Writer.WriteString(text);
371 }
372
373 public void WriteRawUnchecked(string text)
374 {
375 Writer.WriteRaw(text);
376 }
377
378 public void WriteStartRoot()
379 {
380 if (_xstate != 0)
381 {
383 }
385 _depth++;
386 }
387
388 public void WriteEndRoot()
389 {
390 _depth--;
391 EndTree();
392 }
393
394 public void WriteStartElementLocalName(string localName)
395 {
396 WriteStartElement(string.Empty, localName, string.Empty);
397 }
398
399 public void WriteStartAttributeLocalName(string localName)
400 {
401 WriteStartAttribute(string.Empty, localName, string.Empty);
402 }
403
408
409 public void WriteStartElementComputed(string tagName, string ns)
410 {
412 }
413
418
420 {
421 WriteStartComputed(XPathNodeType.Element, name);
422 }
423
428
429 public void WriteStartAttributeComputed(string tagName, string ns)
430 {
432 }
433
438
440 {
441 WriteStartComputed(XPathNodeType.Attribute, name);
442 }
443
444 public void WriteNamespaceDeclaration(string prefix, string ns)
445 {
447 if (_nsmgr == null)
448 {
450 }
451 else
452 {
454 if (ns != text)
455 {
456 if (text != null && _usedPrefixes.ContainsKey(prefix))
457 {
458 throw new XslTransformException(System.SR.XmlIl_NmspConflict, (prefix.Length == 0) ? "" : ":", prefix, ns, text);
459 }
460 AddNamespace(prefix, ns);
461 }
462 }
463 if (_depth == 0)
464 {
465 EndTree();
466 }
467 _usedPrefixes[prefix] = ns;
468 }
469
470 public void WriteStartNamespace(string prefix)
471 {
475 _xstate = XmlState.WithinNmsp;
476 _depth++;
477 }
478
479 public void WriteNamespaceString(string text)
480 {
482 }
483
484 public void WriteEndNamespace()
485 {
486 _xstate = XmlState.EnumAttrs;
487 _depth--;
489 if (_depth == 0)
490 {
491 EndTree();
492 }
493 }
494
495 public void WriteStartComment()
496 {
499 _xstate = XmlState.WithinComment;
500 _depth++;
501 }
502
503 public void WriteCommentString(string text)
504 {
506 }
507
508 public void WriteEndComment()
509 {
510 Writer.WriteComment(_nodeText.GetResult());
511 _xstate = XmlState.WithinContent;
512 _depth--;
513 if (_depth == 0)
514 {
515 EndTree();
516 }
517 }
518
519 public void WriteStartProcessingInstruction(string target)
520 {
521 ConstructWithinContent(XPathNodeType.ProcessingInstruction);
522 ValidateNames.ValidateNameThrow("", target, "", XPathNodeType.ProcessingInstruction, ValidateNames.Flags.AllExceptPrefixMapping);
523 _piTarget = target;
525 _xstate = XmlState.WithinPI;
526 _depth++;
527 }
528
533
535 {
536 Writer.WriteProcessingInstruction(_piTarget, _nodeText.GetResult());
537 _xstate = XmlState.WithinContent;
538 _depth--;
539 if (_depth == 0)
540 {
541 EndTree();
542 }
543 }
544
546 {
547 if (item.IsNode)
548 {
550 if (_xstate == XmlState.WithinSequence)
551 {
553 }
554 else
555 {
557 }
558 }
559 else
560 {
562 }
563 }
564
566 {
568 {
569 rtfNavigator.CopyToWriter(this);
570 }
571 else if (navigator.NodeType == XPathNodeType.Root)
572 {
573 if (navigator.MoveToFirstChild())
574 {
575 do
576 {
578 }
579 while (navigator.MoveToNext());
580 navigator.MoveToParent();
581 }
582 }
583 else
584 {
586 }
587 }
588
590 {
591 if (navigator.NodeType == XPathNodeType.Root)
592 {
593 return true;
594 }
595 if (StartCopy(navigator, callChk: true))
596 {
598 return true;
599 }
600 return false;
601 }
602
604 {
605 if (navigator.NodeType == XPathNodeType.Element)
606 {
608 }
609 }
610
611 private void AddNamespace(string prefix, string ns)
612 {
614 _cntNmsp++;
615 _usedPrefixes[prefix] = ns;
616 }
617
618 private void WriteString(string text, bool disableOutputEscaping)
619 {
620 switch (_xstate)
621 {
622 case XmlState.WithinSequence:
624 goto case XmlState.WithinContent;
625 case XmlState.WithinContent:
627 {
629 }
630 else
631 {
633 }
634 break;
635 case XmlState.EnumAttrs:
637 goto case XmlState.WithinContent;
638 case XmlState.WithinAttr:
640 break;
641 case XmlState.WithinNmsp:
643 break;
644 case XmlState.WithinComment:
646 break;
647 case XmlState.WithinPI:
649 break;
650 }
651 if (_depth == 0)
652 {
653 EndTree();
654 }
655 }
656
658 {
659 int depth = _depth;
660 while (true)
661 {
662 if (StartCopy(navigator, _depth == depth))
663 {
664 XPathNodeType nodeType = navigator.NodeType;
665 if (navigator.MoveToFirstAttribute())
666 {
667 do
668 {
669 StartCopy(navigator, callChk: false);
670 }
671 while (navigator.MoveToNextAttribute());
672 navigator.MoveToParent();
673 }
674 CopyNamespaces(navigator, (_depth - 1 == depth) ? XPathNamespaceScope.ExcludeXml : XPathNamespaceScope.Local);
676 if (navigator.MoveToFirstChild())
677 {
678 continue;
679 }
680 EndCopy(navigator, _depth - 1 == depth);
681 }
682 while (true)
683 {
684 if (_depth == depth)
685 {
686 return;
687 }
688 if (navigator.MoveToNext())
689 {
690 break;
691 }
692 navigator.MoveToParent();
693 EndCopy(navigator, _depth - 1 == depth);
694 }
695 }
696 }
697
699 {
700 bool result = false;
701 switch (navigator.NodeType)
702 {
703 case XPathNodeType.Element:
704 if (callChk)
705 {
706 WriteStartElement(navigator.Prefix, navigator.LocalName, navigator.NamespaceURI);
707 }
708 else
709 {
710 WriteStartElementUnchecked(navigator.Prefix, navigator.LocalName, navigator.NamespaceURI);
711 }
712 result = true;
713 break;
714 case XPathNodeType.Attribute:
715 if (callChk)
716 {
717 WriteStartAttribute(navigator.Prefix, navigator.LocalName, navigator.NamespaceURI);
718 }
719 else
720 {
721 WriteStartAttributeUnchecked(navigator.Prefix, navigator.LocalName, navigator.NamespaceURI);
722 }
723 WriteString(navigator.Value);
724 if (callChk)
725 {
727 }
728 else
729 {
731 }
732 break;
733 case XPathNodeType.Namespace:
734 if (callChk)
735 {
736 if (Writer is XmlAttributeCache { Count: not 0 })
737 {
738 throw new XslTransformException(System.SR.XmlIl_NmspAfterAttr, string.Empty);
739 }
741 }
742 else
743 {
745 }
746 break;
747 case XPathNodeType.Text:
748 case XPathNodeType.SignificantWhitespace:
749 case XPathNodeType.Whitespace:
750 if (callChk)
751 {
753 }
754 else
755 {
757 }
758 break;
759 case XPathNodeType.Root:
761 break;
762 case XPathNodeType.Comment:
766 break;
767 case XPathNodeType.ProcessingInstruction:
771 break;
772 }
773 return result;
774 }
775
777 {
778 if (callChk)
779 {
781 }
782 else
783 {
784 WriteEndElementUnchecked(navigator.Prefix, navigator.LocalName, navigator.NamespaceURI);
785 }
786 }
787
789 {
790 if (navigator.NamespaceURI.Length == 0)
791 {
793 }
794 if (navigator.MoveToFirstNamespace(nsScope))
795 {
797 navigator.MoveToParent();
798 }
799 }
800
802 {
803 string localName = navigator.LocalName;
804 string value = navigator.Value;
805 if (navigator.MoveToNextNamespace(nsScope))
806 {
808 }
810 }
811
813 {
814 switch (_xstate)
815 {
816 case XmlState.WithinSequence:
818 _xstate = XmlState.WithinContent;
819 break;
820 case XmlState.EnumAttrs:
822 break;
823 default:
825 break;
826 case XmlState.WithinContent:
827 break;
828 }
829 }
830
832 {
833 switch (_xstate)
834 {
835 case XmlState.WithinSequence:
837 _xstate = XmlState.EnumAttrs;
838 break;
839 default:
841 break;
842 case XmlState.EnumAttrs:
843 break;
844 }
845 }
846
848 {
849 while (_cntNmsp != 0)
850 {
851 _cntNmsp--;
853 Writer.WriteNamespaceDeclaration(prefix, uri);
854 }
855 }
856
858 {
859 return xstate switch
860 {
865 XmlState.WithinPI => XPathNodeType.ProcessingInstruction,
866 _ => XPathNodeType.Element,
867 };
868 }
869
870 private string CheckAttributePrefix(string prefix, string ns)
871 {
872 if (_nsmgr == null)
873 {
875 }
876 else
877 {
878 while (true)
879 {
881 if (!(text != ns))
882 {
883 break;
884 }
885 if (text != null)
886 {
887 prefix = RemapPrefix(prefix, ns, isElemPrefix: false);
888 continue;
889 }
890 AddNamespace(prefix, ns);
891 break;
892 }
893 }
894 return prefix;
895 }
896
897 private string RemapPrefix(string prefix, string ns, bool isElemPrefix)
898 {
899 if (_conflictPrefixes == null)
900 {
902 }
903 if (_nsmgr == null)
904 {
907 }
908 string value = _nsmgr.LookupPrefix(ns);
909 if ((value == null || (!isElemPrefix && value.Length == 0)) && (!_conflictPrefixes.TryGetValue(ns, out value) || !(value != prefix) || (!isElemPrefix && value.Length == 0)))
910 {
911 value = "xp_" + _prefixIndex++.ToString(CultureInfo.InvariantCulture);
912 }
914 return value;
915 }
916
918 {
920 prefix = EnsureValidName(prefix, localName, ns, nodeType);
921 if (nodeType == XPathNodeType.Element)
922 {
923 WriteStartElement(prefix, localName, ns);
924 }
925 else
926 {
927 WriteStartAttribute(prefix, localName, ns);
928 }
929 }
930
931 private void WriteStartComputed(XPathNodeType nodeType, string tagName, string ns)
932 {
934 prefix = EnsureValidName(prefix, localName, ns, nodeType);
935 if (nodeType == XPathNodeType.Element)
936 {
937 WriteStartElement(prefix, localName, ns);
938 }
939 else
940 {
941 WriteStartAttribute(prefix, localName, ns);
942 }
943 }
944
946 {
947 string prefix = navigator.Prefix;
948 string localName = navigator.LocalName;
949 string namespaceURI = navigator.NamespaceURI;
950 if (navigator.NodeType != nodeType)
951 {
952 prefix = EnsureValidName(prefix, localName, namespaceURI, nodeType);
953 }
954 if (nodeType == XPathNodeType.Element)
955 {
957 }
958 else
959 {
961 }
962 }
963
965 {
966 string prefix = ((name.Namespace.Length != 0) ? RemapPrefix(string.Empty, name.Namespace, nodeType == XPathNodeType.Element) : string.Empty);
967 prefix = EnsureValidName(prefix, name.Name, name.Namespace, nodeType);
968 if (nodeType == XPathNodeType.Element)
969 {
970 WriteStartElement(prefix, name.Name, name.Namespace);
971 }
972 else
973 {
974 WriteStartAttribute(prefix, name.Name, name.Namespace);
975 }
976 }
977
978 private string EnsureValidName(string prefix, string localName, string ns, XPathNodeType nodeType)
979 {
980 if (!ValidateNames.ValidateName(prefix, localName, ns, nodeType, ValidateNames.Flags.AllExceptNCNames))
981 {
982 prefix = ((ns.Length != 0) ? RemapPrefix(string.Empty, ns, nodeType == XPathNodeType.Element) : string.Empty);
983 ValidateNames.ValidateNameThrow(prefix, localName, ns, nodeType, ValidateNames.Flags.AllExceptNCNames);
984 }
985 return prefix;
986 }
987
988 private void PushElementNames(string prefix, string localName, string ns)
989 {
990 if (_stkNames == null)
991 {
992 _stkNames = new Stack<string>(15);
993 }
995 _stkNames.Push(localName);
996 _stkNames.Push(ns);
997 }
998
999 private void PopElementNames(out string prefix, out string localName, out string ns)
1000 {
1001 ns = _stkNames.Pop();
1002 localName = _stkNames.Pop();
1003 prefix = _stkNames.Pop();
1004 }
1005
1007 {
1008 switch (constructorType)
1009 {
1010 case XPathNodeType.Root:
1011 case XPathNodeType.Element:
1012 case XPathNodeType.Text:
1013 case XPathNodeType.ProcessingInstruction:
1014 case XPathNodeType.Comment:
1016 case XPathNodeType.Attribute:
1017 case XPathNodeType.Namespace:
1018 if (_depth == 1)
1019 {
1020 throw new XslTransformException(System.SR.XmlIl_BadXmlState, constructorType.ToString(), _rootType.ToString());
1021 }
1022 if (_xstate == XmlState.WithinContent)
1023 {
1024 throw new XslTransformException(System.SR.XmlIl_BadXmlStateAttr, string.Empty);
1025 }
1026 goto case XPathNodeType.Root;
1027 default:
1029 }
1030 }
1031}
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
static CultureInfo InvariantCulture
static string XmlIl_BadXmlState
Definition SR.cs:2030
static string XmlIl_NmspAfterAttr
Definition SR.cs:2034
static string XmlIl_BadXmlStateAttr
Definition SR.cs:2032
static string XmlIl_NmspConflict
Definition SR.cs:2036
Definition SR.cs:7
static bool ValidateName(string prefix, string localName, string ns, XPathNodeType nodeKind, Flags flags)
static void ValidateNameThrow(string prefix, string localName, string ns, XPathNodeType nodeKind, Flags flags)
static int ParseQNameThrow(string s)
virtual ? string LookupNamespace(string prefix)
virtual ? string LookupPrefix(string uri)
bool GetNamespaceDeclaration(int idx, [NotNullWhen(true)] out string prefix, out string uri)
virtual void AddNamespace(string prefix, string uri)
void XsltCopyOf(XPathNavigator navigator)
void WriteStartAttributeLocalName(string localName)
void PushElementNames(string prefix, string localName, string ns)
void WriteNamespaceDeclarationUnchecked(string prefix, string ns)
override void WriteWhitespace(string ws)
void WriteStartAttributeComputed(XmlQualifiedName name)
override void WriteSurrogateCharEntity(char lowChar, char highChar)
void WriteStartElementUnchecked(string localName)
override void WriteStartElement(string prefix, string localName, string ns)
void StartTree(XPathNodeType rootType)
XmlQueryOutput(XmlQueryRuntime runtime, XmlEventCache xwrt)
void WriteStartAttributeComputed(XPathNavigator navigator)
override void WriteStartDocument(bool standalone)
void WriteEndElementUnchecked(string prefix, string localName, string ns)
override void WriteEntityRef(string name)
void AddNamespace(string prefix, string ns)
void WriteStartAttributeComputed(string tagName, string ns)
void WriteStartElementComputed(string tagName, string ns)
override void WriteString(string text)
void ConstructInEnumAttrs(XPathNodeType rootType)
string EnsureValidName(string prefix, string localName, string ns, XPathNodeType nodeType)
void WriteStartElementLocalName(string localName)
override string LookupPrefix(string ns)
void ConstructWithinContent(XPathNodeType rootType)
void WriteStartProcessingInstruction(string target)
void WriteEndElementUnchecked(string localName)
override void WriteChars(char[] buffer, int index, int count)
override void WriteCData(string text)
void EndCopy(XPathNavigator navigator)
void WriteStartComputed(XPathNodeType nodeType, XPathNavigator navigator)
void WriteStartElementUnchecked(string prefix, string localName, string ns)
void WriteStartComputed(XPathNodeType nodeType, string tagName, int prefixMappingsIndex)
override void WriteProcessingInstruction(string target, string text)
override void WriteBase64(byte[] buffer, int index, int count)
void WriteStartComputed(XPathNodeType nodeType, string tagName, string ns)
void EndCopy(XPathNavigator navigator, bool callChk)
override void WriteRaw(char[] buffer, int index, int count)
XmlQueryOutput(XmlQueryRuntime runtime, XmlSequenceWriter seqwrt)
void WriteProcessingInstructionString(string text)
void WriteString(string text, bool disableOutputEscaping)
readonly Dictionary< string, string > _usedPrefixes
void WriteStartComputed(XPathNodeType nodeType, XmlQualifiedName name)
void CopyNode(XPathNavigator navigator)
void WriteStartAttributeUnchecked(string prefix, string localName, string ns)
void PopElementNames(out string prefix, out string localName, out string ns)
override void WriteComment(string text)
void SetWrappedWriter(XmlRawWriter writer)
override void WriteStartAttribute(string prefix, string localName, string ns)
string RemapPrefix(string prefix, string ns, bool isElemPrefix)
readonly XmlQueryRuntime _runtime
override void WriteRaw(string data)
override void WriteDocType(string name, string pubid, string sysid, string subset)
XPathNodeType XmlStateToNodeType(XmlState xstate)
bool StartCopy(XPathNavigator navigator)
bool StartCopy(XPathNavigator navigator, bool callChk)
string CheckAttributePrefix(string prefix, string ns)
void ThrowInvalidStateError(XPathNodeType constructorType)
void WriteStartAttributeUnchecked(string localName)
void WriteStartElementComputed(string tagName, int prefixMappingsIndex)
void WriteStartElementComputed(XPathNavigator navigator)
readonly XmlSequenceWriter _seqwrt
void CopyNamespaces(XPathNavigator navigator, XPathNamespaceScope nsScope)
void WriteStartAttributeComputed(string tagName, int prefixMappingsIndex)
void CopyNamespacesHelper(XPathNavigator navigator, XPathNamespaceScope nsScope)
Dictionary< string, string > _conflictPrefixes
void WriteStartElementComputed(XmlQualifiedName name)
void WriteNamespaceDeclaration(string prefix, string ns)
XmlQualifiedName ParseTagName(string tagName, int indexPrefixMappings)
XmlRawWriter StartTree(XPathNodeType rootType, IXmlNamespaceResolver nsResolver, XmlNameTable nameTable)