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
- TextProperties.cs
- DecoderReplacementFallback.cs
- FormsAuthenticationCredentials.cs
- DtdParser.cs
- GacUtil.cs
- FormParameter.cs
- PageCatalogPart.cs
- DataProviderNameConverter.cs
- ToolStripItemClickedEventArgs.cs
- Decoder.cs
- FileLogRecordStream.cs
- AvTraceDetails.cs
- PopupEventArgs.cs
- SystemResourceHost.cs
- XPathNodePointer.cs
- TypeUnloadedException.cs
- SuppressMessageAttribute.cs
- XdrBuilder.cs
- UnsafeNativeMethods.cs
- ScriptResourceInfo.cs
- PhysicalAddress.cs
- KeySplineConverter.cs
- ValidationPropertyAttribute.cs
- StylusDownEventArgs.cs
- SoapEnvelopeProcessingElement.cs
- HtmlElementCollection.cs
- EncodingInfo.cs
- AtomServiceDocumentSerializer.cs
- Vector3DAnimation.cs
- EntitySetBaseCollection.cs
- NamespaceList.cs
- VectorConverter.cs
- SessionEndingCancelEventArgs.cs
- StretchValidation.cs
- DurableMessageDispatchInspector.cs
- TraceUtils.cs
- ScalarType.cs
- ObjectContext.cs
- StreamSecurityUpgradeAcceptor.cs
- MiniModule.cs
- MatrixUtil.cs
- XmlBoundElement.cs
- DependencyObjectType.cs
- LogAppendAsyncResult.cs
- ImageIndexConverter.cs
- URLIdentityPermission.cs
- Task.cs
- DesignerForm.cs
- SecurityException.cs
- RectangleConverter.cs
- OracleParameter.cs
- _SslSessionsCache.cs
- UpdateTracker.cs
- TransformBlockRequest.cs
- TimeSpan.cs
- OdbcCommandBuilder.cs
- GridItemPattern.cs
- SqlParameterCollection.cs
- ClientTargetSection.cs
- TextFormatterImp.cs
- AspNetSynchronizationContext.cs
- SortDescriptionCollection.cs
- CodeRegionDirective.cs
- SlotInfo.cs
- DbBuffer.cs
- TextTabProperties.cs
- BooleanFacetDescriptionElement.cs
- FilterQuery.cs
- DataControlLinkButton.cs
- DataList.cs
- PointF.cs
- DataKey.cs
- connectionpool.cs
- XsdCachingReader.cs
- SerTrace.cs
- WpfGeneratedKnownProperties.cs
- RSAOAEPKeyExchangeFormatter.cs
- Socket.cs
- OleDbException.cs
- DataRelationPropertyDescriptor.cs
- Scripts.cs
- HMACRIPEMD160.cs
- Table.cs
- CallbackHandler.cs
- StickyNote.cs
- ProgressBarHighlightConverter.cs
- HttpClientCertificate.cs
- ItemsControl.cs
- PrintDialog.cs
- SetStoryboardSpeedRatio.cs
- TemplateControlBuildProvider.cs
- Decorator.cs
- mediaeventargs.cs
- ScrollViewer.cs
- DateTimeStorage.cs
- Typography.cs
- TagPrefixAttribute.cs
- PreviewKeyDownEventArgs.cs
- DbDataSourceEnumerator.cs
- SafeRightsManagementHandle.cs