C# Class System.Xml.Xsl.Runtime.XPathPrecedingMergeIterator

显示文件 Open project: gbarnett/shared-source-cli-2.0

Public Methods

Method Description
Create ( XmlNavigatorFilter filter ) : void

Initialize the XPathPrecedingMergeIterator (merge multiple sets of preceding nodes in document order and remove duplicates).

MoveNext ( XPathNavigator input ) : IteratorResult

Position this iterator to the next preceding node in document order. Discard all input nodes that are followed by another input node in the same document. This leaves one node per document from which the complete set of preceding nodes can be derived without possibility of duplicates. Return IteratorResult.NeedInputNode if the next input node needs to be fetched first. Return IteratorResult.HaveCurrent if the Current property is set to the next node in the iteration.

Private Methods

Method Description
PushAncestors ( ) : void

Push all ancestors of this.navCurrent onto a stack. The set of preceding nodes should not contain any of these ancestors.

Method Details

Create() public method

Initialize the XPathPrecedingMergeIterator (merge multiple sets of preceding nodes in document order and remove duplicates).
public Create ( XmlNavigatorFilter filter ) : void
filter XmlNavigatorFilter
return void

MoveNext() public method

Position this iterator to the next preceding node in document order. Discard all input nodes that are followed by another input node in the same document. This leaves one node per document from which the complete set of preceding nodes can be derived without possibility of duplicates. Return IteratorResult.NeedInputNode if the next input node needs to be fetched first. Return IteratorResult.HaveCurrent if the Current property is set to the next node in the iteration.
public MoveNext ( XPathNavigator input ) : IteratorResult
input System.Xml.XPath.XPathNavigator
return IteratorResult