Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- WebAdminConfigurationHelper.cs
- EventSourceCreationData.cs
- ParamArrayAttribute.cs
- ScrollProviderWrapper.cs
- Material.cs
- PersonalizationState.cs
- FaultContractAttribute.cs
- FormClosingEvent.cs
- WebEvents.cs
- TransformProviderWrapper.cs
- StaticExtension.cs
- EntityTemplateFactory.cs
- NullExtension.cs
- Win32Interop.cs
- ConfigXmlText.cs
- XmlSchemaAppInfo.cs
- ClientSponsor.cs
- ImpersonationOption.cs
- Activator.cs
- DataGridViewUtilities.cs
- ForEach.cs
- QilFactory.cs
- PartialCachingControl.cs
- ETagAttribute.cs
- CopyNodeSetAction.cs
- BuildProvider.cs
- Transform3DGroup.cs
- exports.cs
- CodeLabeledStatement.cs
- FastPropertyAccessor.cs
- SqlXmlStorage.cs
- HandlerMappingMemo.cs
- MappingMetadataHelper.cs
- XmlSchemaRedefine.cs
- ScrollItemPatternIdentifiers.cs
- AsymmetricKeyExchangeFormatter.cs
- CryptoConfig.cs
- ParameterBuilder.cs
- HtmlTable.cs
- KeyGesture.cs
- TextSearch.cs
- wgx_render.cs
- DBAsyncResult.cs
- StrongNameIdentityPermission.cs
- SafePipeHandle.cs
- NavigateEvent.cs
- SqlDataReader.cs
- ProfessionalColors.cs
- WebCategoryAttribute.cs
- PerformanceCounter.cs
- MapPathBasedVirtualPathProvider.cs
- Buffer.cs
- DirectoryInfo.cs
- PolicyStatement.cs
- TextEvent.cs
- TrackBar.cs
- SqlConnectionPoolGroupProviderInfo.cs
- StaticFileHandler.cs
- SecurityTokenException.cs
- SourceFileBuildProvider.cs
- HtmlToClrEventProxy.cs
- ObjectQueryExecutionPlan.cs
- PowerModeChangedEventArgs.cs
- EntityDataSourceContextCreatedEventArgs.cs
- FontCollection.cs
- TagPrefixInfo.cs
- EntityProviderFactory.cs
- ToolboxDataAttribute.cs
- SolidColorBrush.cs
- BinarySecretKeyIdentifierClause.cs
- EdmRelationshipRoleAttribute.cs
- WindowsFormsHostPropertyMap.cs
- WebPartCollection.cs
- OperationResponse.cs
- NameSpaceExtractor.cs
- ServiceModelActivationSectionGroup.cs
- WinEventTracker.cs
- Perspective.cs
- DebugView.cs
- VideoDrawing.cs
- OperationFormatStyle.cs
- DesignerHost.cs
- PrintController.cs
- SoapElementAttribute.cs
- BindingManagerDataErrorEventArgs.cs
- WebSysDefaultValueAttribute.cs
- SrgsGrammarCompiler.cs
- DataObject.cs
- SharedDp.cs
- ButtonBaseAdapter.cs
- HttpGetProtocolImporter.cs
- Converter.cs
- AsnEncodedData.cs
- HttpListenerPrefixCollection.cs
- InkPresenterAutomationPeer.cs
- EntityViewContainer.cs
- DataGridViewCell.cs
- TransactionManager.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- HttpPostedFile.cs