2 // System.Xml.XPath.XPathComparer
5 // Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
7 // (C) 2003 Atsushi Enomoto
11 using System.Collections;
13 using System.Xml.XPath;
16 namespace System.Xml.XPath
18 internal class XPathIteratorComparer : IComparer
20 public static XPathIteratorComparer Instance = new XPathIteratorComparer ();
21 private XPathIteratorComparer ()
25 public int Compare (object o1, object o2)
27 BaseIterator nav1 = o1 as BaseIterator;
28 BaseIterator nav2 = o2 as BaseIterator;
33 switch (nav1.Current.ComparePosition (nav2.Current)) {
34 case XmlNodeOrder.Same:
36 case XmlNodeOrder.After:
44 internal class XPathNavigatorComparer : IComparer
46 public static XPathNavigatorComparer Instance = new XPathNavigatorComparer ();
47 private XPathNavigatorComparer ()
51 public int Compare (object o1, object o2)
53 XPathNavigator nav1 = o1 as XPathNavigator;
54 XPathNavigator nav2 = o2 as XPathNavigator;
59 switch (nav1.ComparePosition (nav2)) {
60 case XmlNodeOrder.Same:
62 case XmlNodeOrder.After: