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
- ExpressionPrinter.cs
- TextParagraphProperties.cs
- COM2ICategorizePropertiesHandler.cs
- ReferencedType.cs
- HwndProxyElementProvider.cs
- CSharpCodeProvider.cs
- WebPartConnection.cs
- DateBoldEvent.cs
- TableRow.cs
- SystemWebCachingSectionGroup.cs
- SymLanguageVendor.cs
- OdbcPermission.cs
- MenuItem.cs
- EventRoute.cs
- SQLSingle.cs
- MethodImplAttribute.cs
- SmiConnection.cs
- StylusPointDescription.cs
- PropertyEmitter.cs
- NameTable.cs
- PartDesigner.cs
- unsafeIndexingFilterStream.cs
- MemberInfoSerializationHolder.cs
- HttpTransportElement.cs
- SqlAggregateChecker.cs
- SafeFindHandle.cs
- ContextMenuStripActionList.cs
- WebServiceResponseDesigner.cs
- MobileFormsAuthentication.cs
- NavigatingCancelEventArgs.cs
- MaskedTextBox.cs
- TextTreeExtractElementUndoUnit.cs
- DocumentGridPage.cs
- MetadataSource.cs
- SHA1Cng.cs
- CacheHelper.cs
- Single.cs
- ExportOptions.cs
- WebPartManager.cs
- MasterPageCodeDomTreeGenerator.cs
- XmlArrayAttribute.cs
- XmlSchemas.cs
- EpmCustomContentSerializer.cs
- TableLayoutColumnStyleCollection.cs
- DataTemplateSelector.cs
- XmlReaderDelegator.cs
- HexParser.cs
- SystemDropShadowChrome.cs
- HMACSHA1.cs
- AdRotatorDesigner.cs
- WebRequest.cs
- cookiecontainer.cs
- figurelength.cs
- SettingsProperty.cs
- UpdateCommand.cs
- CompositionTarget.cs
- BoundPropertyEntry.cs
- MaskedTextProvider.cs
- ModelItemKeyValuePair.cs
- PersonalizationStateInfo.cs
- DataService.cs
- CharConverter.cs
- TreeNode.cs
- _Semaphore.cs
- SharedHttpTransportManager.cs
- SessionStateContainer.cs
- DurationConverter.cs
- GregorianCalendarHelper.cs
- LookupNode.cs
- ThreadExceptionDialog.cs
- ProcessModule.cs
- ColorTranslator.cs
- FlowLayoutSettings.cs
- TargetException.cs
- TransformerTypeCollection.cs
- IProducerConsumerCollection.cs
- ExtentKey.cs
- FunctionUpdateCommand.cs
- NamespaceEmitter.cs
- StorageMappingItemCollection.cs
- ToolStripActionList.cs
- SqlExpressionNullability.cs
- GradientBrush.cs
- WebPartConnection.cs
- HwndStylusInputProvider.cs
- InvalidPropValue.cs
- ComponentEditorForm.cs
- _ProxyChain.cs
- ProtectedConfigurationProviderCollection.cs
- TreeNodeConverter.cs
- LinkArea.cs
- OutputCacheSettings.cs
- MimeWriter.cs
- DataGridRow.cs
- LineMetrics.cs
- While.cs
- ExtendedProtectionPolicy.cs
- XmlConvert.cs
- SocketException.cs
- TimeoutTimer.cs