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
- CreateUserWizardDesigner.cs
- HGlobalSafeHandle.cs
- Rfc2898DeriveBytes.cs
- SourceFileInfo.cs
- AliasGenerator.cs
- XmlArrayItemAttributes.cs
- TextDecorationUnitValidation.cs
- UnescapedXmlDiagnosticData.cs
- EUCJPEncoding.cs
- RenderTargetBitmap.cs
- CompressionTransform.cs
- FixedTextBuilder.cs
- XPathDocumentIterator.cs
- SqlCommandSet.cs
- remotingproxy.cs
- OfTypeExpression.cs
- IsolatedStorageFile.cs
- FormViewActionList.cs
- HttpValueCollection.cs
- ErrorStyle.cs
- MasterPageCodeDomTreeGenerator.cs
- UnSafeCharBuffer.cs
- ChineseLunisolarCalendar.cs
- UpdatePanelTriggerCollection.cs
- OledbConnectionStringbuilder.cs
- ExceptionHandler.cs
- MachineKey.cs
- RtfToken.cs
- WebEventCodes.cs
- InteropBitmapSource.cs
- FactoryMaker.cs
- WebPartCatalogCloseVerb.cs
- OperationParameterInfo.cs
- TextParagraphView.cs
- IsolatedStorageFile.cs
- TextEditorParagraphs.cs
- WebException.cs
- TemplatedMailWebEventProvider.cs
- OrderPreservingSpoolingTask.cs
- IsolatedStorageFile.cs
- SymbolEqualComparer.cs
- sqlstateclientmanager.cs
- HierarchicalDataSourceConverter.cs
- ViewCellRelation.cs
- AccessDataSource.cs
- Int64AnimationUsingKeyFrames.cs
- ConcurrentQueue.cs
- LedgerEntry.cs
- ToolBarPanel.cs
- RawAppCommandInputReport.cs
- TreeNodeBindingCollection.cs
- TextRange.cs
- WebSysDefaultValueAttribute.cs
- Identifier.cs
- DataGridLinkButton.cs
- CompilationUnit.cs
- CodeAttachEventStatement.cs
- PrintPreviewDialog.cs
- TargetPerspective.cs
- LogArchiveSnapshot.cs
- DeviceSpecificChoice.cs
- UnsafePeerToPeerMethods.cs
- DataGridTextBoxColumn.cs
- MenuRendererClassic.cs
- SynchronizationLockException.cs
- ClipboardData.cs
- SqlBinder.cs
- CrossContextChannel.cs
- SimpleWorkerRequest.cs
- XamlContextStack.cs
- FormatSettings.cs
- AddInActivator.cs
- TargetFrameworkUtil.cs
- RadioButton.cs
- JsonDataContract.cs
- SQLUtility.cs
- ApplyTemplatesAction.cs
- Process.cs
- QuerySubExprEliminator.cs
- ActivityDesigner.cs
- FormViewPageEventArgs.cs
- MemoryResponseElement.cs
- OutputWindow.cs
- FormatConvertedBitmap.cs
- ActivityBuilderHelper.cs
- SHA384Managed.cs
- BitmapEffectDrawingContextState.cs
- MapPathBasedVirtualPathProvider.cs
- EntitySqlQueryCacheEntry.cs
- MobileTemplatedControlDesigner.cs
- DataGridViewCellLinkedList.cs
- TreeNodeBinding.cs
- StyleSheetDesigner.cs
- UserNameSecurityTokenProvider.cs
- EnumerableRowCollectionExtensions.cs
- ParameterModifier.cs
- ComponentResourceManager.cs
- SystemWebCachingSectionGroup.cs
- UnmanagedMarshal.cs
- GridItemPatternIdentifiers.cs