Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / XPath / Internal / AttributeQuery.cs / 1 / AttributeQuery.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 AttributeQuery : BaseAxisQuery { private bool onAttribute = false; public AttributeQuery(Query qyParent, string Name, string Prefix, XPathNodeType Type) : base(qyParent, Name, Prefix, Type) {} private AttributeQuery(AttributeQuery other) : base(other) { this.onAttribute = other.onAttribute; } public override void Reset() { onAttribute = false; base.Reset(); } public override XPathNavigator Advance() { while (true) { if (! onAttribute) { currentNode = qyInput.Advance(); if (currentNode == null) { return null; } position = 0; currentNode = currentNode.Clone(); onAttribute = currentNode.MoveToFirstAttribute(); } else { onAttribute = currentNode.MoveToNextAttribute(); } if (onAttribute) { Debug.Assert(! currentNode.NamespaceURI.Equals(XmlReservedNs.NsXmlNs)); if (matches(currentNode)) { position++; return currentNode; } } } // while } public override XPathNavigator MatchNode(XPathNavigator context) { if (context != null) { if (context.NodeType == XPathNodeType.Attribute && matches(context)) { XPathNavigator temp = context.Clone(); if (temp.MoveToParent()) { return qyInput.MatchNode(temp); } } } return null; } public override XPathNodeIterator Clone() { return new AttributeQuery(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
- X509Certificate2Collection.cs
- PageTheme.cs
- TypeConverterHelper.cs
- SiteMapDataSourceView.cs
- GridViewColumnCollection.cs
- RightsManagementEncryptedStream.cs
- FontUnitConverter.cs
- EditorAttributeInfo.cs
- Renderer.cs
- DbParameterCollection.cs
- AnnotationResourceChangedEventArgs.cs
- Unit.cs
- _LazyAsyncResult.cs
- UIElementParagraph.cs
- recordstate.cs
- CloudCollection.cs
- NameValueFileSectionHandler.cs
- DtdParser.cs
- EntityDataSourceState.cs
- CodeDelegateInvokeExpression.cs
- EmptyElement.cs
- ThemeInfoAttribute.cs
- RectAnimationClockResource.cs
- RegexCompilationInfo.cs
- UserNameSecurityTokenAuthenticator.cs
- BooleanAnimationUsingKeyFrames.cs
- OleDbEnumerator.cs
- TimersDescriptionAttribute.cs
- XPathNode.cs
- XmlSerializationWriter.cs
- BitmapEffectInput.cs
- DataServices.cs
- AssociationSetEnd.cs
- AmbientLight.cs
- PageThemeCodeDomTreeGenerator.cs
- ComplexPropertyEntry.cs
- XmlQueryTypeFactory.cs
- Site.cs
- Rethrow.cs
- WebPartUserCapability.cs
- ImageAutomationPeer.cs
- AssociationTypeEmitter.cs
- SoapProtocolImporter.cs
- SqlServer2KCompatibilityAnnotation.cs
- SequenceDesignerAccessibleObject.cs
- XPathPatternParser.cs
- ObjectDisposedException.cs
- TableHeaderCell.cs
- ScriptMethodAttribute.cs
- SeekStoryboard.cs
- SafeFileMapViewHandle.cs
- BorderGapMaskConverter.cs
- Button.cs
- NonVisualControlAttribute.cs
- DecimalStorage.cs
- ProcessInputEventArgs.cs
- BaseUriHelper.cs
- bidPrivateBase.cs
- BufferedWebEventProvider.cs
- WsrmFault.cs
- RichTextBox.cs
- AnnotationComponentManager.cs
- FixedElement.cs
- DbModificationCommandTree.cs
- ReferenceService.cs
- BoolLiteral.cs
- PerfCounters.cs
- ProtocolViolationException.cs
- Buffer.cs
- PropertyEmitter.cs
- GradientStopCollection.cs
- RecordManager.cs
- RubberbandSelector.cs
- ScriptResourceHandler.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- AnchoredBlock.cs
- NavigationWindow.cs
- Blend.cs
- MulticastDelegate.cs
- ButtonRenderer.cs
- BitmapSourceSafeMILHandle.cs
- OracleRowUpdatingEventArgs.cs
- DesignerActionUIStateChangeEventArgs.cs
- TrackingDataItem.cs
- WebPartsSection.cs
- FreezableCollection.cs
- HasCopySemanticsAttribute.cs
- regiisutil.cs
- AspNetHostingPermission.cs
- WCFServiceClientProxyGenerator.cs
- ColumnMap.cs
- HttpBufferlessInputStream.cs
- WS2007HttpBindingElement.cs
- InlineUIContainer.cs
- CompiledXpathExpr.cs
- BufferModesCollection.cs
- MemberHolder.cs
- ValidationResults.cs
- IDictionary.cs
- QuestionEventArgs.cs