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

◆ Execute()

override void System.Xml.Xsl.XsltOld.CopyAction.Execute ( Processor processor,
ActionFrame frame )
inlinepackage

Definition at line 34 of file CopyAction.cs.

35 {
36 while (processor.CanContinue)
37 {
38 switch (frame.State)
39 {
40 default:
41 return;
42 case 0:
43 if (Processor.IsRoot(frame.Node))
44 {
45 processor.PushActionFrame(frame);
46 frame.State = 8;
47 return;
48 }
49 if (processor.CopyBeginEvent(frame.Node, _empty))
50 {
51 frame.State = 5;
52 break;
53 }
54 return;
55 case 5:
56 frame.State = 6;
57 if (frame.Node.NodeType == XPathNodeType.Element)
58 {
59 processor.PushActionFrame(CopyNamespacesAction.GetAction(), frame.NodeSet);
60 return;
61 }
62 break;
63 case 6:
64 if (frame.Node.NodeType == XPathNodeType.Element && !_empty)
65 {
66 processor.PushActionFrame(frame);
67 frame.State = 7;
68 return;
69 }
70 if (processor.CopyTextEvent(frame.Node))
71 {
72 frame.State = 7;
73 break;
74 }
75 return;
76 case 7:
77 if (processor.CopyEndEvent(frame.Node))
78 {
79 frame.Finished();
80 }
81 return;
82 case 8:
83 frame.Finished();
84 return;
85 case 1:
86 case 2:
87 case 3:
88 case 4:
89 return;
90 }
91 }
92 }

References System.Xml.Xsl.XsltOld.CopyAction._empty, System.Xml.Dictionary, System.Xml.Xsl.XsltOld.ActionFrame.Finished(), System.Xml.Xsl.XsltOld.CopyNamespacesAction.GetAction(), System.Xml.Xsl.XsltOld.Processor.IsRoot(), System.Xml.Xsl.XsltOld.ActionFrame.Node, System.Xml.Xsl.XsltOld.ActionFrame.NodeSet, System.Xml.XPath.XPathNavigator.NodeType, and System.Xml.Xsl.XsltOld.ActionFrame.State.