Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XPath / Internal / DescendantQuery.cs / 1305376 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ResourceWriter.cs
- FontEmbeddingManager.cs
- BuiltInExpr.cs
- ToggleButton.cs
- DisplayInformation.cs
- InternalMappingException.cs
- CapabilitiesState.cs
- SegmentTree.cs
- ServicePoint.cs
- ProcessHostMapPath.cs
- RegistryConfigurationProvider.cs
- WebBrowserBase.cs
- WebPartTransformer.cs
- HandlerBase.cs
- TypeLibConverter.cs
- DbParameterCollectionHelper.cs
- SiteMapNodeItemEventArgs.cs
- ServiceSecurityContext.cs
- WebPartDisplayModeEventArgs.cs
- FilterQuery.cs
- FormsAuthentication.cs
- GlyphRun.cs
- StdValidatorsAndConverters.cs
- DefaultValueMapping.cs
- FacetChecker.cs
- Matrix.cs
- GridItemPatternIdentifiers.cs
- XmlWellformedWriter.cs
- SoapIgnoreAttribute.cs
- InstanceDataCollection.cs
- ImageCodecInfoPrivate.cs
- TableStyle.cs
- DataObjectMethodAttribute.cs
- WSTrust.cs
- WeakRefEnumerator.cs
- SystemResourceHost.cs
- DbMetaDataFactory.cs
- ConfigurationLocation.cs
- TextElement.cs
- ProcessModelSection.cs
- FacetChecker.cs
- SqlMethodCallConverter.cs
- PrimitiveXmlSerializers.cs
- Schema.cs
- WebBrowserSiteBase.cs
- TrackingMemoryStreamFactory.cs
- FreezableOperations.cs
- FrameworkElementAutomationPeer.cs
- FrameworkElementFactory.cs
- DecimalKeyFrameCollection.cs
- WrappedIUnknown.cs
- WebResponse.cs
- CreatingCookieEventArgs.cs
- Menu.cs
- MachineKey.cs
- DictionaryContent.cs
- TableAutomationPeer.cs
- AsyncDataRequest.cs
- DataPointer.cs
- CodeTypeMemberCollection.cs
- ErrorFormatter.cs
- Path.cs
- SelectionProcessor.cs
- OutputCacheProfileCollection.cs
- ImageDesigner.cs
- ViewStateAttachedPropertyFeature.cs
- PointHitTestResult.cs
- SharedUtils.cs
- TabletCollection.cs
- SmtpAuthenticationManager.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- MenuItem.cs
- DayRenderEvent.cs
- TypeDependencyAttribute.cs
- ValidatedControlConverter.cs
- TreeNodeCollection.cs
- OutputCacheProfile.cs
- DataGridViewCellStyle.cs
- TypeConverterHelper.cs
- OleDbStruct.cs
- RadioButtonStandardAdapter.cs
- IndexedEnumerable.cs
- KnownIds.cs
- XmlElement.cs
- EventListener.cs
- CompileLiteralTextParser.cs
- FixedTextContainer.cs
- RemoteHelper.cs
- MappingItemCollection.cs
- CacheDependency.cs
- DateTimeAutomationPeer.cs
- Span.cs
- ValidationResult.cs
- UTF8Encoding.cs
- WebPartUtil.cs
- ExceptionTrace.cs
- StrokeDescriptor.cs
- ApplicationGesture.cs
- ObjectSecurity.cs
- ProxyAttribute.cs