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
- AuthenticationService.cs
- MetadataException.cs
- DefaultValueConverter.cs
- BrowserCapabilitiesCodeGenerator.cs
- SystemGatewayIPAddressInformation.cs
- ASCIIEncoding.cs
- HttpCacheVary.cs
- PropertyPathConverter.cs
- DisplayNameAttribute.cs
- TextRangeAdaptor.cs
- Error.cs
- Regex.cs
- SqlCommandSet.cs
- NominalTypeEliminator.cs
- DataGridViewBindingCompleteEventArgs.cs
- TreeNodeClickEventArgs.cs
- MessageQueueCriteria.cs
- SortedDictionary.cs
- SecurityRuntime.cs
- FrameworkRichTextComposition.cs
- HashMembershipCondition.cs
- GroupBox.cs
- TemplateBindingExpressionConverter.cs
- SetUserPreferenceRequest.cs
- ScriptManagerProxy.cs
- WebExceptionStatus.cs
- Drawing.cs
- GradientBrush.cs
- CssClassPropertyAttribute.cs
- MulticastNotSupportedException.cs
- HtmlTableRowCollection.cs
- DataTable.cs
- CompiledAction.cs
- QilReference.cs
- WindowsFormsHostPropertyMap.cs
- DebugView.cs
- XpsStructure.cs
- WorkBatch.cs
- HashHelper.cs
- SettingsProperty.cs
- ChildTable.cs
- ISFClipboardData.cs
- ViewPort3D.cs
- GreaterThanOrEqual.cs
- BuildManager.cs
- GregorianCalendarHelper.cs
- EditorAttribute.cs
- XamlFilter.cs
- PeerTransportListenAddressValidator.cs
- Exception.cs
- _ServiceNameStore.cs
- BamlStream.cs
- PTProvider.cs
- XmlQueryRuntime.cs
- UniformGrid.cs
- DataGridViewImageColumn.cs
- DBParameter.cs
- GeometryConverter.cs
- GenericXmlSecurityToken.cs
- CurrentChangedEventManager.cs
- EndpointDiscoveryMetadata.cs
- VariableAction.cs
- StorageRoot.cs
- SqlInternalConnectionTds.cs
- KeyManager.cs
- HttpProfileGroupBase.cs
- DiagnosticsConfigurationHandler.cs
- Debug.cs
- LicenseContext.cs
- TabItemAutomationPeer.cs
- ProjectedSlot.cs
- PermissionSet.cs
- PriorityChain.cs
- KeyPressEvent.cs
- ResourceIDHelper.cs
- UpdateInfo.cs
- ConfigurationException.cs
- RadioButtonFlatAdapter.cs
- SimpleApplicationHost.cs
- Model3D.cs
- EmbeddedMailObjectsCollection.cs
- XmlSerializationWriter.cs
- WebPartTransformerCollection.cs
- AdditionalEntityFunctions.cs
- WriteTimeStream.cs
- ViewSimplifier.cs
- CodeNamespaceImportCollection.cs
- Select.cs
- ScrollBarRenderer.cs
- iisPickupDirectory.cs
- TextBlockAutomationPeer.cs
- SqlHelper.cs
- CompositeDesignerAccessibleObject.cs
- DataRowCollection.cs
- EventProxy.cs
- Ref.cs
- PenLineJoinValidation.cs
- TransformCollection.cs
- IndentTextWriter.cs
- MimeXmlImporter.cs