Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / Runtime / XmlIterators.cs / 1305376 / 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
- Object.cs
- MetadataItem.cs
- SapiInterop.cs
- UshortList2.cs
- XmlIterators.cs
- SiteMapNodeCollection.cs
- ImageField.cs
- UndoEngine.cs
- StopStoryboard.cs
- ZoneLinkButton.cs
- CssStyleCollection.cs
- TokenBasedSet.cs
- Label.cs
- Wizard.cs
- HelpProvider.cs
- Literal.cs
- ToolZone.cs
- KeyInfo.cs
- BufferedGraphicsContext.cs
- BooleanSwitch.cs
- ActivityBindForm.Designer.cs
- CollectionView.cs
- VariantWrapper.cs
- SubqueryRules.cs
- FontCollection.cs
- DoubleAnimationBase.cs
- BlobPersonalizationState.cs
- SyndicationLink.cs
- EditingCommands.cs
- Image.cs
- BaseValidator.cs
- ListView.cs
- WebConfigurationFileMap.cs
- DataErrorValidationRule.cs
- EncodingInfo.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- XNameConverter.cs
- XmlLanguageConverter.cs
- FormatConvertedBitmap.cs
- SafeFileHandle.cs
- WindowsIdentity.cs
- GridViewCancelEditEventArgs.cs
- StaticResourceExtension.cs
- Package.cs
- GridViewDeletedEventArgs.cs
- DataIdProcessor.cs
- TextChange.cs
- DeferredReference.cs
- ComponentEditorPage.cs
- MappingItemCollection.cs
- GenericPrincipal.cs
- HMACMD5.cs
- ControlBindingsConverter.cs
- DataError.cs
- SaveWorkflowAsyncResult.cs
- StrongNameKeyPair.cs
- UTF7Encoding.cs
- CompareInfo.cs
- StorageModelBuildProvider.cs
- AccessedThroughPropertyAttribute.cs
- MatrixKeyFrameCollection.cs
- ContentPlaceHolder.cs
- CanonicalFormWriter.cs
- BrowserCapabilitiesCompiler.cs
- PrePrepareMethodAttribute.cs
- SqlSelectClauseBuilder.cs
- UInt32Storage.cs
- ReadContentAsBinaryHelper.cs
- ChannelServices.cs
- AVElementHelper.cs
- ErrorFormatter.cs
- FontStyle.cs
- UnsafeNativeMethodsTablet.cs
- SecurityCriticalDataForSet.cs
- ACE.cs
- DiscoveryClientChannelBase.cs
- RegistryKey.cs
- VisualBrush.cs
- DictionaryKeyPropertyAttribute.cs
- InternalConfigHost.cs
- COM2FontConverter.cs
- XPathArrayIterator.cs
- WindowsRebar.cs
- TypeInfo.cs
- PropertyStore.cs
- HttpSessionStateWrapper.cs
- HostedTcpTransportManager.cs
- ValueTypeIndexerReference.cs
- DataColumnCollection.cs
- SmiRecordBuffer.cs
- WebBrowserEvent.cs
- QilVisitor.cs
- CollectionConverter.cs
- KnowledgeBase.cs
- TextParagraphView.cs
- FixedSOMSemanticBox.cs
- ComponentManagerBroker.cs
- AssociationTypeEmitter.cs
- HttpWriter.cs
- DependencySource.cs