Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XPath / Internal / NamespaceQuery.cs / 1305376 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SelectionEditingBehavior.cs
- XmlAnyElementAttribute.cs
- SamlAttributeStatement.cs
- Expression.cs
- Debugger.cs
- TagNameToTypeMapper.cs
- HtmlInputImage.cs
- SchemaExporter.cs
- XmlDocument.cs
- WindowCollection.cs
- RelationshipConverter.cs
- BStrWrapper.cs
- Subtree.cs
- XmlAttributeCache.cs
- HandleCollector.cs
- SignedXml.cs
- AppSecurityManager.cs
- DataGridViewRowCollection.cs
- IDispatchConstantAttribute.cs
- ObjectRef.cs
- DrawingContextWalker.cs
- WaitForChangedResult.cs
- ParagraphResult.cs
- DataSourceBooleanViewSchemaConverter.cs
- DataGridLinkButton.cs
- SuppressIldasmAttribute.cs
- DoubleAnimation.cs
- ConsoleTraceListener.cs
- SqlUtils.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- TCEAdapterGenerator.cs
- SqlMethodTransformer.cs
- ActiveDocumentEvent.cs
- Empty.cs
- DataGridColumnStyleMappingNameEditor.cs
- SiteMapDataSourceDesigner.cs
- TextOptions.cs
- AudioFileOut.cs
- URLAttribute.cs
- AppearanceEditorPart.cs
- PolicyStatement.cs
- StringValidator.cs
- CompositeFontParser.cs
- WindowsFont.cs
- Highlights.cs
- FloaterBaseParaClient.cs
- _SingleItemRequestCache.cs
- RootBrowserWindow.cs
- SmiMetaDataProperty.cs
- ProfilePropertySettingsCollection.cs
- _NetworkingPerfCounters.cs
- WebPartDisplayModeCancelEventArgs.cs
- BindingsCollection.cs
- TaiwanLunisolarCalendar.cs
- ServiceModelConfigurationElementCollection.cs
- DecoderBestFitFallback.cs
- RadioButton.cs
- MimeWriter.cs
- BitmapMetadataEnumerator.cs
- RepeatInfo.cs
- SkewTransform.cs
- RoleManagerModule.cs
- ObjectDisposedException.cs
- ApplicationInterop.cs
- ManipulationCompletedEventArgs.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- SqlUtils.cs
- WebZoneDesigner.cs
- LostFocusEventManager.cs
- PenLineJoinValidation.cs
- BinaryObjectReader.cs
- EnumerationRangeValidationUtil.cs
- TreeWalker.cs
- DataErrorValidationRule.cs
- SectionVisual.cs
- SectionInformation.cs
- TextElementCollectionHelper.cs
- FormatterServices.cs
- BackStopAuthenticationModule.cs
- WebAdminConfigurationHelper.cs
- XmlImplementation.cs
- GeneralTransformGroup.cs
- WebControl.cs
- HtmlTitle.cs
- TypeUtil.cs
- ToolStripDropTargetManager.cs
- UidManager.cs
- Window.cs
- ModelItemCollectionImpl.cs
- ActionMessageFilterTable.cs
- DataSourceCache.cs
- PropertyGridDesigner.cs
- ComplexObject.cs
- DecoderBestFitFallback.cs
- ColorBlend.cs
- SoundPlayer.cs
- ContentOperations.cs
- UserNamePasswordClientCredential.cs
- XmlSchemaSimpleContentRestriction.cs
- EventLogEntry.cs