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
- CodeAttributeArgumentCollection.cs
- PrintPreviewDialog.cs
- ContentHostHelper.cs
- EntityDataSourceDesignerHelper.cs
- EqualityComparer.cs
- HttpFileCollection.cs
- BamlRecordHelper.cs
- ChtmlPhoneCallAdapter.cs
- ScrollProperties.cs
- DataServices.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- SchemaElement.cs
- SafeThreadHandle.cs
- DetailsViewDeleteEventArgs.cs
- WindowsGraphicsWrapper.cs
- DataGridViewCellMouseEventArgs.cs
- SevenBitStream.cs
- VirtualizingPanel.cs
- GeometryModel3D.cs
- SamlConditions.cs
- QilScopedVisitor.cs
- ScrollProperties.cs
- ArrayItemValue.cs
- SecureConversationVersion.cs
- Decorator.cs
- TdsParserStaticMethods.cs
- WrappedIUnknown.cs
- UIElement.cs
- FileUpload.cs
- SimpleLine.cs
- HttpAsyncResult.cs
- Matrix3DConverter.cs
- FixedSOMTable.cs
- ComPlusInstanceContextInitializer.cs
- TableRowCollection.cs
- Win32SafeHandles.cs
- Context.cs
- GridView.cs
- TimeSpanConverter.cs
- IconHelper.cs
- LayoutEvent.cs
- _BasicClient.cs
- ProxyWebPart.cs
- SetterTriggerConditionValueConverter.cs
- SchemaCollectionPreprocessor.cs
- TrueReadOnlyCollection.cs
- WebRequestModuleElementCollection.cs
- FileCodeGroup.cs
- Hash.cs
- PagesChangedEventArgs.cs
- FileUtil.cs
- AsyncPostBackErrorEventArgs.cs
- MarkupExtensionParser.cs
- ImageDrawing.cs
- OutputCacheSettings.cs
- VariantWrapper.cs
- DataPagerCommandEventArgs.cs
- LinkButton.cs
- XsltArgumentList.cs
- KeysConverter.cs
- InputLanguageEventArgs.cs
- Resources.Designer.cs
- AnnotationObservableCollection.cs
- BinaryWriter.cs
- ShapingEngine.cs
- CodeParameterDeclarationExpressionCollection.cs
- FileDialog_Vista.cs
- BitConverter.cs
- TagPrefixCollection.cs
- ActionItem.cs
- SQLUtility.cs
- EventNotify.cs
- GroupBoxRenderer.cs
- SystemInfo.cs
- CacheDependency.cs
- ToolStripHighContrastRenderer.cs
- ReflectionServiceProvider.cs
- RuntimeConfig.cs
- ActivityBindForm.cs
- RangeValidator.cs
- PatternMatcher.cs
- CfgParser.cs
- ObjectViewFactory.cs
- InstanceHandle.cs
- SeparatorAutomationPeer.cs
- RectConverter.cs
- PassportAuthentication.cs
- PeerObject.cs
- PrivateFontCollection.cs
- DataBinding.cs
- SecurityTokenTypes.cs
- SchemaObjectWriter.cs
- UpdateTracker.cs
- AssemblyCache.cs
- RuleCache.cs
- SqlInfoMessageEvent.cs
- BitmapSource.cs
- SafeCryptoHandles.cs
- FirstMatchCodeGroup.cs
- UpnEndpointIdentity.cs