Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
RootAction.cs
Go to the documentation of this file.
7
9
11{
12 private readonly Hashtable _attributeSetTable = new Hashtable();
13
14 private readonly Hashtable _decimalFormatTable = new Hashtable();
15
17
19
21
23 {
24 get
25 {
26 if (_output == null)
27 {
28 _output = new XsltOutput();
29 }
30 return _output;
31 }
32 }
33
35
36 internal override void Compile(Compiler compiler)
37 {
39 }
40
41 internal void InsertKey(XmlQualifiedName name, int MatchKey, int UseKey)
42 {
43 if (_keyList == null)
44 {
45 _keyList = new List<Key>();
46 }
47 _keyList.Add(new Key(name, MatchKey, UseKey));
48 }
49
59
60 public void PorcessAttributeSets(Stylesheet rootStylesheet)
61 {
62 MirgeAttributeSets(rootStylesheet);
64 {
65 if (value.containedActions != null)
66 {
67 value.containedActions.Reverse();
68 }
69 }
71 }
72
73 private void MirgeAttributeSets(Stylesheet stylesheet)
74 {
75 if (stylesheet.AttributeSetTable != null)
76 {
77 foreach (AttributeSetAction value in stylesheet.AttributeSetTable.Values)
78 {
79 ArrayList arrayList = value.containedActions;
81 if (attributeSetAction2 == null)
82 {
87 }
88 ArrayList arrayList2 = attributeSetAction2.containedActions;
89 if (arrayList != null)
90 {
91 int num = arrayList.Count - 1;
92 while (0 <= num)
93 {
95 num--;
96 }
97 }
98 }
99 }
100 foreach (Stylesheet import in stylesheet.Imports)
101 {
102 MirgeAttributeSets(import);
103 }
104 }
105
107 {
109 {
110 object obj = markTable[setQName];
111 if (obj == "P")
112 {
114 }
115 if (obj != "D")
116 {
117 markTable[setQName] = "P";
119 markTable[setQName] = "D";
120 }
121 }
122 }
123
125 {
126 if (container.containedActions == null)
127 {
128 return;
129 }
130 foreach (Action containedAction in container.containedActions)
131 {
133 {
135 }
137 {
139 }
140 }
141 }
142
144 {
146 if (decimalFormat != null)
147 {
150 if (info.NumberDecimalSeparator != info2.NumberDecimalSeparator || info.NumberGroupSeparator != info2.NumberGroupSeparator || info.PositiveInfinitySymbol != info2.PositiveInfinitySymbol || info.NegativeSign != info2.NegativeSign || info.NaNSymbol != info2.NaNSymbol || info.PercentSymbol != info2.PercentSymbol || info.PerMilleSymbol != info2.PerMilleSymbol || decimalFormat.zeroDigit != formatinfo.zeroDigit || decimalFormat.digit != formatinfo.digit || decimalFormat.patternSeparator != formatinfo.patternSeparator)
151 {
152 throw XsltException.Create(System.SR.Xslt_DupDecimalFormat, name.ToString());
153 }
154 }
156 }
157
162
163 internal override void Execute(Processor processor, ActionFrame frame)
164 {
165 switch (frame.State)
166 {
167 case 0:
168 {
170 XPathNavigator xPathNavigator = processor.Document.Clone();
171 xPathNavigator.MoveToRoot();
173 if (containedActions != null && containedActions.Count > 0)
174 {
175 processor.PushActionFrame(frame);
176 }
177 frame.State = 2;
178 break;
179 }
180 case 2:
181 frame.NextNode(processor);
182 if (processor.Debugger != null)
183 {
184 processor.PopDebuggerStack();
185 }
186 processor.PushTemplateLookup(frame.NodeSet, null, null);
187 frame.State = 3;
188 break;
189 case 3:
190 frame.Finished();
191 break;
192 case 1:
193 break;
194 }
195 }
196}
void Add(TKey key, TValue value)
virtual ICollection Values
Definition Hashtable.cs:534
virtual ICollection Keys
Definition Hashtable.cs:532
static string Xslt_NoAttributeSet
Definition SR.cs:1918
static string Xslt_DupDecimalFormat
Definition SR.cs:2120
static string Xslt_CircularAttributeSet
Definition SR.cs:1922
Definition SR.cs:7
static XsltException Create(string res, params string[] args)
void InitNodeSet(XPathNodeIterator nodeSet)
void CompileDocument(Compiler compiler, bool inInclude)
override void Compile(Compiler compiler)
Definition RootAction.cs:36
void PorcessAttributeSets(Stylesheet rootStylesheet)
Definition RootAction.cs:60
void AddDecimalFormat(XmlQualifiedName name, DecimalFormat formatinfo)
void CheckAttributeSets_RecurceInContainer(Hashtable markTable, ContainerAction container)
DecimalFormat GetDecimalFormat(XmlQualifiedName name)
readonly Hashtable _attributeSetTable
Definition RootAction.cs:12
void InsertKey(XmlQualifiedName name, int MatchKey, int UseKey)
Definition RootAction.cs:41
override void Execute(Processor processor, ActionFrame frame)
AttributeSetAction GetAttributeSet(XmlQualifiedName name)
Definition RootAction.cs:50
readonly Hashtable _decimalFormatTable
Definition RootAction.cs:14
void CheckAttributeSets_RecurceInList(Hashtable markTable, ICollection setQNames)
void MirgeAttributeSets(Stylesheet stylesheet)
Definition RootAction.cs:73