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
- ImageConverter.cs
- VirtualizingPanel.cs
- LayoutUtils.cs
- IisTraceWebEventProvider.cs
- Events.cs
- HttpClientCertificate.cs
- ValidationError.cs
- AmbientLight.cs
- DeclarativeCatalogPart.cs
- DrawingContextWalker.cs
- ModuleBuilder.cs
- SafeLibraryHandle.cs
- TextRangeAdaptor.cs
- HostedAspNetEnvironment.cs
- OpenTypeLayoutCache.cs
- CategoryAttribute.cs
- WebSysDescriptionAttribute.cs
- Duration.cs
- TemplateControlCodeDomTreeGenerator.cs
- basecomparevalidator.cs
- recordstatescratchpad.cs
- XmlTypeMapping.cs
- StylusPoint.cs
- Converter.cs
- ReadOnlyAttribute.cs
- StatusBar.cs
- HtmlFormWrapper.cs
- QilCloneVisitor.cs
- DrawingAttributes.cs
- HostProtectionPermission.cs
- WebBrowser.cs
- NavigationWindowAutomationPeer.cs
- SecureUICommand.cs
- SqlMultiplexer.cs
- VariableBinder.cs
- WindowsHyperlink.cs
- ParameterRetriever.cs
- storepermission.cs
- AccessDataSource.cs
- Localizer.cs
- ApplicationFileParser.cs
- DataList.cs
- FontNamesConverter.cs
- GC.cs
- JsonStringDataContract.cs
- XmlNamespaceMappingCollection.cs
- ColumnBinding.cs
- DataSourceControl.cs
- PersonalizationStateInfo.cs
- FileVersionInfo.cs
- FormCollection.cs
- RuntimeConfigLKG.cs
- IconHelper.cs
- Signature.cs
- SQLInt32Storage.cs
- PersianCalendar.cs
- StylusButton.cs
- BooleanKeyFrameCollection.cs
- ScrollBarRenderer.cs
- JournalEntryListConverter.cs
- TransformerInfo.cs
- ImmutableObjectAttribute.cs
- TreeNodeConverter.cs
- HttpCapabilitiesEvaluator.cs
- DSACryptoServiceProvider.cs
- PresentationUIStyleResources.cs
- KeyboardEventArgs.cs
- MemoryRecordBuffer.cs
- ListControlDataBindingHandler.cs
- OAVariantLib.cs
- NativeWindow.cs
- ExtractCollection.cs
- GeneralTransform3DTo2DTo3D.cs
- AdapterDictionary.cs
- ToolStrip.cs
- TextViewBase.cs
- InheritanceContextChangedEventManager.cs
- RuntimeResourceSet.cs
- shaper.cs
- WrappedKeySecurityToken.cs
- SystemResourceKey.cs
- AsymmetricSignatureFormatter.cs
- MD5Cng.cs
- WindowsUpDown.cs
- TransformDescriptor.cs
- MembershipPasswordException.cs
- CustomSignedXml.cs
- EpmCustomContentDeSerializer.cs
- XmlSchemaSimpleTypeUnion.cs
- BuildManager.cs
- ProbeMatchesCD1.cs
- StructuredTypeEmitter.cs
- TaskHelper.cs
- ToggleProviderWrapper.cs
- RenamedEventArgs.cs
- IPAddress.cs
- StrokeNode.cs
- AngleUtil.cs
- StylusCaptureWithinProperty.cs
- ReachFixedPageSerializer.cs