Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XPath / Internal / DescendantBaseQuery.cs / 1305376 / DescendantBaseQuery.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; internal abstract class DescendantBaseQuery : BaseAxisQuery { protected bool matchSelf; protected bool abbrAxis; public DescendantBaseQuery(Query qyParent, string Name, string Prefix, XPathNodeType Type, bool matchSelf, bool abbrAxis) : base(qyParent, Name, Prefix, Type) { this.matchSelf = matchSelf; this.abbrAxis = abbrAxis; } public DescendantBaseQuery(DescendantBaseQuery other) : base(other) { this.matchSelf = other.matchSelf; this.abbrAxis = other.abbrAxis; } public override XPathNavigator MatchNode(XPathNavigator context) { if (context != null) { if (!abbrAxis) { throw XPathException.Create(Res.Xp_InvalidPattern); } XPathNavigator result = null; if (matches(context)) { if (matchSelf) { if ((result = qyInput.MatchNode(context)) != null) { return result; } } XPathNavigator anc = context.Clone(); while (anc.MoveToParent()) { if ((result = qyInput.MatchNode(anc)) != null) { return result; } } } } return null; } public override void PrintQuery(XmlWriter w) { w.WriteStartElement(this.GetType().Name); if (matchSelf) { w.WriteAttributeString("self", "yes"); } if (NameTest) { w.WriteAttributeString("name", Prefix.Length != 0 ? Prefix + ':' + Name : Name); } if (TypeTest != XPathNodeType.Element) { w.WriteAttributeString("nodeType", TypeTest.ToString()); } qyInput.PrintQuery(w); w.WriteEndElement(); } } } // 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
- HttpProfileBase.cs
- HostProtectionException.cs
- HyperLinkDataBindingHandler.cs
- SafeCloseHandleCritical.cs
- CommandDesigner.cs
- XmlWrappingReader.cs
- Stream.cs
- LocationUpdates.cs
- DispatchOperation.cs
- PrinterResolution.cs
- GridViewEditEventArgs.cs
- MsmqMessage.cs
- itemelement.cs
- SchemaImporterExtension.cs
- WorkflowControlClient.cs
- Identity.cs
- ZipIOExtraFieldPaddingElement.cs
- PolicyImporterElementCollection.cs
- ItemCheckEvent.cs
- OciEnlistContext.cs
- Base64Encoder.cs
- RequestBringIntoViewEventArgs.cs
- X509Certificate2.cs
- XmlSchemaAnnotated.cs
- SqlDataSourceQueryEditorForm.cs
- WindowsSspiNegotiation.cs
- CqlBlock.cs
- TreeView.cs
- DataGridViewComboBoxColumnDesigner.cs
- BitmapEncoder.cs
- HasCopySemanticsAttribute.cs
- HostingEnvironment.cs
- SqlReorderer.cs
- TraceUtils.cs
- ButtonStandardAdapter.cs
- ContractValidationHelper.cs
- IssuedTokenClientElement.cs
- RectangleF.cs
- FontNamesConverter.cs
- AbandonedMutexException.cs
- HostProtectionException.cs
- WeakEventManager.cs
- XPathChildIterator.cs
- _ConnectOverlappedAsyncResult.cs
- _NegotiateClient.cs
- ThreadLocal.cs
- BaseTemplateCodeDomTreeGenerator.cs
- UnsafeNetInfoNativeMethods.cs
- XamlSerializationHelper.cs
- TreeViewEvent.cs
- PageContentCollection.cs
- MessageFilterException.cs
- SRef.cs
- XsltException.cs
- EventSource.cs
- Calendar.cs
- HyperLinkStyle.cs
- Currency.cs
- XmlNullResolver.cs
- AssemblyGen.cs
- ScrollEvent.cs
- ICspAsymmetricAlgorithm.cs
- CompositeFontInfo.cs
- GridSplitter.cs
- SByteConverter.cs
- SQLMoney.cs
- SourceLineInfo.cs
- DataGridSortingEventArgs.cs
- RuntimeHelpers.cs
- HttpUnhandledOperationInvoker.cs
- FileRecordSequence.cs
- WebPartConnectionCollection.cs
- AutomationElement.cs
- StylusPlugInCollection.cs
- QilUnary.cs
- DocumentDesigner.cs
- SerializationAttributes.cs
- controlskin.cs
- DataGridCaption.cs
- TextCompositionEventArgs.cs
- SnapLine.cs
- ZipIOExtraFieldElement.cs
- XmlSignificantWhitespace.cs
- QilGenerator.cs
- ExpressionBuilderContext.cs
- DefaultValueConverter.cs
- ChangePasswordDesigner.cs
- ExpressionNormalizer.cs
- NotifyIcon.cs
- SerialReceived.cs
- TextReader.cs
- SimpleRecyclingCache.cs
- MemberListBinding.cs
- InternalConfigConfigurationFactory.cs
- AggregationMinMaxHelpers.cs
- RadioButtonAutomationPeer.cs
- PngBitmapEncoder.cs
- CountdownEvent.cs
- TimeSpanStorage.cs
- TempEnvironment.cs