1740 {
1741 int num = 0;
1742 switch (
n1.NodeType)
1743 {
1744 case XPathNodeType.Attribute:
1745 num++;
1746 break;
1747 default:
1748 num += 2;
1749 break;
1750 case XPathNodeType.Namespace:
1751 break;
1752 }
1753 switch (
n2.NodeType)
1754 {
1755 case XPathNodeType.Namespace:
1756 if (num != 0)
1757 {
1758 break;
1759 }
1760 while (
n1.MoveToNextNamespace())
1761 {
1762 if (
n1.IsSamePosition(
n2))
1763 {
1765 }
1766 }
1767 break;
1768 case XPathNodeType.Attribute:
1769 num--;
1770 if (num != 0)
1771 {
1772 break;
1773 }
1774 while (
n1.MoveToNextAttribute())
1775 {
1776 if (
n1.IsSamePosition(
n2))
1777 {
1779 }
1780 }
1781 break;
1782 default:
1783 num -= 2;
1784 if (num != 0)
1785 {
1786 break;
1787 }
1788 while (
n1.MoveToNext())
1789 {
1790 if (
n1.IsSamePosition(
n2))
1791 {
1793 }
1794 }
1795 break;
1796 }
1797 if (num >= 0)
1798 {
1800 }
1802 }