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
- ParameterInfo.cs
- BitmapFrame.cs
- EntitySqlQueryCacheKey.cs
- MethodSet.cs
- ResourceReferenceExpressionConverter.cs
- ErrorWrapper.cs
- DbDataAdapter.cs
- TextChangedEventArgs.cs
- AspNetCompatibilityRequirementsMode.cs
- ObjectResult.cs
- InternalControlCollection.cs
- ComAwareEventInfo.cs
- HtmlPanelAdapter.cs
- WebMessageEncodingBindingElement.cs
- DbConnectionPoolGroupProviderInfo.cs
- MachineKeyConverter.cs
- AdapterDictionary.cs
- DetailsViewInsertEventArgs.cs
- Rotation3D.cs
- ColorDialog.cs
- SerializationFieldInfo.cs
- hresults.cs
- CodeEventReferenceExpression.cs
- ToggleButtonAutomationPeer.cs
- CodePrimitiveExpression.cs
- ApplicationServiceHelper.cs
- CapabilitiesUse.cs
- InvokeMethodActivityDesigner.cs
- AuthenticatedStream.cs
- EntityContainerEmitter.cs
- WindowsStartMenu.cs
- XPathNodeInfoAtom.cs
- SynchronizingStream.cs
- MsmqPoisonMessageException.cs
- Comparer.cs
- Vector3D.cs
- Utility.cs
- DesignerDataTable.cs
- IArgumentProvider.cs
- SqlDeflator.cs
- Soap.cs
- GridViewColumnCollectionChangedEventArgs.cs
- SystemIcmpV4Statistics.cs
- WindowProviderWrapper.cs
- SecurityManager.cs
- DesignerActionVerbList.cs
- SqlFlattener.cs
- ObjectSpanRewriter.cs
- ObjRef.cs
- TextDecorationCollection.cs
- TableSectionStyle.cs
- OleDbDataReader.cs
- SapiInterop.cs
- PersistenceMetadataNamespace.cs
- WindowsGraphicsWrapper.cs
- GeometryGroup.cs
- ChtmlPageAdapter.cs
- ListViewItem.cs
- DiffuseMaterial.cs
- DebugControllerThread.cs
- HttpException.cs
- Vector3DCollection.cs
- CodeNamespaceImport.cs
- SpellCheck.cs
- DeviceContext2.cs
- ServiceContractGenerationContext.cs
- DecoderNLS.cs
- IntAverageAggregationOperator.cs
- CodeAttributeArgument.cs
- ByteAnimation.cs
- ArgumentException.cs
- SqlDataAdapter.cs
- FlowDocumentScrollViewer.cs
- CallbackValidator.cs
- MasterPageBuildProvider.cs
- ImportCatalogPart.cs
- EditorPart.cs
- Button.cs
- HttpListenerException.cs
- LoginCancelEventArgs.cs
- XmlCharCheckingReader.cs
- QueryReaderSettings.cs
- LineSegment.cs
- DockProviderWrapper.cs
- TransportSecurityHelpers.cs
- EntityConnection.cs
- XmlAttributeProperties.cs
- WindowsListViewGroup.cs
- Stroke.cs
- SoapFormatter.cs
- PieceDirectory.cs
- SmiEventSink.cs
- DetailsViewCommandEventArgs.cs
- ReliableSession.cs
- cookiecollection.cs
- ServiceXNameTypeConverter.cs
- cookie.cs
- AttachedPropertyBrowsableAttribute.cs
- EntityDataSource.cs
- SafeReadContext.cs