Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / XPath / Internal / followingquery.cs / 1 / followingquery.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace MS.Internal.Xml.XPath { using System; using System.Xml; using System.Xml.XPath; using System.Diagnostics; internal sealed class FollowingQuery : BaseAxisQuery { private XPathNavigator input; private XPathNodeIterator iterator; public FollowingQuery(Query qyInput, string name, string prefix, XPathNodeType typeTest) : base(qyInput, name, prefix, typeTest) {} private FollowingQuery(FollowingQuery other) : base(other) { this.input = Clone(other.input); this.iterator = Clone(other.iterator); } public override void Reset() { iterator = null; base.Reset(); } public override XPathNavigator Advance() { if (iterator == null) { input = qyInput.Advance(); if (input == null) { return null; } XPathNavigator prev; do { prev = input.Clone(); input = qyInput.Advance(); } while (prev.IsDescendant(input)); input = prev; iterator = XPathEmptyIterator.Instance; } while (! iterator.MoveNext()) { bool matchSelf; if (input.NodeType == XPathNodeType.Attribute || input.NodeType == XPathNodeType.Namespace) { input.MoveToParent(); matchSelf = false; } else { while (! input.MoveToNext()) { if (! input.MoveToParent()) { return null; } } matchSelf = true; } if (NameTest) { iterator = input.SelectDescendants(Name, Namespace, matchSelf); } else { iterator = input.SelectDescendants(TypeTest, matchSelf); } } position++; currentNode = iterator.Current; return currentNode; } public override XPathNodeIterator Clone() { return new FollowingQuery(this); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ScriptingJsonSerializationSection.cs
- PriorityChain.cs
- PageCache.cs
- EdmSchemaError.cs
- objectresult_tresulttype.cs
- MembershipPasswordException.cs
- LinqDataSourceSelectEventArgs.cs
- ActivityBindForm.Designer.cs
- StringArrayEditor.cs
- PngBitmapEncoder.cs
- QuaternionAnimation.cs
- RecipientInfo.cs
- PartitionedDataSource.cs
- CompilationLock.cs
- ErrorTableItemStyle.cs
- PolicyValidationException.cs
- TextFormatter.cs
- CryptoHelper.cs
- TextEditorParagraphs.cs
- RestHandler.cs
- CssTextWriter.cs
- UserMapPath.cs
- BatchParser.cs
- NativeMethodsOther.cs
- HtmlTextArea.cs
- Tracking.cs
- Zone.cs
- SmtpClient.cs
- FlowDocumentPage.cs
- TreeNodeCollection.cs
- DataGridItemCollection.cs
- AssemblyCache.cs
- TypeConverterAttribute.cs
- HttpContext.cs
- Walker.cs
- RowCache.cs
- XMLUtil.cs
- ReturnType.cs
- NoneExcludedImageIndexConverter.cs
- WebPartConnectionsCancelEventArgs.cs
- StringDictionaryWithComparer.cs
- HttpModule.cs
- CodeAccessPermission.cs
- PropertyValueChangedEvent.cs
- MouseCaptureWithinProperty.cs
- CacheMemory.cs
- DataControlLinkButton.cs
- WebServiceData.cs
- WorkerRequest.cs
- Polygon.cs
- UrlMapping.cs
- GifBitmapEncoder.cs
- ControlPropertyNameConverter.cs
- QueryAsyncResult.cs
- GenericAuthenticationEventArgs.cs
- SecurityContext.cs
- Timer.cs
- FunctionDescription.cs
- BevelBitmapEffect.cs
- HttpApplication.cs
- ToolStripDesignerUtils.cs
- X509SecurityTokenAuthenticator.cs
- EventDrivenDesigner.cs
- CalendarDateRangeChangingEventArgs.cs
- EndpointDispatcher.cs
- DBBindings.cs
- StoreContentChangedEventArgs.cs
- ReadOnlyObservableCollection.cs
- FindRequestContext.cs
- LoginDesigner.cs
- FocusTracker.cs
- TraceSource.cs
- InvalidOperationException.cs
- HtmlHead.cs
- DomNameTable.cs
- InternalUserCancelledException.cs
- updatecommandorderer.cs
- Binding.cs
- TextDecorationCollection.cs
- LineGeometry.cs
- InstalledFontCollection.cs
- ElementMarkupObject.cs
- ListChunk.cs
- ExeConfigurationFileMap.cs
- DataGridViewCellStyleBuilderDialog.cs
- ExitEventArgs.cs
- ForceCopyBuildProvider.cs
- DSACryptoServiceProvider.cs
- ProxyWebPartConnectionCollection.cs
- MediaTimeline.cs
- IsolatedStorageFilePermission.cs
- RenderContext.cs
- MdImport.cs
- RemotingException.cs
- ContextMenu.cs
- AllMembershipCondition.cs
- Rotation3D.cs
- VirtualPath.cs
- SqlAliaser.cs
- WebScriptEnablingElement.cs