Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / XPath / Internal / NamespaceQuery.cs / 1 / NamespaceQuery.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; internal sealed class NamespaceQuery : BaseAxisQuery { private bool onNamespace; public NamespaceQuery(Query qyParent, string Name, string Prefix, XPathNodeType Type) : base(qyParent, Name, Prefix, Type) {} private NamespaceQuery(NamespaceQuery other) : base(other) { this.onNamespace = other.onNamespace; } public override void Reset() { onNamespace = false; base.Reset(); } public override XPathNavigator Advance() { while (true) { if (!onNamespace) { currentNode = qyInput.Advance(); if (currentNode == null) { return null; } position = 0; currentNode = currentNode.Clone(); onNamespace = currentNode.MoveToFirstNamespace(); } else { onNamespace = currentNode.MoveToNextNamespace(); } if (onNamespace) { if (matches(currentNode)) { position++; return currentNode; } } } // while } // Advance public override bool matches(XPathNavigator e) { Debug.Assert(e.NodeType == XPathNodeType.Namespace); if (e.Value.Length == 0) { Debug.Assert(e.LocalName.Length == 0, "Only xmlns='' can have empty string as a value"); // Namespace axes never returns xmlns='', // because it's not a NS declaration but rather undeclaration. return false; } if (NameTest) { return Name.Equals(e.LocalName); } else { return true; } } public override XPathNodeIterator Clone() { return new NamespaceQuery(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
- CodeDomDecompiler.cs
- BinaryReader.cs
- HostingEnvironmentException.cs
- Encoder.cs
- TransformProviderWrapper.cs
- ImplicitInputBrush.cs
- HostingEnvironmentSection.cs
- WorkflowDesigner.cs
- LinqDataSourceSelectEventArgs.cs
- Constant.cs
- IndependentlyAnimatedPropertyMetadata.cs
- RegexNode.cs
- SynchronousChannelMergeEnumerator.cs
- NamespaceList.cs
- QualifierSet.cs
- QueryInterceptorAttribute.cs
- TypeBuilder.cs
- SplashScreen.cs
- DataRowChangeEvent.cs
- DocComment.cs
- NoPersistProperty.cs
- LogSwitch.cs
- TableCell.cs
- SQLString.cs
- ExpressionBindingCollection.cs
- SecurityUniqueId.cs
- Mutex.cs
- BrowserCapabilitiesFactory.cs
- XmlHierarchicalEnumerable.cs
- TriggerBase.cs
- OleDbMetaDataFactory.cs
- Choices.cs
- HttpCapabilitiesSectionHandler.cs
- ListControlDesigner.cs
- DescendantBaseQuery.cs
- MediaCommands.cs
- RequiredFieldValidator.cs
- CodeCommentStatement.cs
- ComponentSerializationService.cs
- ProtocolsSection.cs
- RepeaterItem.cs
- XPathException.cs
- DiscoveryInnerClientAdhocCD1.cs
- ReceiveActivity.cs
- ZoneIdentityPermission.cs
- OleDbWrapper.cs
- ColumnWidthChangedEvent.cs
- ToolstripProfessionalRenderer.cs
- PowerStatus.cs
- EnumConverter.cs
- GregorianCalendarHelper.cs
- FrameworkReadOnlyPropertyMetadata.cs
- LayoutDump.cs
- MenuItem.cs
- VectorAnimationBase.cs
- ColumnResult.cs
- EventProviderWriter.cs
- EventRouteFactory.cs
- PackWebRequest.cs
- ItemChangedEventArgs.cs
- DbQueryCommandTree.cs
- Document.cs
- TreeWalkHelper.cs
- DynamicValidatorEventArgs.cs
- HtmlForm.cs
- TextBoxAutoCompleteSourceConverter.cs
- BamlTreeUpdater.cs
- Point4D.cs
- NativeMethods.cs
- BinHexDecoder.cs
- GeometryHitTestResult.cs
- Wizard.cs
- GridViewUpdatedEventArgs.cs
- Int32AnimationUsingKeyFrames.cs
- HtmlInputControl.cs
- ToolBarButtonClickEvent.cs
- IndependentAnimationStorage.cs
- MarkedHighlightComponent.cs
- NonDualMessageSecurityOverHttp.cs
- HyperLinkField.cs
- SqlCacheDependency.cs
- LambdaCompiler.Unary.cs
- wpf-etw.cs
- ClientRoleProvider.cs
- HttpListenerPrefixCollection.cs
- SerializationSectionGroup.cs
- DBCSCodePageEncoding.cs
- EventWaitHandle.cs
- RIPEMD160.cs
- GenericRootAutomationPeer.cs
- ListControl.cs
- ConfigDefinitionUpdates.cs
- RecognizeCompletedEventArgs.cs
- ExpandableObjectConverter.cs
- CustomCredentialPolicy.cs
- MouseDevice.cs
- SqlMethodAttribute.cs
- RecipientInfo.cs
- View.cs
- PropertyFilterAttribute.cs