Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CommandEventArgs.cs
- StorageScalarPropertyMapping.cs
- ClientEventManager.cs
- TextBoxAutomationPeer.cs
- ListBox.cs
- XpsS0ValidatingLoader.cs
- _IPv4Address.cs
- CodeMethodReturnStatement.cs
- DefaultTextStore.cs
- WindowHideOrCloseTracker.cs
- XmlNavigatorFilter.cs
- OleDbSchemaGuid.cs
- XhtmlStyleClass.cs
- TextRenderer.cs
- DataGridColumnCollection.cs
- QueryCursorEventArgs.cs
- SimpleType.cs
- QueryStringParameter.cs
- GetPageNumberCompletedEventArgs.cs
- BeginStoryboard.cs
- DoWorkEventArgs.cs
- DetailsView.cs
- WebBrowserEvent.cs
- XmlDownloadManager.cs
- SafeCoTaskMem.cs
- elementinformation.cs
- XmlIlGenerator.cs
- TableDesigner.cs
- ExceptionUtil.cs
- SelectionItemProviderWrapper.cs
- JapaneseLunisolarCalendar.cs
- ServiceDesigner.cs
- FrameworkElement.cs
- Int32Rect.cs
- SHA384Managed.cs
- basenumberconverter.cs
- TraceSource.cs
- X509CertificateValidationMode.cs
- WebResponse.cs
- ReadOnlyHierarchicalDataSourceView.cs
- ContextConfiguration.cs
- GestureRecognitionResult.cs
- XmlSchemaSimpleType.cs
- XamlFrame.cs
- OrthographicCamera.cs
- X509CertificateClaimSet.cs
- FormatSettings.cs
- Timeline.cs
- ColumnResizeAdorner.cs
- CaseStatementSlot.cs
- Stream.cs
- _Semaphore.cs
- ActionFrame.cs
- ActivationWorker.cs
- LogicalTreeHelper.cs
- MessageQueueEnumerator.cs
- ApplicationFileCodeDomTreeGenerator.cs
- TextChange.cs
- ProfilePropertyNameValidator.cs
- SerializeAbsoluteContext.cs
- Assembly.cs
- OptimisticConcurrencyException.cs
- HtmlSelectionListAdapter.cs
- AsymmetricCryptoHandle.cs
- PrinterUnitConvert.cs
- ConversionContext.cs
- TagPrefixAttribute.cs
- TypeInitializationException.cs
- Transaction.cs
- GridViewRowEventArgs.cs
- ToolboxItemFilterAttribute.cs
- EventBuilder.cs
- X509KeyIdentifierClauseType.cs
- FileChangesMonitor.cs
- IconHelper.cs
- TableItemStyle.cs
- CodeIdentifiers.cs
- QilGeneratorEnv.cs
- SettingsSection.cs
- SqlGenericUtil.cs
- XPathParser.cs
- BitmapFrameDecode.cs
- Double.cs
- ActivityInfo.cs
- DebugHandleTracker.cs
- PingReply.cs
- WebBrowserDocumentCompletedEventHandler.cs
- RequestResizeEvent.cs
- COM2ComponentEditor.cs
- WhitespaceRule.cs
- RangeValidator.cs
- CreateRefExpr.cs
- CodeGenerator.cs
- Msmq3PoisonHandler.cs
- FixUpCollection.cs
- ViewSimplifier.cs
- uribuilder.cs
- ToolBarButtonClickEvent.cs
- EventSource.cs
- LocationReferenceEnvironment.cs