Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / WithParamAction.cs / 1305376 / WithParamAction.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml.Xsl.XsltOld { using Res = System.Xml.Utils.Res; using System; using System.Diagnostics; using System.Collections; using System.Xml; using System.Xml.XPath; internal class WithParamAction : VariableAction { internal WithParamAction() : base(VariableType.WithParameter) {} internal override void Compile(Compiler compiler) { CompileAttributes(compiler); CheckRequiredAttribute(compiler, this.name, "name"); if (compiler.Recurse()) { CompileTemplate(compiler); compiler.ToParent(); if (this.selectKey != Compiler.InvalidQueryKey && this.containedActions != null) { throw XsltException.Create(Res.Xslt_VariableCntSel2, this.nameStr); } } } internal override void Execute(Processor processor, ActionFrame frame) { Debug.Assert(processor != null && frame != null); object ParamValue; switch(frame.State) { case Initialized: if (this.selectKey != Compiler.InvalidQueryKey) { ParamValue = processor.RunQuery(frame, this.selectKey); processor.SetParameter(this.name, ParamValue); frame.Finished(); } else { if (this.containedActions == null) { processor.SetParameter(this.name, string.Empty); frame.Finished(); break; } NavigatorOutput output = new NavigatorOutput(baseUri); processor.PushOutput(output); processor.PushActionFrame(frame); frame.State = ProcessingChildren; } break; case ProcessingChildren: RecordOutput recOutput = processor.PopOutput(); Debug.Assert(recOutput is NavigatorOutput); processor.SetParameter(this.name,((NavigatorOutput)recOutput).Navigator); frame.Finished(); break; default: Debug.Fail("Invalid execution state inside VariableAction.Execute"); break; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml.Xsl.XsltOld { using Res = System.Xml.Utils.Res; using System; using System.Diagnostics; using System.Collections; using System.Xml; using System.Xml.XPath; internal class WithParamAction : VariableAction { internal WithParamAction() : base(VariableType.WithParameter) {} internal override void Compile(Compiler compiler) { CompileAttributes(compiler); CheckRequiredAttribute(compiler, this.name, "name"); if (compiler.Recurse()) { CompileTemplate(compiler); compiler.ToParent(); if (this.selectKey != Compiler.InvalidQueryKey && this.containedActions != null) { throw XsltException.Create(Res.Xslt_VariableCntSel2, this.nameStr); } } } internal override void Execute(Processor processor, ActionFrame frame) { Debug.Assert(processor != null && frame != null); object ParamValue; switch(frame.State) { case Initialized: if (this.selectKey != Compiler.InvalidQueryKey) { ParamValue = processor.RunQuery(frame, this.selectKey); processor.SetParameter(this.name, ParamValue); frame.Finished(); } else { if (this.containedActions == null) { processor.SetParameter(this.name, string.Empty); frame.Finished(); break; } NavigatorOutput output = new NavigatorOutput(baseUri); processor.PushOutput(output); processor.PushActionFrame(frame); frame.State = ProcessingChildren; } break; case ProcessingChildren: RecordOutput recOutput = processor.PopOutput(); Debug.Assert(recOutput is NavigatorOutput); processor.SetParameter(this.name,((NavigatorOutput)recOutput).Navigator); frame.Finished(); break; default: Debug.Fail("Invalid execution state inside VariableAction.Execute"); break; } } } } // 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
- LessThanOrEqual.cs
- LocatorBase.cs
- CounterSampleCalculator.cs
- WebControlParameterProxy.cs
- _NegoStream.cs
- WinFormsSpinner.cs
- Context.cs
- Evidence.cs
- PagesChangedEventArgs.cs
- TypefaceMap.cs
- BitmapCodecInfoInternal.cs
- MemberDescriptor.cs
- Listbox.cs
- ArraySubsetEnumerator.cs
- EncoderFallback.cs
- Rect3D.cs
- ValidationRule.cs
- ProfileModule.cs
- ConnectionManagementElement.cs
- ProjectionPruner.cs
- VariableExpressionConverter.cs
- Rect3D.cs
- JavaScriptObjectDeserializer.cs
- ThemeInfoAttribute.cs
- InsufficientExecutionStackException.cs
- TextViewDesigner.cs
- JsonQNameDataContract.cs
- Separator.cs
- HtmlInputRadioButton.cs
- CompilerError.cs
- TypeBuilder.cs
- LocatorManager.cs
- SqlCommand.cs
- TextSpan.cs
- RowUpdatingEventArgs.cs
- AxImporter.cs
- querybuilder.cs
- ResourceReader.cs
- VisualBasicExpressionConverter.cs
- _Rfc2616CacheValidators.cs
- ClientConfigPaths.cs
- RoutedPropertyChangedEventArgs.cs
- StandardBindingCollectionElement.cs
- ReadOnlyPermissionSet.cs
- RealProxy.cs
- DesignTimeTemplateParser.cs
- DbQueryCommandTree.cs
- HttpClientChannel.cs
- LoadRetryHandler.cs
- Currency.cs
- ToolStripPanelDesigner.cs
- DigestTraceRecordHelper.cs
- StructuredType.cs
- BindingList.cs
- SQLSingle.cs
- DynamicMethod.cs
- SafeHGlobalHandleCritical.cs
- Point3DCollection.cs
- DispatcherObject.cs
- BindUriHelper.cs
- WindowsScroll.cs
- DataBoundControlAdapter.cs
- Avt.cs
- ListViewGroupConverter.cs
- SevenBitStream.cs
- XPathParser.cs
- WindowsListViewGroupHelper.cs
- TypeLibConverter.cs
- HttpRawResponse.cs
- GridErrorDlg.cs
- validationstate.cs
- SchemaNotation.cs
- TdsRecordBufferSetter.cs
- WindowsPrincipal.cs
- SerializationInfoEnumerator.cs
- ResolvedKeyFrameEntry.cs
- SimpleBitVector32.cs
- UrlPath.cs
- EventLogLink.cs
- Timeline.cs
- RoleGroupCollection.cs
- SapiGrammar.cs
- MultiView.cs
- Drawing.cs
- XmlException.cs
- CompareInfo.cs
- BookmarkUndoUnit.cs
- VariableAction.cs
- PreloadedPackages.cs
- ObjectListField.cs
- FixedDocument.cs
- ThemeDirectoryCompiler.cs
- SqlMetaData.cs
- SynchronousReceiveElement.cs
- GridViewDeleteEventArgs.cs
- OdbcException.cs
- SafeBuffer.cs
- NativeRightsManagementAPIsStructures.cs
- AttributeEmitter.cs
- DiagnosticTrace.cs