Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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. // //[....] //----------------------------------------------------------------------------- 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
- SchemaSetCompiler.cs
- path.cs
- FixedPageProcessor.cs
- ObjectRef.cs
- ZoomPercentageConverter.cs
- SqlSelectStatement.cs
- ViewBox.cs
- XmlFormatReaderGenerator.cs
- DiscoveryClientReferences.cs
- entitydatasourceentitysetnameconverter.cs
- DbProviderConfigurationHandler.cs
- XamlRtfConverter.cs
- IItemProperties.cs
- TreeNodeStyleCollection.cs
- PasswordRecovery.cs
- Button.cs
- XslVisitor.cs
- CacheMode.cs
- MulticastOption.cs
- ToolStripDropDownItem.cs
- CatalogPartChrome.cs
- WebRequest.cs
- TextDecorationCollection.cs
- RootBrowserWindowProxy.cs
- DecimalConstantAttribute.cs
- DataException.cs
- InvalidDataException.cs
- DocumentEventArgs.cs
- WebPartConnectionsDisconnectVerb.cs
- FrameDimension.cs
- WindowsToolbarAsMenu.cs
- TreeView.cs
- DataGridTextBox.cs
- RewritingValidator.cs
- ObjectDataSourceView.cs
- CompiledELinqQueryState.cs
- MachineSettingsSection.cs
- MethodBuilderInstantiation.cs
- ExtensibleClassFactory.cs
- CodeGroup.cs
- Evidence.cs
- Random.cs
- SAPIEngineTypes.cs
- Ray3DHitTestResult.cs
- XDRSchema.cs
- IsolatedStorageException.cs
- UnrecognizedAssertionsBindingElement.cs
- _NestedSingleAsyncResult.cs
- BulletedListEventArgs.cs
- CustomErrorsSectionWrapper.cs
- TableLayoutSettingsTypeConverter.cs
- ECDiffieHellmanPublicKey.cs
- SchemaNotation.cs
- BitmapMetadata.cs
- ValidatedControlConverter.cs
- JsonWriter.cs
- Int32Converter.cs
- FormatConvertedBitmap.cs
- TypedTableGenerator.cs
- PropertyPanel.cs
- SubpageParaClient.cs
- ClientTarget.cs
- ScriptServiceAttribute.cs
- ToolStripItemClickedEventArgs.cs
- SendKeys.cs
- DataBoundLiteralControl.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- Convert.cs
- DependencyObject.cs
- WebPartConnection.cs
- WebPartChrome.cs
- HostProtectionException.cs
- BaseParagraph.cs
- PrimarySelectionGlyph.cs
- ComponentResourceKey.cs
- FilteredReadOnlyMetadataCollection.cs
- CurrentChangingEventArgs.cs
- ConfigurationException.cs
- errorpatternmatcher.cs
- BamlResourceDeserializer.cs
- TypeName.cs
- EmptyReadOnlyDictionaryInternal.cs
- AddInPipelineAttributes.cs
- Margins.cs
- HtmlElementEventArgs.cs
- ToolStripDropDownItemDesigner.cs
- ListViewDataItem.cs
- XsltFunctions.cs
- BasePropertyDescriptor.cs
- InkCanvasFeedbackAdorner.cs
- XmlSchemaSimpleTypeList.cs
- MediaScriptCommandRoutedEventArgs.cs
- DecoderBestFitFallback.cs
- GeneralTransformGroup.cs
- HttpRuntimeSection.cs
- PersistChildrenAttribute.cs
- TextRunCache.cs
- SQLByteStorage.cs
- ValidatorUtils.cs
- ResourceSet.cs