Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / XPath / Internal / ChildrenQuery.cs / 1 / 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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlComparer.cs
- NotifyParentPropertyAttribute.cs
- ButtonPopupAdapter.cs
- ContentHostHelper.cs
- ColumnResult.cs
- FileUpload.cs
- NativeRightsManagementAPIsStructures.cs
- SmtpLoginAuthenticationModule.cs
- XmlHelper.cs
- EmptyCollection.cs
- OdbcStatementHandle.cs
- RichTextBoxConstants.cs
- SqlUserDefinedAggregateAttribute.cs
- XPathAxisIterator.cs
- RadioButtonList.cs
- HelpInfo.cs
- TextFormatterImp.cs
- XmlSchemaException.cs
- XamlParser.cs
- WebBrowserHelper.cs
- EncodingDataItem.cs
- EntityContainerEmitter.cs
- MaskedTextProvider.cs
- ApplicationException.cs
- RuntimeHandles.cs
- SBCSCodePageEncoding.cs
- ToolStripPanelRow.cs
- GenericEnumConverter.cs
- StaticFileHandler.cs
- SelectionProcessor.cs
- AssociationSetMetadata.cs
- XsltContext.cs
- XmlSignificantWhitespace.cs
- HandlerFactoryWrapper.cs
- Compiler.cs
- Compiler.cs
- Calendar.cs
- TagMapCollection.cs
- ErrorFormatterPage.cs
- srgsitem.cs
- AlphabetConverter.cs
- ItemList.cs
- UrlMapping.cs
- login.cs
- ListViewUpdateEventArgs.cs
- Evaluator.cs
- FormsAuthenticationUser.cs
- OracleParameter.cs
- SqlPersonalizationProvider.cs
- DirectoryNotFoundException.cs
- TreeNodeStyle.cs
- Geometry.cs
- RangeValueProviderWrapper.cs
- ManifestResourceInfo.cs
- RegionData.cs
- SelectionBorderGlyph.cs
- TrustLevelCollection.cs
- InternalBufferOverflowException.cs
- XmlRawWriter.cs
- NodeLabelEditEvent.cs
- TextEditorCharacters.cs
- DataRowView.cs
- Sql8ExpressionRewriter.cs
- Style.cs
- ExpressionVisitor.cs
- SmiEventSink.cs
- PromptStyle.cs
- COMException.cs
- HttpHandlerAction.cs
- EnvironmentPermission.cs
- DeferredTextReference.cs
- TriggerAction.cs
- TypedReference.cs
- RenderingEventArgs.cs
- WebBrowserProgressChangedEventHandler.cs
- PersonalizableTypeEntry.cs
- ChtmlMobileTextWriter.cs
- SimpleHandlerBuildProvider.cs
- RequestCacheManager.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- BCryptNative.cs
- InputGestureCollection.cs
- RemoteWebConfigurationHost.cs
- OdbcParameterCollection.cs
- CellParagraph.cs
- ToolboxItemWrapper.cs
- Matrix.cs
- EventWaitHandleSecurity.cs
- SelectionItemPattern.cs
- MessagePropertyDescription.cs
- CollectionBuilder.cs
- GroupAggregateExpr.cs
- SplitContainer.cs
- PageBuildProvider.cs
- XmlObjectSerializerReadContextComplex.cs
- KnownTypeAttribute.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- FileLevelControlBuilderAttribute.cs
- WebPartZone.cs
- ImportCatalogPart.cs