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
- ToolStripScrollButton.cs
- XmlSchemaSimpleContentExtension.cs
- DependencyPropertyHelper.cs
- SmtpSection.cs
- ArrayTypeMismatchException.cs
- SpecialFolderEnumConverter.cs
- StringReader.cs
- QilChoice.cs
- OperationResponse.cs
- FormViewUpdateEventArgs.cs
- ValidationError.cs
- CorrelationQueryBehavior.cs
- DefaultPrintController.cs
- XmlQualifiedNameTest.cs
- FormViewRow.cs
- OpCodes.cs
- LayoutEditorPart.cs
- DataGridViewColumn.cs
- UInt32.cs
- XmlSchemaDocumentation.cs
- CaseKeyBox.ViewModel.cs
- BitmapCodecInfoInternal.cs
- EllipseGeometry.cs
- BufferedGraphicsManager.cs
- PeerApplicationLaunchInfo.cs
- Pkcs7Recipient.cs
- EDesignUtil.cs
- ImagingCache.cs
- Timeline.cs
- ObjectContext.cs
- XmlArrayItemAttribute.cs
- ProgressPage.cs
- InternalDispatchObject.cs
- SqlNotificationEventArgs.cs
- SortQuery.cs
- ExecutionContext.cs
- StylusPointPropertyInfoDefaults.cs
- ObjectQuery.cs
- EmptyCollection.cs
- documentsequencetextpointer.cs
- TemplateBindingExpressionConverter.cs
- InvalidFilterCriteriaException.cs
- RemotingAttributes.cs
- SecUtil.cs
- Types.cs
- EmissiveMaterial.cs
- webeventbuffer.cs
- WebCategoryAttribute.cs
- RectangleHotSpot.cs
- UdpDuplexChannel.cs
- InternalPermissions.cs
- IntSecurity.cs
- DbParameterCollectionHelper.cs
- RepeaterItemEventArgs.cs
- User.cs
- IndentedWriter.cs
- CodeTypeDelegate.cs
- BamlBinaryReader.cs
- FamilyTypeface.cs
- PreservationFileWriter.cs
- COM2ComponentEditor.cs
- OleDbConnectionFactory.cs
- WebFormDesignerActionService.cs
- UserNamePasswordValidator.cs
- _CookieModule.cs
- SelfIssuedTokenFactoryCredential.cs
- EraserBehavior.cs
- IconHelper.cs
- filewebresponse.cs
- LookupBindingPropertiesAttribute.cs
- ActiveDocumentEvent.cs
- PrimitiveType.cs
- SoapEnumAttribute.cs
- Formatter.cs
- FloatUtil.cs
- ObjectFullSpanRewriter.cs
- PathFigureCollectionConverter.cs
- Volatile.cs
- VirtualPath.cs
- MenuRenderer.cs
- JsonMessageEncoderFactory.cs
- EntityViewGenerator.cs
- DynamicControl.cs
- CopyAction.cs
- WebBrowser.cs
- BinaryMessageFormatter.cs
- ReverseInheritProperty.cs
- ReceiveContextCollection.cs
- SpecialNameAttribute.cs
- PrimitiveSchema.cs
- CompareValidator.cs
- SafeRightsManagementQueryHandle.cs
- UnsafeNativeMethods.cs
- EmptyElement.cs
- UnsafeNativeMethods.cs
- Transactions.cs
- CssTextWriter.cs
- ParseNumbers.cs
- BitmapMetadataEnumerator.cs
- AsymmetricKeyExchangeFormatter.cs