Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XPath / Internal / MergeFilterQuery.cs / 1305376 / MergeFilterQuery.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.Xml.Xsl; using System.Collections.Generic; internal sealed class MergeFilterQuery : CacheOutputQuery { private Query child; public MergeFilterQuery(Query input, Query child) : base(input) { this.child = child; } private MergeFilterQuery(MergeFilterQuery other) : base(other) { this.child = Clone(other.child); } public override void SetXsltContext(XsltContext xsltContext) { base.SetXsltContext(xsltContext); child.SetXsltContext(xsltContext); } public override object Evaluate(XPathNodeIterator nodeIterator) { base.Evaluate(nodeIterator); while (input.Advance() != null) { child.Evaluate(input); XPathNavigator node; while ((node = child.Advance()) != null) { Insert(outputBuffer, node); } } return this; } public override XPathNavigator MatchNode(XPathNavigator current) { XPathNavigator context = child.MatchNode(current); if (context == null) { return null; } context = input.MatchNode(context); if (context == null) { return null; } Evaluate(new XPathSingletonIterator(context.Clone(), /*moved:*/true)); XPathNavigator result = Advance(); while (result != null) { if (result.IsSamePosition(current)) { return context; } result = Advance(); } return null; } public override XPathNodeIterator Clone() { return new MergeFilterQuery(this); } public override void PrintQuery(XmlWriter w) { w.WriteStartElement(this.GetType().Name); input.PrintQuery(w); child.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
- BamlVersionHeader.cs
- MiniParameterInfo.cs
- BamlTreeUpdater.cs
- XPathException.cs
- WebServiceResponseDesigner.cs
- DataGridViewRowStateChangedEventArgs.cs
- Misc.cs
- ButtonField.cs
- TranslateTransform.cs
- SecurityRuntime.cs
- PropertyGridCommands.cs
- RegexCompilationInfo.cs
- XmlBaseWriter.cs
- MouseOverProperty.cs
- DataGridViewCellFormattingEventArgs.cs
- RegexStringValidator.cs
- CompilerScopeManager.cs
- CustomServiceCredentials.cs
- ButtonBase.cs
- SystemEvents.cs
- unsafeIndexingFilterStream.cs
- SqlConnectionStringBuilder.cs
- OleStrCAMarshaler.cs
- VisualTransition.cs
- TextSelection.cs
- ResourceAttributes.cs
- Menu.cs
- SymmetricAlgorithm.cs
- UriTemplateClientFormatter.cs
- LoginView.cs
- XmlMembersMapping.cs
- TypeKeyValue.cs
- _OSSOCK.cs
- Point.cs
- CircleHotSpot.cs
- RightsManagementErrorHandler.cs
- SvcMapFileSerializer.cs
- ExchangeUtilities.cs
- SchemeSettingElementCollection.cs
- DbMetaDataColumnNames.cs
- CommandLineParser.cs
- NumericUpDownAcceleration.cs
- TreeNodeClickEventArgs.cs
- Border.cs
- ObfuscateAssemblyAttribute.cs
- CustomActivityDesigner.cs
- RichTextBoxAutomationPeer.cs
- AssertHelper.cs
- SchemaImporterExtension.cs
- InstanceData.cs
- UIElement3DAutomationPeer.cs
- CodeAccessPermission.cs
- TextViewBase.cs
- DataGridRow.cs
- userdatakeys.cs
- SmtpCommands.cs
- DataServiceRequest.cs
- RawUIStateInputReport.cs
- ListManagerBindingsCollection.cs
- DurationConverter.cs
- PageSetupDialog.cs
- httpserverutility.cs
- ParseChildrenAsPropertiesAttribute.cs
- Blend.cs
- InfoCardServiceInstallComponent.cs
- EnumValidator.cs
- WebMessageEncodingBindingElement.cs
- EdmError.cs
- ContentFileHelper.cs
- AccessControlList.cs
- ReadOnlyPermissionSet.cs
- GlobalizationAssembly.cs
- WebEventCodes.cs
- SQLMoney.cs
- ExtendedProperty.cs
- WebBrowserNavigatingEventHandler.cs
- QueryContinueDragEvent.cs
- SafeSerializationManager.cs
- sqlinternaltransaction.cs
- DynamicQueryStringParameter.cs
- RectangleGeometry.cs
- ObjectDataSourceDisposingEventArgs.cs
- XmlSchemaParticle.cs
- CodeCommentStatement.cs
- DispatchWrapper.cs
- TextRangeProviderWrapper.cs
- NaturalLanguageHyphenator.cs
- ContentFileHelper.cs
- SoapProtocolImporter.cs
- WSDualHttpBinding.cs
- ProfileInfo.cs
- formatstringdialog.cs
- DataSysAttribute.cs
- Util.cs
- OciHandle.cs
- IsolatedStorage.cs
- ForwardPositionQuery.cs
- XhtmlBasicValidationSummaryAdapter.cs
- GridViewCommandEventArgs.cs
- PerCallInstanceContextProvider.cs