5 internal class ActiveAxis
7 private int currentDepth;
11 private Asttree axisTree;
15 public int CurrentDepth => currentDepth;
17 internal void Reactivate()
23 internal ActiveAxis(Asttree axisTree)
25 this.axisTree = axisTree;
27 axisStack =
new ArrayList(axisTree.SubtreeArray.Count);
28 for (
int i = 0; i < axisTree.SubtreeArray.Count; i++)
30 AxisStack value =
new AxisStack((ForwardAxis)axisTree.SubtreeArray[i],
this);
36 public bool MoveToStartElement(
string localname,
string URN)
44 for (
int i = 0; i < this.axisStack.
Count; i++)
46 AxisStack axisStack = (AxisStack)this.axisStack[i];
47 if (axisStack.Subtree.IsSelfAxis)
49 if (axisStack.Subtree.IsDss || CurrentDepth == 0)
54 else if (CurrentDepth != 0 && axisStack.MoveToChild(localname, URN, currentDepth))
62 public virtual bool EndElement(
string localname,
string URN)
64 if (currentDepth == 0)
73 for (
int i = 0; i < axisStack.
Count; i++)
75 ((AxisStack)axisStack[i]).MoveToParent(localname, URN, currentDepth);
81 public bool MoveToAttribute(
string localname,
string URN)
88 for (
int i = 0; i < axisStack.
Count; i++)
90 if (((AxisStack)axisStack[i]).MoveToAttribute(localname, URN, currentDepth + 1))
virtual int Count
Gets the number of elements actually contained in the T:System.Collections.ArrayList.
An end element tag (for example, </item> ).
virtual int Add(object value)
Adds an object to the end of the T:System.Collections.ArrayList.
Implements the T:System.Collections.IList interface using an array whose size is dynamically increase...