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
- XPathAncestorQuery.cs
- CorrelationManager.cs
- TextEndOfParagraph.cs
- FastEncoderWindow.cs
- RIPEMD160Managed.cs
- AdapterDictionary.cs
- WebServiceParameterData.cs
- PointCollection.cs
- WorkflowViewElement.cs
- String.cs
- TabletDevice.cs
- QueryResults.cs
- TextEditorCharacters.cs
- BamlResourceDeserializer.cs
- SecurityPermission.cs
- TargetParameterCountException.cs
- EditorAttribute.cs
- ScrollBarAutomationPeer.cs
- EncodingTable.cs
- HttpContext.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- SettingsAttributes.cs
- PerformanceCounterCategory.cs
- NetSectionGroup.cs
- StringSource.cs
- DataGridViewDataConnection.cs
- PingReply.cs
- PermissionSetEnumerator.cs
- UndirectedGraph.cs
- HtmlMeta.cs
- isolationinterop.cs
- PathHelper.cs
- ProfileManager.cs
- MessageQueueTransaction.cs
- XmlSchemaAppInfo.cs
- FontStyles.cs
- PermissionSetTriple.cs
- MethodBuilderInstantiation.cs
- dataSvcMapFileLoader.cs
- DataFormats.cs
- ZipIOCentralDirectoryFileHeader.cs
- XslException.cs
- WebPartVerbsEventArgs.cs
- EndpointNameMessageFilter.cs
- invalidudtexception.cs
- CryptoProvider.cs
- DesignerSerializerAttribute.cs
- ping.cs
- ConfigXmlCDataSection.cs
- XmlCodeExporter.cs
- FatalException.cs
- TokenCreationException.cs
- CodeGeneratorOptions.cs
- DataGridItem.cs
- HMACRIPEMD160.cs
- isolationinterop.cs
- SqlClientWrapperSmiStreamChars.cs
- ElementMarkupObject.cs
- RepeatBehaviorConverter.cs
- MemoryFailPoint.cs
- DictionaryKeyPropertyAttribute.cs
- ParallelTimeline.cs
- DefaultAssemblyResolver.cs
- SafeCertificateContext.cs
- SequenceFullException.cs
- _NestedSingleAsyncResult.cs
- PersonalizablePropertyEntry.cs
- AppDomainCompilerProxy.cs
- Activity.cs
- UnaryNode.cs
- HttpProtocolImporter.cs
- TracingConnection.cs
- AngleUtil.cs
- EnumValidator.cs
- DesignerForm.cs
- CompositeFontFamily.cs
- ObjectStateManagerMetadata.cs
- datacache.cs
- Win32SafeHandles.cs
- ProjectionCamera.cs
- TextServicesCompartment.cs
- ListManagerBindingsCollection.cs
- IndicFontClient.cs
- ReachDocumentReferenceCollectionSerializer.cs
- LicenseManager.cs
- SafeSecurityHelper.cs
- MobileErrorInfo.cs
- Command.cs
- Dictionary.cs
- DataGridTable.cs
- ObjectViewQueryResultData.cs
- EncodingTable.cs
- Descriptor.cs
- WindowsToolbarItemAsMenuItem.cs
- DirectoryNotFoundException.cs
- Substitution.cs
- DateTimeOffsetStorage.cs
- ExceptionHandlers.cs
- CodeActivityMetadata.cs
- HotCommands.cs