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
- InvalidProgramException.cs
- ToolbarAUtomationPeer.cs
- NamespaceEmitter.cs
- SEHException.cs
- VisualStateManager.cs
- WebServiceParameterData.cs
- XmlSignatureManifest.cs
- QueryExpr.cs
- XMLSyntaxException.cs
- SynchronizedInputAdaptor.cs
- MulticastNotSupportedException.cs
- ScaleTransform.cs
- SmtpCommands.cs
- IpcPort.cs
- TraceFilter.cs
- Int16Converter.cs
- EmptyQuery.cs
- Point3DAnimationBase.cs
- CanExecuteRoutedEventArgs.cs
- UriExt.cs
- DataBoundControlAdapter.cs
- Brush.cs
- CqlWriter.cs
- PolicyLevel.cs
- Executor.cs
- TextRangeSerialization.cs
- CompareValidator.cs
- LinqExpressionNormalizer.cs
- ScriptingProfileServiceSection.cs
- FullTextLine.cs
- DataGridViewImageCell.cs
- Transaction.cs
- RotationValidation.cs
- DataChangedEventManager.cs
- ActivityUtilities.cs
- ThemeDirectoryCompiler.cs
- FolderLevelBuildProviderAppliesToAttribute.cs
- MetadataSerializer.cs
- BatchWriter.cs
- StrongNameKeyPair.cs
- HttpVersion.cs
- WindowAutomationPeer.cs
- SmtpFailedRecipientsException.cs
- DesignerCalendarAdapter.cs
- DataSourceGroupCollection.cs
- SupportedAddressingMode.cs
- Mapping.cs
- Slider.cs
- TranslateTransform3D.cs
- OleDbParameter.cs
- ZipQueryOperator.cs
- SqlDataSourceFilteringEventArgs.cs
- CallSiteHelpers.cs
- ListItem.cs
- EntityDataSourceSelectingEventArgs.cs
- FormsAuthentication.cs
- InvariantComparer.cs
- UnsafeNativeMethods.cs
- DependencyObject.cs
- ImportCatalogPart.cs
- ApplicationDirectory.cs
- cache.cs
- Region.cs
- HwndSubclass.cs
- QilNode.cs
- ManagedFilter.cs
- NamespaceEmitter.cs
- ControlsConfig.cs
- FormsAuthenticationUserCollection.cs
- ObjectDataSource.cs
- XmlReader.cs
- SplayTreeNode.cs
- CharacterMetricsDictionary.cs
- LockRecoveryTask.cs
- TransformerTypeCollection.cs
- TextCharacters.cs
- XsltConvert.cs
- TableItemProviderWrapper.cs
- SortDescription.cs
- RandomDelaySendsAsyncResult.cs
- PropertyGeneratedEventArgs.cs
- RtfToXamlReader.cs
- TableRowCollection.cs
- InkCanvasSelectionAdorner.cs
- ConstructorBuilder.cs
- StringConcat.cs
- xmlformatgeneratorstatics.cs
- KnownTypesProvider.cs
- Volatile.cs
- EndpointDesigner.cs
- AccessDataSource.cs
- ToolStripGrip.cs
- DataGridViewTextBoxCell.cs
- AssemblyAttributesGoHere.cs
- X509CertificateCollection.cs
- DateRangeEvent.cs
- Rotation3DAnimation.cs
- SqlMethods.cs
- ColumnResizeUndoUnit.cs
- LogSwitch.cs