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
- OracleMonthSpan.cs
- CompModSwitches.cs
- cookiecontainer.cs
- _CommandStream.cs
- EntityDesignerBuildProvider.cs
- Mutex.cs
- ToolStripPanelRow.cs
- SafeNativeMethods.cs
- VisualStyleInformation.cs
- RefType.cs
- DefaultProxySection.cs
- CfgParser.cs
- RegisteredScript.cs
- ContentHostHelper.cs
- EntityContainerAssociationSetEnd.cs
- AssemblyName.cs
- OleDbTransaction.cs
- ProvidePropertyAttribute.cs
- OleDbEnumerator.cs
- MailDefinition.cs
- ScriptingAuthenticationServiceSection.cs
- XMLUtil.cs
- BitmapEffect.cs
- RectAnimation.cs
- SafeHandles.cs
- DockPanel.cs
- BamlLocalizer.cs
- XmlWhitespace.cs
- Splitter.cs
- Expander.cs
- ComplexPropertyEntry.cs
- FlowDocumentFormatter.cs
- FilterQuery.cs
- WorkflowApplication.cs
- VariableQuery.cs
- UrlMapping.cs
- XPathSelfQuery.cs
- VectorAnimationBase.cs
- StackSpiller.cs
- DataGridViewBand.cs
- SettingsPropertyCollection.cs
- DashStyle.cs
- LoginView.cs
- FormViewModeEventArgs.cs
- BookmarkManager.cs
- PageWrapper.cs
- ObservableCollectionDefaultValueFactory.cs
- ClientRolePrincipal.cs
- SafeEventHandle.cs
- XmlChildNodes.cs
- EventEntry.cs
- StatusBar.cs
- DataGridViewRowEventArgs.cs
- QfeChecker.cs
- NumericUpDownAccelerationCollection.cs
- ListViewUpdatedEventArgs.cs
- EventLogWatcher.cs
- CriticalFinalizerObject.cs
- ResourcePool.cs
- MatrixTransform3D.cs
- SoapServerProtocol.cs
- Cursor.cs
- FileSecurity.cs
- TcpClientSocketManager.cs
- HostVisual.cs
- SmiRecordBuffer.cs
- GatewayDefinition.cs
- DecoderFallbackWithFailureFlag.cs
- Label.cs
- UnSafeCharBuffer.cs
- FontStretches.cs
- SystemColors.cs
- WebPartEditorCancelVerb.cs
- MultiPartWriter.cs
- NetMsmqBinding.cs
- SkewTransform.cs
- InplaceBitmapMetadataWriter.cs
- DataGridViewComboBoxCell.cs
- UpdatePanelTriggerCollection.cs
- ApplicationProxyInternal.cs
- TextInfo.cs
- VisualProxy.cs
- NonClientArea.cs
- ValidatedControlConverter.cs
- MarkupExtensionParser.cs
- SocketException.cs
- ArrayWithOffset.cs
- CustomWebEventKey.cs
- DBBindings.cs
- SelectorAutomationPeer.cs
- QualificationDataAttribute.cs
- Normalizer.cs
- TabItem.cs
- RegexGroupCollection.cs
- GenericEnumerator.cs
- TextTreeFixupNode.cs
- TypedRowGenerator.cs
- XmlExpressionDumper.cs
- ClientApiGenerator.cs
- ScrollBar.cs