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
- TextTreeNode.cs
- LinkClickEvent.cs
- SetIterators.cs
- EdmMember.cs
- ListViewGroup.cs
- TagPrefixInfo.cs
- IntegerValidator.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- GraphicsState.cs
- SqlDataSourceConnectionPanel.cs
- ComplexBindingPropertiesAttribute.cs
- InstanceCreationEditor.cs
- RuntimeWrappedException.cs
- DataGridViewDesigner.cs
- SqlUtils.cs
- XmlCountingReader.cs
- LinkButton.cs
- DaylightTime.cs
- ClientTargetCollection.cs
- Int32Converter.cs
- Point3DAnimationBase.cs
- DataTemplateSelector.cs
- TextBox.cs
- AssemblyCache.cs
- RelatedCurrencyManager.cs
- SHA384CryptoServiceProvider.cs
- WorkingDirectoryEditor.cs
- RedistVersionInfo.cs
- Command.cs
- DrawListViewSubItemEventArgs.cs
- HttpCookiesSection.cs
- CharacterMetrics.cs
- SqlConnectionStringBuilder.cs
- NotifyIcon.cs
- RawStylusActions.cs
- Version.cs
- ProviderCommandInfoUtils.cs
- TypeUsage.cs
- PasswordBox.cs
- ImageSourceValueSerializer.cs
- Signature.cs
- DynamicPropertyHolder.cs
- TransformPattern.cs
- EntityDataSourceMemberPath.cs
- BoolLiteral.cs
- CrossContextChannel.cs
- MemberHolder.cs
- UnknownWrapper.cs
- CompModSwitches.cs
- XPathScanner.cs
- PhoneCall.cs
- WebPartVerbsEventArgs.cs
- TextBoxView.cs
- ComplexTypeEmitter.cs
- MultiDataTrigger.cs
- GetRecipientListRequest.cs
- ColorIndependentAnimationStorage.cs
- SpinWait.cs
- ErrorInfoXmlDocument.cs
- InputMethodStateTypeInfo.cs
- BitVector32.cs
- UndirectedGraph.cs
- DuplicateWaitObjectException.cs
- MultipartContentParser.cs
- CodeDesigner.cs
- Policy.cs
- IODescriptionAttribute.cs
- infer.cs
- ClientCultureInfo.cs
- ArgumentsParser.cs
- Stroke.cs
- CachedBitmap.cs
- RIPEMD160Managed.cs
- InplaceBitmapMetadataWriter.cs
- FormViewInsertEventArgs.cs
- PersonalizationStateInfo.cs
- RoutedUICommand.cs
- SqlClientPermission.cs
- SiteMapProvider.cs
- ChineseLunisolarCalendar.cs
- WebChannelFactory.cs
- BitmapEffectCollection.cs
- Stack.cs
- AuthenticationManager.cs
- OutputCacheSettings.cs
- ResponseStream.cs
- ClickablePoint.cs
- HandledEventArgs.cs
- CryptoApi.cs
- DispatcherHookEventArgs.cs
- StreamInfo.cs
- datacache.cs
- MulticastNotSupportedException.cs
- WSFederationHttpBindingCollectionElement.cs
- OracleColumn.cs
- DataSourceHelper.cs
- Int32.cs
- Choices.cs
- MethodAccessException.cs
- MetabaseSettingsIis7.cs