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
- ListBindableAttribute.cs
- ControlCollection.cs
- SiteMapDataSourceView.cs
- Compress.cs
- GenericUriParser.cs
- KeyValueSerializer.cs
- DataMemberFieldConverter.cs
- InvalidPropValue.cs
- TreeView.cs
- GestureRecognizer.cs
- DataGridViewCellCollection.cs
- XmlAggregates.cs
- SimplePropertyEntry.cs
- ParseNumbers.cs
- ComNativeDescriptor.cs
- ButtonDesigner.cs
- Int64Animation.cs
- ClonableStack.cs
- CaseExpr.cs
- ContentOperations.cs
- EncryptedData.cs
- Positioning.cs
- XmlAtomicValue.cs
- UnknownWrapper.cs
- XmlRawWriter.cs
- SymbolEqualComparer.cs
- StrokeNode.cs
- DropShadowEffect.cs
- InitializationEventAttribute.cs
- FloaterParaClient.cs
- Calendar.cs
- ElapsedEventArgs.cs
- ExpressionDumper.cs
- CodeRemoveEventStatement.cs
- MimeObjectFactory.cs
- WebEventTraceProvider.cs
- HashAlgorithm.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- UriParserTemplates.cs
- TextViewBase.cs
- ZoneIdentityPermission.cs
- DetailsViewInsertedEventArgs.cs
- CompilationPass2Task.cs
- SkipQueryOptionExpression.cs
- ExpandSegmentCollection.cs
- WebProxyScriptElement.cs
- XmlDataFileEditor.cs
- DataTablePropertyDescriptor.cs
- GraphicsContext.cs
- WindowsTreeView.cs
- SerializableAttribute.cs
- KnownIds.cs
- DocumentPage.cs
- VectorValueSerializer.cs
- InvalidContentTypeException.cs
- ConnectionManagementElementCollection.cs
- AsymmetricKeyExchangeDeformatter.cs
- CustomAssemblyResolver.cs
- XsdDataContractImporter.cs
- WebRequestModulesSection.cs
- Lease.cs
- ObjectStateEntry.cs
- FrameworkElementFactory.cs
- Utils.cs
- Matrix.cs
- QueryParameter.cs
- Opcode.cs
- DropDownList.cs
- NegotiationTokenAuthenticatorStateCache.cs
- ImmutablePropertyDescriptorGridEntry.cs
- DivideByZeroException.cs
- DateTimeFormatInfoScanner.cs
- TextRangeEditLists.cs
- Nodes.cs
- SqlDuplicator.cs
- UniqueIdentifierService.cs
- C14NUtil.cs
- InputLanguage.cs
- DbParameterHelper.cs
- DataBinder.cs
- EventLog.cs
- MediaElement.cs
- HtmlInputSubmit.cs
- ConnectionOrientedTransportElement.cs
- MultiAsyncResult.cs
- SchemaInfo.cs
- QualifierSet.cs
- CachedFontFace.cs
- CompilerInfo.cs
- sortedlist.cs
- ModuleBuilderData.cs
- HtmlShim.cs
- ReaderContextStackData.cs
- ParseChildrenAsPropertiesAttribute.cs
- DataGridViewDataConnection.cs
- TextDecorationCollection.cs
- PasswordTextNavigator.cs
- DbgUtil.cs
- HttpModuleCollection.cs
- util.cs