private void AddSchemaElement(XPathNavigator nav, XPathNavigator rootNav)
{
List<string> list = new List<string>();
XPathNodeIterator iterator = nav.SelectAncestors(XPathNodeType.Element, true);
while (iterator.MoveNext())
{
list.Add(iterator.Current.Name);
if (iterator.Current.IsSamePosition(rootNav))
{
break;
}
}
list.Reverse();
OrderedDictionary first = this._rootSchema;
Pair pair = null;
foreach (string str in list)
{
pair = first[str] as Pair;
if (pair == null)
{
pair = new Pair(new OrderedDictionary(), new ArrayList());
first.Add(str, pair);
}
first = (OrderedDictionary) pair.First;
}
this.AddAttributeList(nav, (ArrayList) pair.Second);
}