Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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
- LinqDataSourceSelectEventArgs.cs
- Literal.cs
- EntityTypeEmitter.cs
- Int64AnimationBase.cs
- PictureBox.cs
- ToolStripDropDownButton.cs
- SystemKeyConverter.cs
- SimpleRecyclingCache.cs
- DataGridHeaderBorder.cs
- ResourcesGenerator.cs
- InvalidChannelBindingException.cs
- DesignerDataView.cs
- X509Certificate2Collection.cs
- RadioButton.cs
- CreatingCookieEventArgs.cs
- altserialization.cs
- ProfessionalColors.cs
- ReadOnlyCollection.cs
- ListViewAutomationPeer.cs
- ConfigurationException.cs
- CqlGenerator.cs
- ThreadPool.cs
- TemplateBindingExtension.cs
- PassportAuthentication.cs
- CompressedStack.cs
- SerializationSectionGroup.cs
- PathGradientBrush.cs
- ClientScriptManagerWrapper.cs
- Matrix3D.cs
- NullableDecimalAverageAggregationOperator.cs
- ExceptionUtil.cs
- Expressions.cs
- ColumnClickEvent.cs
- GetPageNumberCompletedEventArgs.cs
- figurelength.cs
- DataSourceProvider.cs
- SoapUnknownHeader.cs
- NamespaceInfo.cs
- LoginUtil.cs
- NumericUpDownAccelerationCollection.cs
- XPathMessageFilterElement.cs
- KeyboardNavigation.cs
- Atom10FeedFormatter.cs
- SqlDataRecord.cs
- TypeLoadException.cs
- InstallerTypeAttribute.cs
- EncodingConverter.cs
- Validator.cs
- RequiredAttributeAttribute.cs
- NumberSubstitution.cs
- ViewSimplifier.cs
- SplayTreeNode.cs
- PersonalizableAttribute.cs
- ControlAdapter.cs
- LicenseManager.cs
- ComponentResourceManager.cs
- thaishape.cs
- Icon.cs
- RequestCache.cs
- NullableBoolConverter.cs
- ClientSponsor.cs
- ISFClipboardData.cs
- ReferenceEqualityComparer.cs
- MethodImplAttribute.cs
- AxHost.cs
- DataListAutoFormat.cs
- StringAnimationUsingKeyFrames.cs
- BrowserTree.cs
- View.cs
- Line.cs
- safelinkcollection.cs
- SiteMembershipCondition.cs
- Stream.cs
- Message.cs
- FontConverter.cs
- DataGridTextBoxColumn.cs
- SecurityException.cs
- InternalException.cs
- DataControlFieldsEditor.cs
- OptimalTextSource.cs
- OracleDataAdapter.cs
- TextRange.cs
- ZoneLinkButton.cs
- EdmFunctions.cs
- TypeBuilderInstantiation.cs
- FormClosedEvent.cs
- Camera.cs
- CompatibleIComparer.cs
- ISCIIEncoding.cs
- WebBrowserNavigatingEventHandler.cs
- PagerSettings.cs
- MaskedTextBoxDesignerActionList.cs
- DataSourceControlBuilder.cs
- TraceFilter.cs
- MouseOverProperty.cs
- TextFormatter.cs
- DrawingBrush.cs
- WindowsImpersonationContext.cs
- WorkflowQueuingService.cs
- TraceSection.cs