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
- JsonFormatReaderGenerator.cs
- BaseComponentEditor.cs
- CdpEqualityComparer.cs
- NavigationWindow.cs
- Screen.cs
- BaseEntityWrapper.cs
- SchemaReference.cs
- EtwTrackingBehavior.cs
- PartialCachingControl.cs
- FormsAuthenticationEventArgs.cs
- FileSystemWatcher.cs
- NotifyCollectionChangedEventArgs.cs
- AsyncInvokeContext.cs
- MenuAdapter.cs
- DataSourceHelper.cs
- UserControlFileEditor.cs
- TraceRecord.cs
- MethodToken.cs
- TransformDescriptor.cs
- EntityTypeEmitter.cs
- RoutedPropertyChangedEventArgs.cs
- CatalogPartChrome.cs
- DoubleAnimation.cs
- XsltConvert.cs
- SecurityManager.cs
- PersistenceTypeAttribute.cs
- DirectionalLight.cs
- ListViewHitTestInfo.cs
- CommonDialog.cs
- MouseButton.cs
- DesignerVerb.cs
- MetadataArtifactLoaderCompositeFile.cs
- DataGridState.cs
- WeakReferenceList.cs
- TextSpanModifier.cs
- MobileListItemCollection.cs
- MimePart.cs
- PackageDocument.cs
- HttpValueCollection.cs
- ScrollBarRenderer.cs
- UrlPath.cs
- Part.cs
- PasswordBox.cs
- AssertSection.cs
- versioninfo.cs
- ListManagerBindingsCollection.cs
- Logging.cs
- XLinq.cs
- XamlRtfConverter.cs
- RolePrincipal.cs
- KeyboardDevice.cs
- HyperLinkStyle.cs
- TransformedBitmap.cs
- DLinqColumnProvider.cs
- Graph.cs
- ResourceDescriptionAttribute.cs
- Pair.cs
- HttpHandlerAction.cs
- TextMetrics.cs
- _ListenerResponseStream.cs
- DataGridViewDataErrorEventArgs.cs
- HtmlForm.cs
- DbInsertCommandTree.cs
- AdornerDecorator.cs
- XappLauncher.cs
- Win32Native.cs
- HelpKeywordAttribute.cs
- GetWinFXPath.cs
- EnumMember.cs
- HttpCapabilitiesBase.cs
- ColumnReorderedEventArgs.cs
- formatter.cs
- CodeSnippetExpression.cs
- EffectiveValueEntry.cs
- BitmapEffectGeneralTransform.cs
- DigestTraceRecordHelper.cs
- GiveFeedbackEventArgs.cs
- BindStream.cs
- UnaryQueryOperator.cs
- FixedStringLookup.cs
- UdpReplyToBehavior.cs
- FormView.cs
- CodeObject.cs
- KeyPressEvent.cs
- XmlSchemaExporter.cs
- XpsFilter.cs
- LinkArea.cs
- HotCommands.cs
- TreeViewCancelEvent.cs
- FormClosedEvent.cs
- DoWhile.cs
- JournalEntry.cs
- TreeNodeClickEventArgs.cs
- WpfKnownMemberInvoker.cs
- objectquery_tresulttype.cs
- _ServiceNameStore.cs
- GraphicsContext.cs
- MenuItemBinding.cs
- RightsManagementEncryptedStream.cs
- DictionaryContent.cs