Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / MessageAction.cs / 1 / MessageAction.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml.Xsl.XsltOld {
using Res = System.Xml.Utils.Res;
using System;
using System.IO;
using System.Globalization;
using System.Diagnostics;
using System.Xml;
using System.Xml.XPath;
internal class MessageAction : ContainerAction {
bool _Terminate;
internal override void Compile(Compiler compiler) {
CompileAttributes(compiler);
if (compiler.Recurse()) {
CompileTemplate(compiler);
compiler.ToParent();
}
}
internal override bool CompileAttribute(Compiler compiler) {
string name = compiler.Input.LocalName;
string value = compiler.Input.Value;
if (Keywords.Equals(name, compiler.Atoms.Terminate)) {
_Terminate = compiler.GetYesNo(value);
}
else {
return false;
}
return true;
}
internal override void Execute(Processor processor, ActionFrame frame) {
Debug.Assert(processor != null && frame != null);
switch (frame.State) {
case Initialized:
TextOnlyOutput output = new TextOnlyOutput(processor, new StringWriter(CultureInfo.InvariantCulture));
processor.PushOutput(output);
processor.PushActionFrame(frame);
frame.State = ProcessingChildren;
break;
case ProcessingChildren:
TextOnlyOutput recOutput = processor.PopOutput() as TextOnlyOutput;
Debug.Assert(recOutput != null);
Console.WriteLine(recOutput.Writer.ToString());
if (_Terminate) {
throw XsltException.Create(Res.Xslt_Terminate, recOutput.Writer.ToString());
}
frame.Finished();
break;
default:
Debug.Fail("Invalid MessageAction execution state");
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.IO;
using System.Globalization;
using System.Diagnostics;
using System.Xml;
using System.Xml.XPath;
internal class MessageAction : ContainerAction {
bool _Terminate;
internal override void Compile(Compiler compiler) {
CompileAttributes(compiler);
if (compiler.Recurse()) {
CompileTemplate(compiler);
compiler.ToParent();
}
}
internal override bool CompileAttribute(Compiler compiler) {
string name = compiler.Input.LocalName;
string value = compiler.Input.Value;
if (Keywords.Equals(name, compiler.Atoms.Terminate)) {
_Terminate = compiler.GetYesNo(value);
}
else {
return false;
}
return true;
}
internal override void Execute(Processor processor, ActionFrame frame) {
Debug.Assert(processor != null && frame != null);
switch (frame.State) {
case Initialized:
TextOnlyOutput output = new TextOnlyOutput(processor, new StringWriter(CultureInfo.InvariantCulture));
processor.PushOutput(output);
processor.PushActionFrame(frame);
frame.State = ProcessingChildren;
break;
case ProcessingChildren:
TextOnlyOutput recOutput = processor.PopOutput() as TextOnlyOutput;
Debug.Assert(recOutput != null);
Console.WriteLine(recOutput.Writer.ToString());
if (_Terminate) {
throw XsltException.Create(Res.Xslt_Terminate, recOutput.Writer.ToString());
}
frame.Finished();
break;
default:
Debug.Fail("Invalid MessageAction execution state");
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
- UserNameSecurityTokenAuthenticator.cs
- DataBinder.cs
- StorageMappingFragment.cs
- Enum.cs
- XmlBinaryReader.cs
- ManagementException.cs
- ListViewPagedDataSource.cs
- DetailsViewRowCollection.cs
- SortableBindingList.cs
- BasicViewGenerator.cs
- XamlBrushSerializer.cs
- UIElementIsland.cs
- XPathDescendantIterator.cs
- TimelineClockCollection.cs
- IdnMapping.cs
- LabelDesigner.cs
- _FixedSizeReader.cs
- DataBindingExpressionBuilder.cs
- ImageConverter.cs
- FileVersion.cs
- AuthenticationConfig.cs
- InputProcessorProfiles.cs
- DictionaryContent.cs
- ProviderCommandInfoUtils.cs
- ResourceDescriptionAttribute.cs
- InkPresenter.cs
- WeakHashtable.cs
- InfoCardListRequest.cs
- WorkflowControlClient.cs
- SpellerStatusTable.cs
- Evidence.cs
- JsonServiceDocumentSerializer.cs
- DataList.cs
- DrawingContext.cs
- HtmlInputSubmit.cs
- XamlSerializerUtil.cs
- TextPattern.cs
- ImplicitInputBrush.cs
- TextChange.cs
- LocatorBase.cs
- RuntimeCompatibilityAttribute.cs
- RoutingService.cs
- basecomparevalidator.cs
- Pen.cs
- HttpApplicationStateWrapper.cs
- XPathNode.cs
- CalendarAutoFormat.cs
- BinHexDecoder.cs
- HttpModuleCollection.cs
- XmlNodeComparer.cs
- DataControlFieldCollection.cs
- UrlMapping.cs
- SemanticBasicElement.cs
- CellLabel.cs
- MatcherBuilder.cs
- DoubleLinkListEnumerator.cs
- XmlDownloadManager.cs
- DataServiceException.cs
- PolyLineSegment.cs
- TcpServerChannel.cs
- InputMethod.cs
- DataServiceHost.cs
- DesignerObject.cs
- CompiledQueryCacheEntry.cs
- _Semaphore.cs
- Rect3D.cs
- HttpContext.cs
- MediaSystem.cs
- WebPartCatalogCloseVerb.cs
- XmlSchemaComplexContentRestriction.cs
- ProtocolInformationReader.cs
- PageWrapper.cs
- View.cs
- CodeAttributeDeclaration.cs
- NamespaceQuery.cs
- RuntimeIdentifierPropertyAttribute.cs
- HostProtectionPermission.cs
- ThrowHelper.cs
- KeyboardNavigation.cs
- UnaryQueryOperator.cs
- NativeBuffer.cs
- WorkflowMarkupSerializer.cs
- MatrixTransform.cs
- Annotation.cs
- ProxyAssemblyNotLoadedException.cs
- QueryMath.cs
- _TLSstream.cs
- WebBaseEventKeyComparer.cs
- FixedSOMPage.cs
- dbenumerator.cs
- ColumnHeaderConverter.cs
- CssTextWriter.cs
- DataGridColumnCollection.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- MonikerProxyAttribute.cs
- OletxVolatileEnlistment.cs
- HScrollProperties.cs
- InputReportEventArgs.cs
- SQLDecimalStorage.cs
- DynamicActionMessageFilter.cs