Code:
/ FX-1434 / FX-1434 / 1.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
- RoleService.cs
- CodeSnippetStatement.cs
- MsmqMessageProperty.cs
- CompilerTypeWithParams.cs
- SQLDoubleStorage.cs
- GenericsInstances.cs
- SystemIcmpV4Statistics.cs
- NameValueFileSectionHandler.cs
- Transform3DGroup.cs
- MenuItem.cs
- PersistChildrenAttribute.cs
- DataServiceQueryOfT.cs
- DataControlCommands.cs
- EmptyCollection.cs
- Tile.cs
- XmlCustomFormatter.cs
- CookieProtection.cs
- SqlDataSourceCommandEventArgs.cs
- MruCache.cs
- StructuredType.cs
- Exceptions.cs
- ReferenceEqualityComparer.cs
- JapaneseLunisolarCalendar.cs
- ToolStripItemTextRenderEventArgs.cs
- HorizontalAlignConverter.cs
- SessionMode.cs
- SHA1.cs
- RelatedView.cs
- AuthenticateEventArgs.cs
- DataKey.cs
- SchemaImporter.cs
- Flattener.cs
- StrokeCollectionDefaultValueFactory.cs
- ResolvePPIDRequest.cs
- PerformanceCountersElement.cs
- ApplicationSecurityManager.cs
- BitmapEffectGroup.cs
- SafeCryptContextHandle.cs
- ContainerFilterService.cs
- EmulateRecognizeCompletedEventArgs.cs
- Region.cs
- AssemblyCacheEntry.cs
- LocalFileSettingsProvider.cs
- RepeatButtonAutomationPeer.cs
- LogWriteRestartAreaState.cs
- OdbcCommand.cs
- CompositeCollection.cs
- DataGridViewSortCompareEventArgs.cs
- BamlRecords.cs
- SizeConverter.cs
- PeerApplication.cs
- DataSysAttribute.cs
- OracleString.cs
- DataGridCell.cs
- WindowsTokenRoleProvider.cs
- GeometryHitTestParameters.cs
- UpdateProgress.cs
- EntityContainerEmitter.cs
- ViewCellSlot.cs
- BamlMapTable.cs
- ColorMap.cs
- ResourceKey.cs
- ListViewItem.cs
- XmlNodeChangedEventManager.cs
- DisplayNameAttribute.cs
- DoubleAnimation.cs
- SystemWebSectionGroup.cs
- NamespaceInfo.cs
- ProfileInfo.cs
- ColumnMapProcessor.cs
- MimeTypeMapper.cs
- SwitchLevelAttribute.cs
- RuleSetBrowserDialog.cs
- DiagnosticsConfigurationHandler.cs
- CustomWebEventKey.cs
- MethodAccessException.cs
- TransformCryptoHandle.cs
- QilGenerator.cs
- Drawing.cs
- DetailsViewDesigner.cs
- BlurEffect.cs
- StandardTransformFactory.cs
- BookmarkScopeManager.cs
- TableColumn.cs
- ControlEvent.cs
- ServicePerformanceCounters.cs
- GifBitmapDecoder.cs
- CommonObjectSecurity.cs
- TypeToken.cs
- XmlSchemaComplexType.cs
- GenericIdentity.cs
- PointValueSerializer.cs
- XmlIlVisitor.cs
- DBCSCodePageEncoding.cs
- StateMachineWorkflow.cs
- SHA256.cs
- StaticFileHandler.cs
- SingleConverter.cs
- PickDesigner.xaml.cs
- cryptoapiTransform.cs