Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / WithParamAction.cs / 1 / 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, Keywords.s_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, Keywords.s_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
- ObjectCacheSettings.cs
- IsolatedStorage.cs
- Marshal.cs
- InfoCardArgumentException.cs
- SplitterPanel.cs
- TemplateBaseAction.cs
- XmlNodeReader.cs
- ClientScriptManagerWrapper.cs
- ToolStripOverflowButton.cs
- BypassElementCollection.cs
- HttpListenerException.cs
- EdmType.cs
- OrderByLifter.cs
- DeviceSpecificChoice.cs
- FormattedTextSymbols.cs
- DefaultValueAttribute.cs
- DataException.cs
- _DomainName.cs
- MsmqOutputSessionChannel.cs
- ExpressionWriter.cs
- ConfigXmlWhitespace.cs
- SqlCacheDependencySection.cs
- LayoutUtils.cs
- ToolStripItemBehavior.cs
- DataGridViewComboBoxColumnDesigner.cs
- PrintDialogException.cs
- PeerName.cs
- BitmapEffectInputConnector.cs
- HashCodeCombiner.cs
- FormatConvertedBitmap.cs
- WebScriptMetadataMessage.cs
- SettingsProperty.cs
- XPathBuilder.cs
- UnsupportedPolicyOptionsException.cs
- DragEvent.cs
- PeerPresenceInfo.cs
- ToolStripGripRenderEventArgs.cs
- METAHEADER.cs
- CookieProtection.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- Util.cs
- WebPartsPersonalization.cs
- TextRunCache.cs
- RoleService.cs
- TransformerInfo.cs
- TableItemPattern.cs
- DefaultExpression.cs
- GridViewColumnHeaderAutomationPeer.cs
- SHA1.cs
- StorageComplexTypeMapping.cs
- ServiceObjectContainer.cs
- XsltException.cs
- EditorZoneBase.cs
- RightNameExpirationInfoPair.cs
- XmlSignatureProperties.cs
- IDataContractSurrogate.cs
- OdbcErrorCollection.cs
- Calendar.cs
- TabControlEvent.cs
- PropertyRef.cs
- UrlAuthorizationModule.cs
- HttpHandler.cs
- Error.cs
- ConversionValidationRule.cs
- AuthenticationModuleElement.cs
- CookielessData.cs
- OdbcHandle.cs
- EventProviderBase.cs
- ScrollBarRenderer.cs
- CuspData.cs
- FontStretch.cs
- TextSerializer.cs
- ByteStack.cs
- _FixedSizeReader.cs
- SBCSCodePageEncoding.cs
- ConfigurationManager.cs
- InProcStateClientManager.cs
- EpmCustomContentWriterNodeData.cs
- OciHandle.cs
- RoleManagerSection.cs
- Char.cs
- MetadataWorkspace.cs
- SelectedDatesCollection.cs
- EventMemberCodeDomSerializer.cs
- EntityDesignerDataSourceView.cs
- WsdlWriter.cs
- DataGridViewCellFormattingEventArgs.cs
- SchemaObjectWriter.cs
- HttpChannelBindingToken.cs
- ByteConverter.cs
- DateTimeConverter2.cs
- ProcessInfo.cs
- SByteStorage.cs
- NamespaceQuery.cs
- IndentedWriter.cs
- StyleSheetDesigner.cs
- AssemblyBuilderData.cs
- _NegoStream.cs
- BasePattern.cs
- SelectionEditingBehavior.cs