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
- SafeRightsManagementHandle.cs
- NotConverter.cs
- PeerCustomResolverElement.cs
- SmiMetaDataProperty.cs
- ComponentEvent.cs
- WebServiceTypeData.cs
- CacheDependency.cs
- NewExpression.cs
- BuilderInfo.cs
- UidManager.cs
- FileVersionInfo.cs
- XmlSchema.cs
- DeferredTextReference.cs
- WebRequestModuleElementCollection.cs
- TraceSwitch.cs
- ExeConfigurationFileMap.cs
- TagMapInfo.cs
- WebPartTracker.cs
- ClientSession.cs
- ScheduleChanges.cs
- GuidTagList.cs
- SendKeys.cs
- TextUtf8RawTextWriter.cs
- IfAction.cs
- RayMeshGeometry3DHitTestResult.cs
- SortedList.cs
- ThemeDirectoryCompiler.cs
- ComponentConverter.cs
- WpfKnownMember.cs
- XmlProcessingInstruction.cs
- WindowInteractionStateTracker.cs
- HtmlAnchor.cs
- WebCodeGenerator.cs
- SessionEndedEventArgs.cs
- RequiredFieldValidator.cs
- Point3DValueSerializer.cs
- PieceNameHelper.cs
- glyphs.cs
- SoapMessage.cs
- IgnoreSectionHandler.cs
- MaterialGroup.cs
- CopyAttributesAction.cs
- ConfigurationPermission.cs
- TypefaceMap.cs
- TemplatePagerField.cs
- SchemaElement.cs
- ObjectDataProvider.cs
- XmlAutoDetectWriter.cs
- ConfigUtil.cs
- MaterializeFromAtom.cs
- PropertyIdentifier.cs
- DesignTimeSiteMapProvider.cs
- TagMapInfo.cs
- SafeMarshalContext.cs
- DesignerUtils.cs
- MetadataHelper.cs
- ActivationServices.cs
- ExpandButtonVisibilityConverter.cs
- PanelDesigner.cs
- RSAPKCS1SignatureFormatter.cs
- RtType.cs
- Form.cs
- CollectionConverter.cs
- PropVariant.cs
- FindResponse.cs
- RegistrySecurity.cs
- DrawItemEvent.cs
- RetrieveVirtualItemEventArgs.cs
- DbMetaDataColumnNames.cs
- HuffModule.cs
- HtmlFormParameterReader.cs
- DecoderReplacementFallback.cs
- TTSEngineTypes.cs
- TextViewSelectionProcessor.cs
- BitmapData.cs
- BaseParagraph.cs
- DictionaryGlobals.cs
- AbstractExpressions.cs
- XmlLangPropertyAttribute.cs
- FormatStringEditor.cs
- ChannelTracker.cs
- WpfSharedBamlSchemaContext.cs
- ObjectSet.cs
- HttpProfileGroupBase.cs
- SystemIcmpV6Statistics.cs
- Span.cs
- ParameterCollection.cs
- CallbackValidator.cs
- ContentElementAutomationPeer.cs
- GridViewSelectEventArgs.cs
- ExternalException.cs
- RegexCapture.cs
- RIPEMD160Managed.cs
- _BufferOffsetSize.cs
- ResourceProviderFactory.cs
- InkPresenter.cs
- HitTestParameters.cs
- AmbientValueAttribute.cs
- XmlSecureResolver.cs
- ButtonBaseAutomationPeer.cs