Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XPath / Internal / ChildrenQuery.cs / 1305376 / ChildrenQuery.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; using System.Globalization; using System.Xml.Xsl; using System.Collections; internal class ChildrenQuery : BaseAxisQuery { XPathNodeIterator iterator = XPathEmptyIterator.Instance; public ChildrenQuery(Query qyInput, string name, string prefix, XPathNodeType type) : base (qyInput, name, prefix, type) {} protected ChildrenQuery(ChildrenQuery other) : base(other) { this.iterator = Clone(other.iterator); } public override void Reset() { iterator = XPathEmptyIterator.Instance; base.Reset(); } public override XPathNavigator Advance() { while (!iterator.MoveNext()) { XPathNavigator input = qyInput.Advance(); if (input == null) { return null; } if (NameTest) { if (TypeTest == XPathNodeType.ProcessingInstruction) { iterator = new IteratorFilter(input.SelectChildren(TypeTest), Name); } else { iterator = input.SelectChildren(Name, Namespace); } } else { iterator = input.SelectChildren(TypeTest); } position = 0; } position ++; currentNode = iterator.Current; return currentNode; } // Advance public sealed override XPathNavigator MatchNode(XPathNavigator context) { if (context != null) { if (matches(context)) { XPathNavigator temp = context.Clone(); if (temp.NodeType != XPathNodeType.Attribute && temp.MoveToParent()) { return qyInput.MatchNode(temp); } return null; } } return null; } public override XPathNodeIterator Clone() { return new ChildrenQuery(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
- SkewTransform.cs
- ControlIdConverter.cs
- XmlSchemaInfo.cs
- ZipIORawDataFileBlock.cs
- BinaryFormatter.cs
- InvalidPrinterException.cs
- TableItemPattern.cs
- SslSecurityTokenParameters.cs
- MenuStrip.cs
- MessageQueue.cs
- SqlServer2KCompatibilityCheck.cs
- ByteRangeDownloader.cs
- DataRow.cs
- AnnotationResource.cs
- HorizontalAlignConverter.cs
- StateBag.cs
- versioninfo.cs
- SystemInfo.cs
- X509ChainPolicy.cs
- AdornerLayer.cs
- WinEventQueueItem.cs
- xmlformatgeneratorstatics.cs
- CachedTypeface.cs
- Message.cs
- ProgressBarHighlightConverter.cs
- RegexMatch.cs
- DelegatingMessage.cs
- XamlGridLengthSerializer.cs
- ImageIndexEditor.cs
- AdCreatedEventArgs.cs
- WorkflowInstance.cs
- TypeElement.cs
- BulletChrome.cs
- ISessionStateStore.cs
- oledbmetadatacollectionnames.cs
- ActiveXSite.cs
- streamingZipPartStream.cs
- FontStretch.cs
- TextServicesDisplayAttribute.cs
- StyleTypedPropertyAttribute.cs
- Transform3DCollection.cs
- HttpListenerRequestUriBuilder.cs
- AutomationTextAttribute.cs
- ItemsPanelTemplate.cs
- DynamicActivityTypeDescriptor.cs
- HttpProtocolReflector.cs
- HttpTransportSecurity.cs
- RegexRunner.cs
- StylusPointProperty.cs
- BitmapMetadata.cs
- CodeDirectoryCompiler.cs
- LoadedOrUnloadedOperation.cs
- RawStylusInputReport.cs
- ParsedAttributeCollection.cs
- EncoderExceptionFallback.cs
- SchemaDeclBase.cs
- IItemContainerGenerator.cs
- HtmlElement.cs
- TemplatePagerField.cs
- SingleSelectRootGridEntry.cs
- NonSerializedAttribute.cs
- Page.cs
- Focus.cs
- StorageAssociationSetMapping.cs
- BindingMAnagerBase.cs
- NegatedCellConstant.cs
- ClientSettingsStore.cs
- PrintDocument.cs
- WorkflowInstanceExtensionCollection.cs
- FilterUserControlBase.cs
- DeviceSpecificDesigner.cs
- ExpressionEditorAttribute.cs
- HistoryEventArgs.cs
- SafeCryptoHandles.cs
- XmlNodeWriter.cs
- ConstructorExpr.cs
- NetworkStream.cs
- SqlClientWrapperSmiStreamChars.cs
- ModelItemImpl.cs
- StagingAreaInputItem.cs
- CqlParser.cs
- DesignerView.Commands.cs
- LinqDataSource.cs
- DynamicMethod.cs
- LogLogRecord.cs
- ContractAdapter.cs
- DesignerCalendarAdapter.cs
- ADRoleFactory.cs
- Attributes.cs
- TypeDescriptionProviderAttribute.cs
- RegionInfo.cs
- VisualTreeHelper.cs
- DebugInfo.cs
- PingReply.cs
- SQLUtility.cs
- PolyLineSegmentFigureLogic.cs
- NavigationHelper.cs
- ContentDisposition.cs
- SuppressIldasmAttribute.cs
- IdentitySection.cs