Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / XPath / Internal / MergeFilterQuery.cs / 1 / 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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ShapingWorkspace.cs
- MgmtConfigurationRecord.cs
- ToolStripItemGlyph.cs
- CompilationSection.cs
- BasicViewGenerator.cs
- GridViewEditEventArgs.cs
- SemaphoreFullException.cs
- UmAlQuraCalendar.cs
- TemplateInstanceAttribute.cs
- WriterOutput.cs
- TypeExtensions.cs
- CompilationAssemblyInstallComponent.cs
- Vector3D.cs
- ToolboxItemCollection.cs
- RadioButtonRenderer.cs
- KeyValueInternalCollection.cs
- sqlnorm.cs
- AlgoModule.cs
- LoginViewDesigner.cs
- SqlPersonalizationProvider.cs
- SrgsSemanticInterpretationTag.cs
- SQLSingle.cs
- BufferedStream2.cs
- SettingsAttributeDictionary.cs
- DbModificationClause.cs
- BidOverLoads.cs
- DateTimePickerDesigner.cs
- SafeFileMappingHandle.cs
- MSG.cs
- BuilderInfo.cs
- Scripts.cs
- ClientTarget.cs
- TextRangeProviderWrapper.cs
- CodeDomConfigurationHandler.cs
- XmlLanguageConverter.cs
- IgnoreFileBuildProvider.cs
- ImageAutomationPeer.cs
- HttpRawResponse.cs
- dataobject.cs
- DataKeyCollection.cs
- Memoizer.cs
- WmlPanelAdapter.cs
- PersonalizationAdministration.cs
- WebPartDescription.cs
- CreateUserWizard.cs
- TraceListeners.cs
- MediaSystem.cs
- COM2Properties.cs
- WorkflowRuntimeEndpoint.cs
- Operand.cs
- AsnEncodedData.cs
- FilterQuery.cs
- LinearGradientBrush.cs
- dbenumerator.cs
- Sequence.cs
- WebPartZoneBase.cs
- WebPartManager.cs
- SystemFonts.cs
- CompiledAction.cs
- RoleGroupCollection.cs
- OutputCacheProfile.cs
- ColumnMap.cs
- AuthenticatedStream.cs
- StringHandle.cs
- WebScriptMetadataInstanceContextProvider.cs
- OdbcParameterCollection.cs
- ApplicationId.cs
- SqlParameterizer.cs
- TextParaClient.cs
- Utils.cs
- TransactedReceiveScope.cs
- MailDefinition.cs
- ItemCollection.cs
- EntityDataReader.cs
- ListBoxItemAutomationPeer.cs
- IssuanceLicense.cs
- XmlSchemaSequence.cs
- GenericWebPart.cs
- OrderByQueryOptionExpression.cs
- WebBrowser.cs
- QilValidationVisitor.cs
- Util.cs
- TriggerBase.cs
- TypeDependencyAttribute.cs
- ScriptManager.cs
- DefaultEvaluationContext.cs
- EditorPartChrome.cs
- Encoder.cs
- WorkflowServiceOperationListItem.cs
- DesignerObject.cs
- CookielessHelper.cs
- XmlFormatExtensionPointAttribute.cs
- Expression.cs
- ConfigurationProperty.cs
- BaseTemplateCodeDomTreeGenerator.cs
- DrawingContextWalker.cs
- XmlSchemaCompilationSettings.cs
- _WebProxyDataBuilder.cs
- CatalogPartCollection.cs
- FileCodeGroup.cs