Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / newinstructionaction.cs / 1 / newinstructionaction.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.Xml;
using System.Xml.XPath;
internal class NewInstructionAction : ContainerAction {
string name;
string parent;
bool fallback;
internal override void Compile(Compiler compiler) {
XPathNavigator nav = compiler.Input.Navigator.Clone();
name = nav.Name;
nav.MoveToParent();
parent = nav.Name;
if (compiler.Recurse()) {
CompileSelectiveTemplate(compiler);
compiler.ToParent();
}
}
internal void CompileSelectiveTemplate(Compiler compiler){
NavigatorInput input = compiler.Input;
do{
if (Keywords.Equals(input.NamespaceURI, input.Atoms.XsltNamespace) &&
Keywords.Equals(input.LocalName, input.Atoms.Fallback)){
fallback = true;
if (compiler.Recurse()){
CompileTemplate(compiler);
compiler.ToParent();
}
}
}
while (compiler.Advance());
}
internal override void Execute(Processor processor, ActionFrame frame) {
Debug.Assert(processor != null && frame != null);
switch (frame.State) {
case Initialized:
if (!fallback) {
throw XsltException.Create(Res.Xslt_UnknownExtensionElement, this.name);
}
if (this.containedActions != null && this.containedActions.Count > 0) {
processor.PushActionFrame(frame);
frame.State = ProcessingChildren;
break;
}
else goto case ProcessingChildren;
case ProcessingChildren:
frame.Finished();
break;
default:
Debug.Fail("Invalid Container action 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.Diagnostics;
using System.Xml;
using System.Xml.XPath;
internal class NewInstructionAction : ContainerAction {
string name;
string parent;
bool fallback;
internal override void Compile(Compiler compiler) {
XPathNavigator nav = compiler.Input.Navigator.Clone();
name = nav.Name;
nav.MoveToParent();
parent = nav.Name;
if (compiler.Recurse()) {
CompileSelectiveTemplate(compiler);
compiler.ToParent();
}
}
internal void CompileSelectiveTemplate(Compiler compiler){
NavigatorInput input = compiler.Input;
do{
if (Keywords.Equals(input.NamespaceURI, input.Atoms.XsltNamespace) &&
Keywords.Equals(input.LocalName, input.Atoms.Fallback)){
fallback = true;
if (compiler.Recurse()){
CompileTemplate(compiler);
compiler.ToParent();
}
}
}
while (compiler.Advance());
}
internal override void Execute(Processor processor, ActionFrame frame) {
Debug.Assert(processor != null && frame != null);
switch (frame.State) {
case Initialized:
if (!fallback) {
throw XsltException.Create(Res.Xslt_UnknownExtensionElement, this.name);
}
if (this.containedActions != null && this.containedActions.Count > 0) {
processor.PushActionFrame(frame);
frame.State = ProcessingChildren;
break;
}
else goto case ProcessingChildren;
case ProcessingChildren:
frame.Finished();
break;
default:
Debug.Fail("Invalid Container action 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
- SqlXmlStorage.cs
- PermissionSetTriple.cs
- COM2IManagedPerPropertyBrowsingHandler.cs
- ConnectionStringsExpressionBuilder.cs
- WinFormsSpinner.cs
- UrlAuthFailedErrorFormatter.cs
- DiscoveryEndpointElement.cs
- TextElement.cs
- SmtpException.cs
- DrawingGroup.cs
- ContainerUIElement3D.cs
- Panel.cs
- DataTemplate.cs
- Header.cs
- securitycriticaldataformultiplegetandset.cs
- VersionPair.cs
- LinqDataSourceSelectEventArgs.cs
- PrintDialogException.cs
- ObjectRef.cs
- BooleanFunctions.cs
- HttpCapabilitiesBase.cs
- SystemKeyConverter.cs
- XmlProcessingInstruction.cs
- ProcessHost.cs
- StreamResourceInfo.cs
- ProfileGroupSettingsCollection.cs
- Typeface.cs
- InputProviderSite.cs
- SqlTypeSystemProvider.cs
- InvalidPrinterException.cs
- LoginDesigner.cs
- NativeCppClassAttribute.cs
- FrugalList.cs
- FormsIdentity.cs
- ExceptionList.cs
- TemplateBuilder.cs
- EnumerableRowCollection.cs
- LifetimeServices.cs
- Win32.cs
- Panel.cs
- PropertyConverter.cs
- RuleSetReference.cs
- GetReadStreamResult.cs
- CommandEventArgs.cs
- CollectionConverter.cs
- JsonReaderDelegator.cs
- StrokeNodeOperations2.cs
- ColorConverter.cs
- ParserContext.cs
- DecimalAnimation.cs
- ServiceContractViewControl.Designer.cs
- DataBindingCollection.cs
- Vector.cs
- ProgressBar.cs
- ComplexLine.cs
- IncomingWebResponseContext.cs
- MulticastIPAddressInformationCollection.cs
- MemberExpression.cs
- TypedTableHandler.cs
- Icon.cs
- RawStylusInputReport.cs
- controlskin.cs
- SafeCryptoHandles.cs
- AutomationPatternInfo.cs
- ValidationSummary.cs
- DispatchWrapper.cs
- SemaphoreSecurity.cs
- IUnknownConstantAttribute.cs
- DictionaryBase.cs
- PEFileEvidenceFactory.cs
- SynchronizedInputPattern.cs
- HitTestResult.cs
- Stopwatch.cs
- DBPropSet.cs
- MultilineStringConverter.cs
- FlowchartDesigner.xaml.cs
- ObjectViewFactory.cs
- HtmlInputImage.cs
- CellCreator.cs
- NavigationFailedEventArgs.cs
- Size.cs
- PrinterSettings.cs
- DynamicPropertyReader.cs
- AlternateViewCollection.cs
- DelegateTypeInfo.cs
- ClrPerspective.cs
- UshortList2.cs
- TextEditorTyping.cs
- ValidatingReaderNodeData.cs
- PrintPreviewDialog.cs
- BaseCodeDomTreeGenerator.cs
- CodeTryCatchFinallyStatement.cs
- ScrollEvent.cs
- FormViewRow.cs
- TcpSocketManager.cs
- EntityProviderFactory.cs
- TemplatePartAttribute.cs
- ControlBuilder.cs
- ActiveDocumentEvent.cs
- RtfControls.cs