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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ETagAttribute.cs
- DefaultEventAttribute.cs
- CodeTypeConstructor.cs
- ItemAutomationPeer.cs
- DesignTimeTemplateParser.cs
- CodeTypeMember.cs
- FixedTextSelectionProcessor.cs
- BaseParser.cs
- QueryPageSettingsEventArgs.cs
- SimpleBitVector32.cs
- DependencyPropertyHelper.cs
- SQLBinaryStorage.cs
- PathSegment.cs
- ApplicationSettingsBase.cs
- sqlser.cs
- ConfigurationSchemaErrors.cs
- TemplateControlParser.cs
- ToolStripItemRenderEventArgs.cs
- CharEntityEncoderFallback.cs
- SafeNativeMemoryHandle.cs
- WebPartsPersonalizationAuthorization.cs
- PageEventArgs.cs
- RawStylusInputCustomDataList.cs
- BitmapCodecInfoInternal.cs
- ObjectItemAssemblyLoader.cs
- ReadOnlyPermissionSet.cs
- AssociationTypeEmitter.cs
- AutomationEvent.cs
- SchemaObjectWriter.cs
- WmfPlaceableFileHeader.cs
- FontFaceLayoutInfo.cs
- DuplicateWaitObjectException.cs
- SEHException.cs
- ErrorWrapper.cs
- Token.cs
- BinaryNode.cs
- SignedInfo.cs
- CatalogZone.cs
- NamespaceImport.cs
- wpf-etw.cs
- LowerCaseStringConverter.cs
- Soap12ProtocolImporter.cs
- DrawingAttributesDefaultValueFactory.cs
- UnsafeNativeMethods.cs
- NonDualMessageSecurityOverHttpElement.cs
- RawStylusInputCustomData.cs
- UrlPath.cs
- AlphaSortedEnumConverter.cs
- StyleCollection.cs
- NativeMethods.cs
- XpsDocumentEvent.cs
- SqlParameter.cs
- WebAdminConfigurationHelper.cs
- ConsumerConnectionPointCollection.cs
- HwndHostAutomationPeer.cs
- TableProviderWrapper.cs
- ItemChangedEventArgs.cs
- SafeNativeMethods.cs
- EntityConnectionStringBuilder.cs
- Brush.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- SoapReflectionImporter.cs
- ResourceDisplayNameAttribute.cs
- WebScriptEnablingElement.cs
- CancellationState.cs
- Content.cs
- FaultReasonText.cs
- ButtonDesigner.cs
- DataGridToolTip.cs
- BufferAllocator.cs
- Utils.cs
- ToolboxService.cs
- ClonableStack.cs
- Timeline.cs
- PermissionSetTriple.cs
- SessionStateSection.cs
- MustUnderstandBehavior.cs
- SecurityKeyIdentifierClause.cs
- UnsafeCollabNativeMethods.cs
- TextSelectionHighlightLayer.cs
- FieldTemplateUserControl.cs
- ImportContext.cs
- LineServicesCallbacks.cs
- SecurityDescriptor.cs
- WebCategoryAttribute.cs
- QualifierSet.cs
- SiteMembershipCondition.cs
- TreeNodeCollectionEditor.cs
- SessionEndingEventArgs.cs
- SessionEndedEventArgs.cs
- PageThemeBuildProvider.cs
- CodeDomLocalizationProvider.cs
- DocumentGrid.cs
- Pen.cs
- XmlDataDocument.cs
- TransformCryptoHandle.cs
- DashStyles.cs
- XmlDataCollection.cs
- Literal.cs
- TriState.cs