System.Xml.Xsl.Runtime.NodeRangeIterator.Create C# (CSharp) Method

Create() public method

Initialize the NodeRangeIterator (no possibility of duplicates).
public Create ( XPathNavigator start, XmlNavigatorFilter filter, XPathNavigator end ) : void
start System.Xml.XPath.XPathNavigator
filter XmlNavigatorFilter
end System.Xml.XPath.XPathNavigator
return void
        public void Create(XPathNavigator start, XmlNavigatorFilter filter, XPathNavigator end) {
            // Save start node as current node and save ending node
            this.navCurrent = XmlQueryRuntime.SyncToNavigator(this.navCurrent, start);
            this.navEnd = XmlQueryRuntime.SyncToNavigator(this.navEnd, end);
            this.filter = filter;

            if (start.IsSamePosition(end)) {
                // Start is end, so only return node if it is not filtered
                this.state = !filter.IsFiltered(start) ? IteratorState.HaveCurrentNoNext : IteratorState.NoNext;
            }
            else {
                // Return nodes until end is reached
                this.state = !filter.IsFiltered(start) ? IteratorState.HaveCurrent : IteratorState.NeedCurrent;
            }
        }
NodeRangeIterator