Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / Xml / System / Xml / XPath / Internal / ChildrenQuery.cs / 2 / 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
- SqlCharStream.cs
- SingleSelectRootGridEntry.cs
- XmlArrayItemAttribute.cs
- Classification.cs
- HandlerBase.cs
- SimpleWorkerRequest.cs
- DomainUpDown.cs
- UpdateCompiler.cs
- Color.cs
- TextRunProperties.cs
- CheckBoxFlatAdapter.cs
- BooleanToVisibilityConverter.cs
- XmlSchemaSet.cs
- RequestUriProcessor.cs
- ConditionCollection.cs
- SoapTypeAttribute.cs
- DataObjectCopyingEventArgs.cs
- Pair.cs
- reliableinputsessionchannel.cs
- ObjectParameterCollection.cs
- NavigationService.cs
- XsltContext.cs
- UnauthorizedWebPart.cs
- SiteMapSection.cs
- processwaithandle.cs
- ClientSettingsProvider.cs
- SQLStringStorage.cs
- MessageContractExporter.cs
- Gdiplus.cs
- ServiceDocument.cs
- Visual3D.cs
- Rect.cs
- _BasicClient.cs
- HttpProfileBase.cs
- DataContractSerializerServiceBehavior.cs
- ActivityExecutor.cs
- BaseTreeIterator.cs
- BitStream.cs
- SessionStateContainer.cs
- XsltLibrary.cs
- TextTrailingCharacterEllipsis.cs
- EventArgs.cs
- SortQuery.cs
- PrimitiveCodeDomSerializer.cs
- UInt32.cs
- CommandDevice.cs
- DataGridViewSortCompareEventArgs.cs
- initElementDictionary.cs
- DocumentXmlWriter.cs
- GenericNameHandler.cs
- mda.cs
- ProxyGenerator.cs
- DataService.cs
- DocumentViewerConstants.cs
- CookieParameter.cs
- HeaderElement.cs
- DataSvcMapFileSerializer.cs
- LineVisual.cs
- BitStream.cs
- ImageDrawing.cs
- AstNode.cs
- DesignOnlyAttribute.cs
- DeviceSpecificDialogCachedState.cs
- SignedPkcs7.cs
- DataKeyArray.cs
- DbConnectionPoolOptions.cs
- ReflectEventDescriptor.cs
- IListConverters.cs
- LogStream.cs
- CTreeGenerator.cs
- DropShadowEffect.cs
- DataKeyArray.cs
- GridViewRowPresenter.cs
- KeyManager.cs
- Options.cs
- ScriptBehaviorDescriptor.cs
- CellTreeNode.cs
- TailPinnedEventArgs.cs
- Line.cs
- ControlCollection.cs
- BorderGapMaskConverter.cs
- SystemIPInterfaceStatistics.cs
- FlowchartDesignerCommands.cs
- CssClassPropertyAttribute.cs
- ColorMap.cs
- PropertyItem.cs
- WindowsNonControl.cs
- SelectionItemPattern.cs
- Line.cs
- CellRelation.cs
- DecimalConstantAttribute.cs
- SettingsContext.cs
- SoapDocumentMethodAttribute.cs
- BamlLocalizableResourceKey.cs
- LongAverageAggregationOperator.cs
- DefaultTextStoreTextComposition.cs
- CodeNamespace.cs
- _MultipleConnectAsync.cs
- CodeDomDesignerLoader.cs
- HttpCapabilitiesEvaluator.cs