Code:
/ FX-1434 / FX-1434 / 1.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
- TripleDES.cs
- CorrelationHandle.cs
- DragCompletedEventArgs.cs
- FormsAuthentication.cs
- webclient.cs
- SequentialUshortCollection.cs
- StringResourceManager.cs
- SchemaImporter.cs
- ServiceNameCollection.cs
- EntityContainerEntitySet.cs
- MLangCodePageEncoding.cs
- VScrollProperties.cs
- PageContentAsyncResult.cs
- DataControlLinkButton.cs
- ModuleConfigurationInfo.cs
- Module.cs
- PolyQuadraticBezierSegment.cs
- DataViewManagerListItemTypeDescriptor.cs
- Visual3D.cs
- NamespaceEmitter.cs
- Sql8ExpressionRewriter.cs
- NullableBoolConverter.cs
- HttpMethodAttribute.cs
- CustomErrorsSection.cs
- DeleteHelper.cs
- CancellationTokenRegistration.cs
- CollectionViewSource.cs
- GroupLabel.cs
- Interlocked.cs
- OdbcInfoMessageEvent.cs
- Operator.cs
- XPathParser.cs
- SqlCaseSimplifier.cs
- SamlAuthenticationClaimResource.cs
- TcpSocketManager.cs
- securitycriticaldataClass.cs
- SweepDirectionValidation.cs
- ToolStripItemImageRenderEventArgs.cs
- XmlSchemaDocumentation.cs
- WindowsAuthenticationEventArgs.cs
- hresults.cs
- SizeChangedInfo.cs
- ObjectConverter.cs
- NativeMethods.cs
- CollectionViewProxy.cs
- XmlCollation.cs
- ColumnCollection.cs
- LoginName.cs
- X509InitiatorCertificateClientElement.cs
- EncryptedData.cs
- CompiledScopeCriteria.cs
- ExtendedPropertiesHandler.cs
- SchemaNamespaceManager.cs
- EncoderNLS.cs
- AuthorizationRuleCollection.cs
- ItemCollection.cs
- TranslateTransform3D.cs
- AppDomainFactory.cs
- BooleanStorage.cs
- Context.cs
- SystemShuttingDownException.cs
- WebPartAddingEventArgs.cs
- BufferAllocator.cs
- DBSqlParserTable.cs
- SecurityRuntime.cs
- RadioButtonRenderer.cs
- StatusBar.cs
- StringCollection.cs
- StretchValidation.cs
- RuntimeVariablesExpression.cs
- IImplicitResourceProvider.cs
- ObjectToIdCache.cs
- BulletDecorator.cs
- Parser.cs
- StoreContentChangedEventArgs.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- Matrix3DConverter.cs
- ProtectedProviderSettings.cs
- DSGeneratorProblem.cs
- _BasicClient.cs
- SeekStoryboard.cs
- HtmlWindow.cs
- TdsParserHelperClasses.cs
- PersonalizationStateQuery.cs
- DatePickerTextBox.cs
- ISO2022Encoding.cs
- TagMapCollection.cs
- CodeValidator.cs
- ComponentDispatcherThread.cs
- ProvidersHelper.cs
- ScriptManagerProxy.cs
- FontNamesConverter.cs
- XPathNode.cs
- IPipelineRuntime.cs
- XmlSchemaProviderAttribute.cs
- HwndProxyElementProvider.cs
- SubordinateTransaction.cs
- MediaPlayer.cs
- EventRoute.cs
- Vector3DConverter.cs