Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / Xml / System / Xml / XPath / Internal / DescendantQuery.cs / 1 / DescendantQuery.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 class DescendantQuery : DescendantBaseQuery { XPathNodeIterator nodeIterator; internal DescendantQuery(Query qyParent, string Name, string Prefix, XPathNodeType Type, bool matchSelf, bool abbrAxis) : base(qyParent, Name, Prefix, Type, matchSelf, abbrAxis) {} public DescendantQuery(DescendantQuery other) : base(other) { this.nodeIterator = Clone(other.nodeIterator); } public override void Reset() { nodeIterator = null; base.Reset(); } public override XPathNavigator Advance() { while (true) { if (nodeIterator == null) { position = 0; XPathNavigator nav = qyInput.Advance(); if (nav == null) { return null; } if (NameTest) { if (TypeTest == XPathNodeType.ProcessingInstruction) { nodeIterator = new IteratorFilter(nav.SelectDescendants(TypeTest, matchSelf), Name); } else { nodeIterator = nav.SelectDescendants(Name, Namespace, matchSelf); } } else { nodeIterator = nav.SelectDescendants(TypeTest, matchSelf); } } if (nodeIterator.MoveNext()) { position++; currentNode = nodeIterator.Current; return currentNode; } else { nodeIterator = null; } } } public override XPathNodeIterator Clone() { return new DescendantQuery(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
- WinCategoryAttribute.cs
- SolidBrush.cs
- Attribute.cs
- OracleBoolean.cs
- ToggleButton.cs
- AsyncResult.cs
- SafeFindHandle.cs
- IpcPort.cs
- PresentationSource.cs
- MimeReflector.cs
- NominalTypeEliminator.cs
- ImageAutomationPeer.cs
- TraceSection.cs
- DetailsViewDeletedEventArgs.cs
- HashCryptoHandle.cs
- CodeMemberField.cs
- DataException.cs
- Label.cs
- KnownIds.cs
- Utils.cs
- RealProxy.cs
- StateManagedCollection.cs
- ChangeInterceptorAttribute.cs
- SqlCacheDependencyDatabase.cs
- MobileResource.cs
- SqlExpander.cs
- TemplateKey.cs
- SqlParameterizer.cs
- CatalogPartChrome.cs
- TextBlockAutomationPeer.cs
- DateTimeConstantAttribute.cs
- CounterCreationDataCollection.cs
- FontDifferentiator.cs
- WorkflowInstanceProxy.cs
- DefaultWorkflowTransactionService.cs
- Vector3DAnimation.cs
- ListViewHitTestInfo.cs
- EUCJPEncoding.cs
- TreeNodeBindingDepthConverter.cs
- smtppermission.cs
- CfgParser.cs
- SymLanguageType.cs
- HtmlWindow.cs
- RequestQueue.cs
- sapiproxy.cs
- Win32SafeHandles.cs
- ObjectViewFactory.cs
- AuthenticationServiceManager.cs
- ObjectStateManager.cs
- SetUserPreferenceRequest.cs
- AddressingVersion.cs
- FixedSOMPageConstructor.cs
- CompensationHandlingFilter.cs
- TypeElement.cs
- DynamicFilterExpression.cs
- TimeIntervalCollection.cs
- Camera.cs
- FreeFormDragDropManager.cs
- MimeBasePart.cs
- RuleProcessor.cs
- TemplateBindingExpressionConverter.cs
- ChangeNode.cs
- RenderTargetBitmap.cs
- FillBehavior.cs
- XmlILTrace.cs
- BindingSource.cs
- MobileResource.cs
- GroupQuery.cs
- CodeAttributeDeclaration.cs
- AtomMaterializerLog.cs
- ClientOptions.cs
- ControlParser.cs
- BindingCompleteEventArgs.cs
- OleDbParameter.cs
- DockAndAnchorLayout.cs
- InfoCardTraceRecord.cs
- BufferAllocator.cs
- SmtpException.cs
- MULTI_QI.cs
- IxmlLineInfo.cs
- DomNameTable.cs
- HttpHandlerAction.cs
- OdbcUtils.cs
- PassportAuthenticationModule.cs
- RectangleGeometry.cs
- PeerInvitationResponse.cs
- AssemblyName.cs
- GridEntryCollection.cs
- UIHelper.cs
- ColorBlend.cs
- HandleRef.cs
- DependencyPropertyChangedEventArgs.cs
- BindingContext.cs
- NavigatorInput.cs
- controlskin.cs
- StickyNoteHelper.cs
- NetMsmqBinding.cs
- ValueUtilsSmi.cs
- TypeDescriptionProvider.cs
- PageFunction.cs