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
- MergeLocalizationDirectives.cs
- FilteredXmlReader.cs
- ThemeInfoAttribute.cs
- TrackingRecordPreFilter.cs
- TableLayoutStyle.cs
- WpfSharedBamlSchemaContext.cs
- PropertyGeneratedEventArgs.cs
- ParallelTimeline.cs
- FigureHelper.cs
- LinqDataSourceSelectEventArgs.cs
- DataViewSetting.cs
- VirtualPath.cs
- DataIdProcessor.cs
- AlgoModule.cs
- DataGridViewRowsAddedEventArgs.cs
- ResourceAssociationSetEnd.cs
- MetadataItem.cs
- FileRegion.cs
- DesignerListAdapter.cs
- HwndSubclass.cs
- SaveWorkflowAsyncResult.cs
- DataKey.cs
- basenumberconverter.cs
- MsdtcWrapper.cs
- TextEditorCopyPaste.cs
- SqlMultiplexer.cs
- EventLogReader.cs
- ComponentResourceKey.cs
- Event.cs
- PrimitiveCodeDomSerializer.cs
- StaticExtension.cs
- DataGridViewCellStyle.cs
- XmlNullResolver.cs
- _HelperAsyncResults.cs
- DiscoveryClientProtocol.cs
- Win32Native.cs
- CodePrimitiveExpression.cs
- SafeRightsManagementPubHandle.cs
- PassportIdentity.cs
- ButtonChrome.cs
- ExpressionValueEditor.cs
- InkCanvasInnerCanvas.cs
- Enum.cs
- ConfigurationStrings.cs
- ImmutablePropertyDescriptorGridEntry.cs
- ScrollPattern.cs
- UnorderedHashRepartitionStream.cs
- ComplexPropertyEntry.cs
- Typeface.cs
- ProtocolException.cs
- PrimitiveType.cs
- StyleCollectionEditor.cs
- DataGridViewDataErrorEventArgs.cs
- CategoryAttribute.cs
- AdapterDictionary.cs
- SchemaTableOptionalColumn.cs
- xdrvalidator.cs
- PartialCachingControl.cs
- UriScheme.cs
- SystemFonts.cs
- DateTimeParse.cs
- HandleCollector.cs
- DragStartedEventArgs.cs
- BindableTemplateBuilder.cs
- ProcessStartInfo.cs
- WindowsStatusBar.cs
- QueueProcessor.cs
- EUCJPEncoding.cs
- StateMachineSubscription.cs
- XmlDataDocument.cs
- ResourceDescriptionAttribute.cs
- AppDomainAttributes.cs
- GroupQuery.cs
- RequestCachePolicyConverter.cs
- Matrix.cs
- ClaimTypeRequirement.cs
- TextTreeUndo.cs
- ExpressionBuilderCollection.cs
- CancelEventArgs.cs
- SoapSchemaExporter.cs
- Convert.cs
- EventMappingSettingsCollection.cs
- SystemWebSectionGroup.cs
- DbBuffer.cs
- StylusEditingBehavior.cs
- IApplicationTrustManager.cs
- IriParsingElement.cs
- UrlMappingCollection.cs
- TextSelectionProcessor.cs
- _AutoWebProxyScriptWrapper.cs
- DataRelationPropertyDescriptor.cs
- XPathPatternParser.cs
- UrlPath.cs
- RawKeyboardInputReport.cs
- GridViewCancelEditEventArgs.cs
- ReachObjectContext.cs
- NullableDoubleMinMaxAggregationOperator.cs
- UidPropertyAttribute.cs
- DataGridItem.cs
- CustomValidator.cs