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
- ViewGenerator.cs
- UrlMapping.cs
- AuthenticationModulesSection.cs
- FullTextBreakpoint.cs
- SqlConnectionPoolGroupProviderInfo.cs
- AuthenticationService.cs
- RestClientProxyHandler.cs
- QilBinary.cs
- SortDescriptionCollection.cs
- TimelineGroup.cs
- Timeline.cs
- PropertyToken.cs
- BitmapScalingModeValidation.cs
- TrustManagerMoreInformation.cs
- ChooseAction.cs
- WindowsRichEditRange.cs
- EmptyEnumerator.cs
- Hash.cs
- PasswordTextContainer.cs
- ContentIterators.cs
- WebPartTracker.cs
- XmlSchemaComplexContent.cs
- Vector3DConverter.cs
- LineUtil.cs
- UInt64.cs
- HtmlTableRowCollection.cs
- BitmapMetadataBlob.cs
- Globals.cs
- JavaScriptObjectDeserializer.cs
- OperandQuery.cs
- MarshalByValueComponent.cs
- SelectionItemProviderWrapper.cs
- PartBasedPackageProperties.cs
- dsa.cs
- TypeUtils.cs
- BreakRecordTable.cs
- UnmanagedMarshal.cs
- DbFunctionCommandTree.cs
- CorrelationTokenInvalidatedHandler.cs
- AstNode.cs
- Util.cs
- Help.cs
- ModifierKeysValueSerializer.cs
- WebPartConnection.cs
- FrugalMap.cs
- DPCustomTypeDescriptor.cs
- FrameworkName.cs
- UserPreferenceChangedEventArgs.cs
- CustomAttributeBuilder.cs
- PropertyMapper.cs
- XsdValidatingReader.cs
- PluralizationService.cs
- PackagePartCollection.cs
- AbstractExpressions.cs
- AnnotationHelper.cs
- DesignerExtenders.cs
- PersistNameAttribute.cs
- RunClient.cs
- CodeTypeConstructor.cs
- DiagnosticTraceRecords.cs
- versioninfo.cs
- autovalidator.cs
- TableCellCollection.cs
- CompilationLock.cs
- InputProcessorProfiles.cs
- Expression.cs
- ProcessManager.cs
- NativeRecognizer.cs
- HostExecutionContextManager.cs
- RC2CryptoServiceProvider.cs
- MarkupCompilePass2.cs
- ClientProxyGenerator.cs
- SharedDp.cs
- WindowAutomationPeer.cs
- HttpCacheVary.cs
- InputElement.cs
- PropertyValue.cs
- PackagingUtilities.cs
- MemberHolder.cs
- XXXOnTypeBuilderInstantiation.cs
- ExpressionEditorAttribute.cs
- DesignerActionService.cs
- Pens.cs
- latinshape.cs
- Helpers.cs
- XmlSchemaImport.cs
- FileDialogCustomPlace.cs
- OracleCommandBuilder.cs
- InvalidCommandTreeException.cs
- AuthorizationRuleCollection.cs
- NavigatingCancelEventArgs.cs
- JumpPath.cs
- RecognizeCompletedEventArgs.cs
- Msmq3PoisonHandler.cs
- WebRequestModuleElementCollection.cs
- StatusBar.cs
- TargetControlTypeAttribute.cs
- Rect3DConverter.cs
- AssemblyBuilder.cs
- XmlTextEncoder.cs