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
- HttpListenerException.cs
- _NegoStream.cs
- ApplicationFileCodeDomTreeGenerator.cs
- MdiWindowListStrip.cs
- SwitchAttribute.cs
- SaveFileDialog.cs
- BaseValidator.cs
- SqlRowUpdatingEvent.cs
- OpenTypeCommon.cs
- SqlParameter.cs
- CompiledIdentityConstraint.cs
- EventRecordWrittenEventArgs.cs
- ClientRoleProvider.cs
- SqlException.cs
- QueuedDeliveryRequirementsMode.cs
- HotSpotCollection.cs
- PrinterResolution.cs
- GlobalProxySelection.cs
- GeneralTransform3DTo2DTo3D.cs
- XmlFormatExtensionPrefixAttribute.cs
- WebSysDisplayNameAttribute.cs
- Persist.cs
- DataGridViewRowCancelEventArgs.cs
- WindowsFormsHelpers.cs
- WindowInteractionStateTracker.cs
- ComponentCollection.cs
- MergeFilterQuery.cs
- SiteMembershipCondition.cs
- NumberSubstitution.cs
- SafeEventLogWriteHandle.cs
- DbConnectionPoolOptions.cs
- WinFormsSpinner.cs
- ButtonAutomationPeer.cs
- ViewBase.cs
- GC.cs
- ServiceThrottlingElement.cs
- DebuggerAttributes.cs
- CheckPair.cs
- COM2FontConverter.cs
- RegisteredDisposeScript.cs
- KeyValueConfigurationElement.cs
- BuildResult.cs
- MappingSource.cs
- PerformanceCounterPermissionEntry.cs
- ContentControl.cs
- EntitySetBase.cs
- TransformedBitmap.cs
- UrlParameterReader.cs
- SharedPersonalizationStateInfo.cs
- SortDescriptionCollection.cs
- XslCompiledTransform.cs
- SortedDictionary.cs
- VersionedStream.cs
- MouseGesture.cs
- AssemblyHash.cs
- UnsafeNativeMethods.cs
- PeerApplication.cs
- UnmanagedHandle.cs
- XamlVector3DCollectionSerializer.cs
- DocumentSequenceHighlightLayer.cs
- ForceCopyBuildProvider.cs
- UiaCoreProviderApi.cs
- CompositeActivityValidator.cs
- XmlAttributeCollection.cs
- DataGridClipboardCellContent.cs
- EventProviderBase.cs
- ReadOnlyDictionary.cs
- SmiEventStream.cs
- URLAttribute.cs
- OptionalRstParameters.cs
- HtmlInputFile.cs
- AccessDataSourceView.cs
- PrePostDescendentsWalker.cs
- StateManager.cs
- DisableDpiAwarenessAttribute.cs
- ConnectorSelectionGlyph.cs
- SqlLiftWhereClauses.cs
- WebReferenceCollection.cs
- Helpers.cs
- MouseActionConverter.cs
- XmlWriterDelegator.cs
- StaticResourceExtension.cs
- basevalidator.cs
- TracingConnectionListener.cs
- WebBrowser.cs
- LoginUtil.cs
- Maps.cs
- Wrapper.cs
- HttpCacheVaryByContentEncodings.cs
- __Error.cs
- AliasExpr.cs
- TiffBitmapDecoder.cs
- XmlNodeComparer.cs
- Region.cs
- ModulesEntry.cs
- XamlBrushSerializer.cs
- DaylightTime.cs
- PathGradientBrush.cs
- ShaderRenderModeValidation.cs
- XmlSchemaObject.cs