Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / XPath / Internal / ChildrenQuery.cs / 1 / 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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Crc32Helper.cs
- ExpressionBuilder.cs
- SubMenuStyleCollection.cs
- LinqDataSourceUpdateEventArgs.cs
- CodeExpressionCollection.cs
- XmlSchemaAttribute.cs
- ProcessHost.cs
- TextServicesLoader.cs
- XsdCachingReader.cs
- DataGrid.cs
- ZipIOExtraFieldElement.cs
- Separator.cs
- SrgsElement.cs
- EditingMode.cs
- SiteMapNodeItem.cs
- HandlerFactoryCache.cs
- basemetadatamappingvisitor.cs
- MexHttpBindingElement.cs
- HttpConfigurationContext.cs
- Substitution.cs
- CommandSet.cs
- SoundPlayer.cs
- FamilyTypeface.cs
- KeySpline.cs
- NetworkInformationPermission.cs
- ThreadStaticAttribute.cs
- DataGridSortCommandEventArgs.cs
- WsatServiceCertificate.cs
- XamlTypeMapperSchemaContext.cs
- HtmlEmptyTagControlBuilder.cs
- HebrewCalendar.cs
- NeutralResourcesLanguageAttribute.cs
- XmlDeclaration.cs
- isolationinterop.cs
- SqlInfoMessageEvent.cs
- OutputScope.cs
- ContextMenuStripGroupCollection.cs
- ControlCachePolicy.cs
- AppSecurityManager.cs
- SharedConnectionListener.cs
- CheckStoreFileValidityRequest.cs
- CurrentChangingEventArgs.cs
- WindowsFormsSynchronizationContext.cs
- EntityDataSourceConfigureObjectContextPanel.cs
- ProtocolViolationException.cs
- IsolatedStorageFileStream.cs
- InternalReceiveMessage.cs
- ItemsPanelTemplate.cs
- ToolStripLabel.cs
- CollectionViewGroupRoot.cs
- Calendar.cs
- UInt64Converter.cs
- DiscreteKeyFrames.cs
- QuerySettings.cs
- _IPv6Address.cs
- InheritanceRules.cs
- AttributeCollection.cs
- SelectingProviderEventArgs.cs
- ManagedWndProcTracker.cs
- CharUnicodeInfo.cs
- DictionaryItemsCollection.cs
- RequestUriProcessor.cs
- listitem.cs
- Parser.cs
- JapaneseCalendar.cs
- DataViewListener.cs
- UnhandledExceptionEventArgs.cs
- Utils.cs
- AuthenticationException.cs
- DynamicDataManager.cs
- MsmqMessage.cs
- DirectoryLocalQuery.cs
- NumberSubstitution.cs
- ProfileSection.cs
- HtmlTableRowCollection.cs
- StandardOleMarshalObject.cs
- SoapHttpTransportImporter.cs
- ScrollableControl.cs
- PropertyToken.cs
- Substitution.cs
- SessionEndingCancelEventArgs.cs
- CompositeKey.cs
- Attachment.cs
- NativeMsmqMessage.cs
- LogicalExpressionTypeConverter.cs
- CssClassPropertyAttribute.cs
- LayoutExceptionEventArgs.cs
- ValueSerializerAttribute.cs
- DataFormats.cs
- CopyCodeAction.cs
- sqlser.cs
- StylusPointPropertyUnit.cs
- RankException.cs
- baseaxisquery.cs
- _Events.cs
- HwndMouseInputProvider.cs
- CodePageUtils.cs
- ScrollProperties.cs
- TextRangeProviderWrapper.cs
- SetUserPreferenceRequest.cs