Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / XmlUtils / System / Xml / Xsl / Runtime / XmlIterators.cs / 1 / XmlIterators.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
using System;
using System.Xml;
using System.Xml.XPath;
using System.ComponentModel;
namespace System.Xml.Xsl.Runtime {
///
/// Iterators that use containment to control a nested iterator return one of the following values from MoveNext().
///
[EditorBrowsable(EditorBrowsableState.Never)]
public enum IteratorResult {
NoMoreNodes, // Iteration is complete; there are no more nodes
NeedInputNode, // The next node needs to be fetched from the contained iterator before iteration can continue
HaveCurrentNode, // This iterator's Current property is set to the next node in the iteration
};
///
/// Tokenize a string containing IDREF values and deref the values in order to get a list of ID elements.
///
[EditorBrowsable(EditorBrowsableState.Never)]
public struct IdIterator {
private XPathNavigator navCurrent;
private string[] idrefs;
private int idx;
public void Create(XPathNavigator context, string value) {
this.navCurrent = XmlQueryRuntime.SyncToNavigator(this.navCurrent, context);
this.idrefs = XmlConvert.SplitString(value);
this.idx = -1;
}
public bool MoveNext() {
do {
this.idx++;
if (this.idx >= idrefs.Length)
return false;
}
while (!this.navCurrent.MoveToId(this.idrefs[this.idx]));
return true;
}
///
/// Return the current result navigator. This is only defined after MoveNext() has returned true.
///
public XPathNavigator Current {
get { return this.navCurrent; }
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
using System;
using System.Xml;
using System.Xml.XPath;
using System.ComponentModel;
namespace System.Xml.Xsl.Runtime {
///
/// Iterators that use containment to control a nested iterator return one of the following values from MoveNext().
///
[EditorBrowsable(EditorBrowsableState.Never)]
public enum IteratorResult {
NoMoreNodes, // Iteration is complete; there are no more nodes
NeedInputNode, // The next node needs to be fetched from the contained iterator before iteration can continue
HaveCurrentNode, // This iterator's Current property is set to the next node in the iteration
};
///
/// Tokenize a string containing IDREF values and deref the values in order to get a list of ID elements.
///
[EditorBrowsable(EditorBrowsableState.Never)]
public struct IdIterator {
private XPathNavigator navCurrent;
private string[] idrefs;
private int idx;
public void Create(XPathNavigator context, string value) {
this.navCurrent = XmlQueryRuntime.SyncToNavigator(this.navCurrent, context);
this.idrefs = XmlConvert.SplitString(value);
this.idx = -1;
}
public bool MoveNext() {
do {
this.idx++;
if (this.idx >= idrefs.Length)
return false;
}
while (!this.navCurrent.MoveToId(this.idrefs[this.idx]));
return true;
}
///
/// Return the current result navigator. This is only defined after MoveNext() has returned true.
///
public XPathNavigator Current {
get { return this.navCurrent; }
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SimpleBitVector32.cs
- PathFigure.cs
- TreeViewItemAutomationPeer.cs
- TemplateManager.cs
- SortedDictionary.cs
- ClosableStream.cs
- Module.cs
- ExtensionFile.cs
- Expression.cs
- ObjectContext.cs
- Binding.cs
- MemberProjectedSlot.cs
- webeventbuffer.cs
- GridViewRowPresenter.cs
- CompositeFontParser.cs
- ITreeGenerator.cs
- Tablet.cs
- RSACryptoServiceProvider.cs
- AuthenticationModuleElement.cs
- SamlAssertionKeyIdentifierClause.cs
- CommonServiceBehaviorElement.cs
- CookielessHelper.cs
- ResourceContainerWrapper.cs
- ServicesExceptionNotHandledEventArgs.cs
- Inflater.cs
- SqlAggregateChecker.cs
- SessionParameter.cs
- TimersDescriptionAttribute.cs
- WorkflowRuntimeServiceElementCollection.cs
- ColorContextHelper.cs
- AudioSignalProblemOccurredEventArgs.cs
- LongValidatorAttribute.cs
- XMLSyntaxException.cs
- Clause.cs
- RecognizedPhrase.cs
- UIElementPropertyUndoUnit.cs
- DataGridViewRowConverter.cs
- WeakRefEnumerator.cs
- ConnectionManagementElementCollection.cs
- SqlTriggerAttribute.cs
- CodeMemberProperty.cs
- OpenTypeLayout.cs
- LinkTarget.cs
- FormsAuthenticationUserCollection.cs
- AnimatedTypeHelpers.cs
- WindowsAuthenticationModule.cs
- DoubleLinkListEnumerator.cs
- ConfigViewGenerator.cs
- Error.cs
- AudioLevelUpdatedEventArgs.cs
- TimeSpanStorage.cs
- EntityContainerEntitySet.cs
- GcSettings.cs
- MonikerProxyAttribute.cs
- ObjectView.cs
- RegionIterator.cs
- FlowLayoutSettings.cs
- Group.cs
- ControlCollection.cs
- CorePropertiesFilter.cs
- METAHEADER.cs
- ContainerSelectorActiveEvent.cs
- DataSetMappper.cs
- QuarticEase.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- ConvertEvent.cs
- SqlCacheDependencySection.cs
- CompilationSection.cs
- PreservationFileWriter.cs
- PropertyChangedEventManager.cs
- ColumnTypeConverter.cs
- Transform.cs
- OpenTypeCommon.cs
- WorkflowRequestContext.cs
- BoolExpression.cs
- TextContainer.cs
- FontResourceCache.cs
- FixedLineResult.cs
- TypeSystem.cs
- StyleModeStack.cs
- DataGridViewCellValueEventArgs.cs
- ContentValidator.cs
- CustomError.cs
- XmlSchemaProviderAttribute.cs
- AppLevelCompilationSectionCache.cs
- AnnotationAdorner.cs
- EntryPointNotFoundException.cs
- Menu.cs
- DayRenderEvent.cs
- contentDescriptor.cs
- Version.cs
- ScrollData.cs
- PrimitiveXmlSerializers.cs
- XamlSerializerUtil.cs
- FilterUserControlBase.cs
- Cursor.cs
- NullableBoolConverter.cs
- FirstMatchCodeGroup.cs
- SqlParameter.cs
- XMLSyntaxException.cs