Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XPath / Internal / XPathAxisIterator.cs / 1305376 / XPathAxisIterator.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 abstract class XPathAxisIterator: XPathNodeIterator { internal XPathNavigator nav; internal XPathNodeType type; internal string name; internal string uri; internal int position; internal bool matchSelf; internal bool first = true; public XPathAxisIterator(XPathNavigator nav, bool matchSelf) { this.nav = nav; this.matchSelf = matchSelf; } public XPathAxisIterator(XPathNavigator nav, XPathNodeType type, bool matchSelf) : this(nav, matchSelf) { this.type = type; } public XPathAxisIterator(XPathNavigator nav, string name, string namespaceURI, bool matchSelf) : this(nav, matchSelf) { if (name == null) throw new ArgumentNullException("name"); if (namespaceURI == null) throw new ArgumentNullException("namespaceURI"); this.name = name; this.uri = namespaceURI; } public XPathAxisIterator(XPathAxisIterator it) { this.nav = it.nav.Clone(); this.type = it.type; this.name = it.name; this.uri = it.uri; this.position = it.position; this.matchSelf = it.matchSelf; this.first = it.first; } public override XPathNavigator Current { get { return nav; } } public override int CurrentPosition { get { return position; } } // Nodetype Matching - Given nodetype matches the navigator's nodetype //Given nodetype is all . So it matches everything //Given nodetype is text - Matches text, WS, Significant WS protected virtual bool Matches { get { if (name == null) { return ( type == nav.NodeType || type == XPathNodeType.All || type == XPathNodeType.Text && ( nav.NodeType == XPathNodeType.Whitespace || nav.NodeType == XPathNodeType.SignificantWhitespace ) ); } else { return( nav.NodeType == XPathNodeType.Element && (name.Length == 0 || name == nav.LocalName) && (uri == nav.NamespaceURI) ); } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// 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 abstract class XPathAxisIterator: XPathNodeIterator { internal XPathNavigator nav; internal XPathNodeType type; internal string name; internal string uri; internal int position; internal bool matchSelf; internal bool first = true; public XPathAxisIterator(XPathNavigator nav, bool matchSelf) { this.nav = nav; this.matchSelf = matchSelf; } public XPathAxisIterator(XPathNavigator nav, XPathNodeType type, bool matchSelf) : this(nav, matchSelf) { this.type = type; } public XPathAxisIterator(XPathNavigator nav, string name, string namespaceURI, bool matchSelf) : this(nav, matchSelf) { if (name == null) throw new ArgumentNullException("name"); if (namespaceURI == null) throw new ArgumentNullException("namespaceURI"); this.name = name; this.uri = namespaceURI; } public XPathAxisIterator(XPathAxisIterator it) { this.nav = it.nav.Clone(); this.type = it.type; this.name = it.name; this.uri = it.uri; this.position = it.position; this.matchSelf = it.matchSelf; this.first = it.first; } public override XPathNavigator Current { get { return nav; } } public override int CurrentPosition { get { return position; } } // Nodetype Matching - Given nodetype matches the navigator's nodetype //Given nodetype is all . So it matches everything //Given nodetype is text - Matches text, WS, Significant WS protected virtual bool Matches { get { if (name == null) { return ( type == nav.NodeType || type == XPathNodeType.All || type == XPathNodeType.Text && ( nav.NodeType == XPathNodeType.Whitespace || nav.NodeType == XPathNodeType.SignificantWhitespace ) ); } else { return( nav.NodeType == XPathNodeType.Element && (name.Length == 0 || name == nav.LocalName) && (uri == nav.NamespaceURI) ); } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataBoundLiteralControl.cs
- BitmapPalette.cs
- ViewService.cs
- WorkflowFileItem.cs
- DrawListViewColumnHeaderEventArgs.cs
- XmlNamespaceDeclarationsAttribute.cs
- CellCreator.cs
- ByeMessage11.cs
- GroupBox.cs
- AuthorizationRule.cs
- MailMessage.cs
- SingleSelectRootGridEntry.cs
- LayoutUtils.cs
- CornerRadiusConverter.cs
- FileResponseElement.cs
- BamlRecords.cs
- SerializationBinder.cs
- MessageQueuePermissionEntry.cs
- log.cs
- StringComparer.cs
- BaseDataList.cs
- IMembershipProvider.cs
- BooleanAnimationBase.cs
- TextEditorTyping.cs
- DesignBindingConverter.cs
- EdmSchemaError.cs
- ListBoxChrome.cs
- SQLConvert.cs
- ExtractCollection.cs
- PropertyDescriptor.cs
- XmlMemberMapping.cs
- Queue.cs
- XmlRawWriter.cs
- XmlQuerySequence.cs
- _Rfc2616CacheValidators.cs
- ControlCachePolicy.cs
- WsiProfilesElementCollection.cs
- WebPartDisplayModeEventArgs.cs
- Object.cs
- DetailsViewDeleteEventArgs.cs
- NumberAction.cs
- SqlInternalConnectionSmi.cs
- ReferenceSchema.cs
- ToolStripOverflow.cs
- UIElement.cs
- XPathAncestorQuery.cs
- VisualStyleTypesAndProperties.cs
- TypeTypeConverter.cs
- HitTestParameters.cs
- ApplicationContext.cs
- ImageField.cs
- XmlNamespaceDeclarationsAttribute.cs
- CodeNamespaceImportCollection.cs
- ObjectIDGenerator.cs
- XPathNavigatorKeyComparer.cs
- UnwrappedTypesXmlSerializerManager.cs
- ColumnResult.cs
- QueryContinueDragEventArgs.cs
- DataGridViewIntLinkedList.cs
- ConfigurationConverterBase.cs
- BaseInfoTable.cs
- ComEventsSink.cs
- XmlSignatureProperties.cs
- DataGridColumnCollection.cs
- RenderingBiasValidation.cs
- VSDExceptions.cs
- SessionParameter.cs
- HttpFileCollection.cs
- MissingManifestResourceException.cs
- TraceContextRecord.cs
- ExtendedProperty.cs
- HtmlTableCell.cs
- DataControlField.cs
- InkCanvasInnerCanvas.cs
- sqlinternaltransaction.cs
- DataServiceQuery.cs
- serverconfig.cs
- LineMetrics.cs
- RoutedEventConverter.cs
- Span.cs
- DeflateStreamAsyncResult.cs
- XamlUtilities.cs
- BitmapCodecInfoInternal.cs
- SessionStateUtil.cs
- TextBox.cs
- TextProviderWrapper.cs
- RectangleGeometry.cs
- Size.cs
- TextFragmentEngine.cs
- ItemPager.cs
- XsdDuration.cs
- Random.cs
- TextEditorParagraphs.cs
- ScriptingProfileServiceSection.cs
- SimpleTypeResolver.cs
- DataSourceCache.cs
- DataFieldConverter.cs
- ImageSource.cs
- NumberFormatInfo.cs
- PrintPageEvent.cs