Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- CodeArrayCreateExpression.cs
- KoreanCalendar.cs
- RelationshipWrapper.cs
- selecteditemcollection.cs
- GuidelineCollection.cs
- AccessibleObject.cs
- Win32NamedPipes.cs
- WebPartEditorApplyVerb.cs
- VerificationAttribute.cs
- HashCryptoHandle.cs
- TemplateParser.cs
- EditorPartDesigner.cs
- StrongNameMembershipCondition.cs
- GridViewPageEventArgs.cs
- ECDiffieHellmanCngPublicKey.cs
- AssemblyAssociatedContentFileAttribute.cs
- TextFormatterContext.cs
- MeasureData.cs
- XmlSchemaException.cs
- ExpandCollapseProviderWrapper.cs
- DashStyles.cs
- EdmProperty.cs
- WindowsListBox.cs
- InternalConfigEventArgs.cs
- DataGridViewCellParsingEventArgs.cs
- DataGridPageChangedEventArgs.cs
- KeyConstraint.cs
- CodeObject.cs
- COSERVERINFO.cs
- CompletedAsyncResult.cs
- SmtpCommands.cs
- VisualStyleRenderer.cs
- BindingExpressionUncommonField.cs
- DetailsViewDeleteEventArgs.cs
- InputBinding.cs
- WriteLineDesigner.xaml.cs
- EmptyCollection.cs
- BitmapFrameEncode.cs
- DesignOnlyAttribute.cs
- MaterialCollection.cs
- EnumMember.cs
- UIElementCollection.cs
- RelationshipWrapper.cs
- DoubleAnimationBase.cs
- SkewTransform.cs
- StringInfo.cs
- MatchingStyle.cs
- ThreadInterruptedException.cs
- ThumbAutomationPeer.cs
- UxThemeWrapper.cs
- CodeTypeReferenceCollection.cs
- XamlReaderHelper.cs
- HtmlInputHidden.cs
- BlockUIContainer.cs
- ReadOnlyMetadataCollection.cs
- WebBrowserContainer.cs
- WindowHelperService.cs
- WindowShowOrOpenTracker.cs
- QueryableDataSourceView.cs
- LabelEditEvent.cs
- PcmConverter.cs
- HasCopySemanticsAttribute.cs
- StylusSystemGestureEventArgs.cs
- QilChoice.cs
- TryExpression.cs
- RC2.cs
- EntityParameterCollection.cs
- CodeRegionDirective.cs
- EventSetter.cs
- RootBuilder.cs
- ImageAnimator.cs
- WebHttpSecurityModeHelper.cs
- ListParagraph.cs
- SoapIncludeAttribute.cs
- Label.cs
- RadioButton.cs
- Attributes.cs
- SchemaDeclBase.cs
- FontInfo.cs
- ValueTypeFieldReference.cs
- StyleHelper.cs
- TCEAdapterGenerator.cs
- DifferencingCollection.cs
- GroupBox.cs
- cache.cs
- ExtensionWindow.cs
- ProcessModelSection.cs
- ContentPlaceHolder.cs
- CompiledRegexRunner.cs
- FilteredXmlReader.cs
- Model3DGroup.cs
- ProviderConnectionPoint.cs
- HyperLinkColumn.cs
- AnimationTimeline.cs
- PartialClassGenerationTask.cs
- TcpClientChannel.cs
- SkinBuilder.cs
- ColumnCollection.cs
- VariableElement.cs
- DataGridViewColumn.cs