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

◆ WriteNamespaceDeclaration()

override void MS.Internal.Xml.Cache.XPathDocumentBuilder.WriteNamespaceDeclaration ( string prefix,
string namespaceName )
inlinepackage

Definition at line 421 of file XPathDocumentBuilder.cs.

422 {
423 if (_atomizeNames)
424 {
426 }
428 XPathNode[] pageNode = _pageNmsp;
429 int num = _idxNmsp;
430 while (num != 0 && (object)pageNode[num].LocalName != prefix)
431 {
432 num = pageNode[num].GetSibling(out pageNode);
433 }
434 XPathNode[] page;
436 if (num != 0)
437 {
438 XPathNode[] pageNode2 = _pageNmsp;
439 int num3 = _idxNmsp;
440 XPathNode[] array = page;
441 int num4 = num2;
442 while (num3 != num || pageNode2 != pageNode)
443 {
444 int parent = pageNode2[num3].GetParent(out var pageNode3);
445 parent = NewNamespaceNode(out pageNode3, pageNode2[num3].LocalName, pageNode2[num3].Value, pageNode3, parent);
446 array[num4].SetSibling(_infoTable, pageNode3, parent);
448 num4 = parent;
449 num3 = pageNode2[num3].GetSibling(out pageNode2);
450 }
451 num = pageNode[num].GetSibling(out pageNode);
452 if (num != 0)
453 {
454 array[num4].SetSibling(_infoTable, pageNode, num);
455 }
456 }
457 else if (_idxParent != 0)
458 {
459 page[num2].SetSibling(_infoTable, _pageNmsp, _idxNmsp);
460 }
461 else
462 {
464 }
465 if (_idxParent != 0)
466 {
467 if (!_pageParent[_idxParent].HasNamespaceDecls)
468 {
469 _stkNmsp.Push(new XPathNodeRef(_pageNmsp, _idxNmsp));
471 }
472 _pageNmsp = page;
473 _idxNmsp = num2;
474 }
475 }
int NewNamespaceNode(out XPathNode[] page, string prefix, string namespaceUri, XPathNode[] pageElem, int idxElem)
void SetRootNode(XPathNode[] pageRoot, int idxRoot)
string Add(char[] array, int offset, int length)

References MS.Internal.Xml.Cache.XPathDocumentBuilder._atomizeNames, MS.Internal.Xml.Cache.XPathDocumentBuilder._doc, MS.Internal.Xml.Cache.XPathDocumentBuilder._idxNmsp, MS.Internal.Xml.Cache.XPathDocumentBuilder._idxParent, MS.Internal.Xml.Cache.XPathDocumentBuilder._infoTable, MS.Internal.Xml.Cache.XPathDocumentBuilder._nameTable, MS.Internal.Xml.Cache.XPathDocumentBuilder._pageNmsp, MS.Internal.Xml.Cache.XPathDocumentBuilder._pageParent, MS.Internal.Xml.Cache.XPathDocumentBuilder._stkNmsp, System.Xml.XmlNameTable.Add(), System.array, System.Xml.Dictionary, MS.Internal.Xml.Cache.XPathNode.HasNamespaceDecls, MS.Internal.Xml.Cache.XPathDocumentBuilder.NewNamespaceNode(), System.prefix, and System.Xml.XPath.XPathDocument.SetRootNode().