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
- HttpHostedTransportConfiguration.cs
- FormViewModeEventArgs.cs
- DiscreteKeyFrames.cs
- Rotation3DAnimationUsingKeyFrames.cs
- ArraySubsetEnumerator.cs
- DataSourceCacheDurationConverter.cs
- CatalogPartCollection.cs
- EdmRelationshipRoleAttribute.cs
- ActivityXRefConverter.cs
- Parsers.cs
- TraceHandlerErrorFormatter.cs
- HttpPostLocalhostServerProtocol.cs
- XmlCharacterData.cs
- RenderTargetBitmap.cs
- DataControlCommands.cs
- HtmlInputFile.cs
- _IPv6Address.cs
- ProjectionPath.cs
- DocumentApplicationJournalEntry.cs
- ControlTemplate.cs
- GifBitmapEncoder.cs
- MultitargetUtil.cs
- CustomAssemblyResolver.cs
- Misc.cs
- ToolStripOverflow.cs
- SqlTypesSchemaImporter.cs
- FormattedTextSymbols.cs
- WindowsGraphicsWrapper.cs
- MSAANativeProvider.cs
- MultipleViewPatternIdentifiers.cs
- FamilyMapCollection.cs
- HeaderUtility.cs
- ReflectionTypeLoadException.cs
- XmlSchemaElement.cs
- WhitespaceRuleLookup.cs
- LinqDataSourceDisposeEventArgs.cs
- PropertyPathWorker.cs
- CodeIdentifier.cs
- EnumType.cs
- UInt64Converter.cs
- SQlBooleanStorage.cs
- BamlTreeMap.cs
- CallSiteOps.cs
- NetworkStream.cs
- KeyTimeConverter.cs
- StringBuilder.cs
- TabPage.cs
- RequestCacheValidator.cs
- GridViewUpdatedEventArgs.cs
- FixedSOMFixedBlock.cs
- X509LogoTypeExtension.cs
- PriorityBindingExpression.cs
- PropertyGeneratedEventArgs.cs
- Version.cs
- RadioButton.cs
- BrushValueSerializer.cs
- _ListenerRequestStream.cs
- PointAnimationUsingKeyFrames.cs
- TextBoxAutomationPeer.cs
- ContextMenuService.cs
- ProfileProvider.cs
- MultiBinding.cs
- VarRefManager.cs
- BaseInfoTable.cs
- SamlSecurityTokenAuthenticator.cs
- TypeUsage.cs
- UIElement.cs
- SubtreeProcessor.cs
- Margins.cs
- MetadataCacheItem.cs
- AsyncOperation.cs
- XmlSchemaType.cs
- Freezable.cs
- ScriptManager.cs
- TextServicesContext.cs
- AnimationClockResource.cs
- SspiNegotiationTokenAuthenticatorState.cs
- InvokeDelegate.cs
- ClrProviderManifest.cs
- DataViewListener.cs
- OracleNumber.cs
- GradientBrush.cs
- WindowsRebar.cs
- DataGridTablesFactory.cs
- BulletedList.cs
- StyleXamlParser.cs
- dtdvalidator.cs
- ButtonField.cs
- ItemsControlAutomationPeer.cs
- Fault.cs
- ObjectAnimationUsingKeyFrames.cs
- HexParser.cs
- CodeThrowExceptionStatement.cs
- NamespaceInfo.cs
- unitconverter.cs
- StringConverter.cs
- ButtonBase.cs
- QueryableFilterUserControl.cs
- HandleCollector.cs
- AbsoluteQuery.cs