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

Exibir arquivo Open project: gbarnett/shared-source-cli-2.0

Public Methods

Method Description
Create ( XmlNavigatorFilter filter ) : void

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

MoveNext ( XPathNavigator input ) : IteratorResult

Position this iterator to the next content or sibling node. Return IteratorResult.NoMoreNodes if there are no more content or sibling nodes. 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
DocOrderMerge ( ) : IteratorResult

If the context node-set returns a node that is contained in the subtree of the previous node, then returning children of each node in "natural" order may not correspond to document order. Therefore, in order to guarantee document order, keep a stack in order to push the sibling of ancestor nodes. These siblings will not be returned until all of the descendants' children are returned first.

MoveNext ( XPathNavigator input, bool isContent ) : IteratorResult

Position this iterator to the next content or sibling node. Return IteratorResult.NoMoreNodes if there are no more content or sibling nodes. 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.

Method Details

Create() public method

Initialize the ContentMergeIterator (merge multiple sets of content 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 content or sibling node. Return IteratorResult.NoMoreNodes if there are no more content or sibling nodes. 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