Code:
/ DotNET / DotNET / 8.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
- CfgParser.cs
- LingerOption.cs
- MultiSelectRootGridEntry.cs
- IRCollection.cs
- EntryIndex.cs
- DocumentReference.cs
- CookielessHelper.cs
- TextRunCacheImp.cs
- HttpServerProtocol.cs
- SafeSystemMetrics.cs
- SoapFormatExtensions.cs
- ObjectDataSourceStatusEventArgs.cs
- MobileComponentEditorPage.cs
- MenuRenderer.cs
- XmlSchemaGroupRef.cs
- DataGridViewSelectedColumnCollection.cs
- WebPartTransformerCollection.cs
- KeyFrames.cs
- DocumentGrid.cs
- VariableBinder.cs
- SelectorAutomationPeer.cs
- OutKeywords.cs
- XmlNodeChangedEventManager.cs
- Propagator.JoinPropagator.cs
- elementinformation.cs
- XsdValidatingReader.cs
- RepeaterItemCollection.cs
- SrgsGrammar.cs
- SamlAuthenticationClaimResource.cs
- Semaphore.cs
- MatrixConverter.cs
- SqlCommand.cs
- MultilineStringConverter.cs
- DesignBindingPicker.cs
- DataGridViewColumnHeaderCell.cs
- RemoteWebConfigurationHostStream.cs
- StylusEventArgs.cs
- FixedSOMTableCell.cs
- DataColumn.cs
- WindowVisualStateTracker.cs
- ConfigXmlAttribute.cs
- WebControlAdapter.cs
- MultiSelectRootGridEntry.cs
- PropertyEmitterBase.cs
- CookielessHelper.cs
- RequiredAttributeAttribute.cs
- ValidateNames.cs
- Intellisense.cs
- DesignerActionItem.cs
- ListenerTraceUtility.cs
- XPathDocumentIterator.cs
- DataGridAddNewRow.cs
- RTLAwareMessageBox.cs
- PassportPrincipal.cs
- PenThread.cs
- DesignTimeTemplateParser.cs
- EntityTransaction.cs
- OleDbRowUpdatingEvent.cs
- SerialPort.cs
- DayRenderEvent.cs
- WebPartDisplayModeEventArgs.cs
- ReadOnlyCollection.cs
- KeyValueSerializer.cs
- ExpressionVisitor.cs
- Span.cs
- WebPartEditVerb.cs
- ColumnResizeAdorner.cs
- PromptEventArgs.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- ElementAction.cs
- Variable.cs
- ParenthesizePropertyNameAttribute.cs
- DelegateSerializationHolder.cs
- CachedPathData.cs
- System.Data.OracleClient_BID.cs
- ClientProtocol.cs
- ServiceInfoCollection.cs
- MissingMethodException.cs
- EventProviderTraceListener.cs
- SecurityDescriptor.cs
- CatalogPartCollection.cs
- ListViewSortEventArgs.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- MDIWindowDialog.cs
- EmptyStringExpandableObjectConverter.cs
- Char.cs
- mediaeventshelper.cs
- Int64Storage.cs
- WebBrowserProgressChangedEventHandler.cs
- DecimalAnimation.cs
- FixedDocumentSequencePaginator.cs
- WindowsListViewScroll.cs
- RuntimeConfigLKG.cs
- XmlSchemaNotation.cs
- ResourceSet.cs
- EdmToObjectNamespaceMap.cs
- DiscriminatorMap.cs
- WebPartDescription.cs
- RecordsAffectedEventArgs.cs
- SerializerProvider.cs