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
- X509SecurityToken.cs
- DesignerActionPanel.cs
- EncodingTable.cs
- Label.cs
- FileDetails.cs
- GPPOINTF.cs
- FixedTextSelectionProcessor.cs
- FamilyMap.cs
- QueueSurrogate.cs
- BitConverter.cs
- DrawListViewColumnHeaderEventArgs.cs
- UIElementAutomationPeer.cs
- TableChangeProcessor.cs
- DataGridViewElement.cs
- ListViewItemEventArgs.cs
- smtppermission.cs
- ConnectionManagementElementCollection.cs
- TemplateInstanceAttribute.cs
- ErrorsHelper.cs
- EntityDataSourceWrapper.cs
- DataGridViewImageCell.cs
- ControlCollection.cs
- InputBinding.cs
- OracleParameter.cs
- DateTimeValueSerializer.cs
- EncryptedReference.cs
- SoapInteropTypes.cs
- SqlBuilder.cs
- SymLanguageType.cs
- DataStreams.cs
- XmlDataLoader.cs
- ListBindableAttribute.cs
- StringExpressionSet.cs
- XslNumber.cs
- DataBoundControlHelper.cs
- formatter.cs
- InternalEnumValidator.cs
- GPStream.cs
- ParamArrayAttribute.cs
- ManagedIStream.cs
- FixedSOMLineCollection.cs
- SQLBytesStorage.cs
- HtmlTable.cs
- UpdateTracker.cs
- BindingValueChangedEventArgs.cs
- XmlSerializationReader.cs
- HWStack.cs
- AppendHelper.cs
- DataRowCollection.cs
- ProcessMonitor.cs
- PropertyEmitter.cs
- SafeHandles.cs
- XmlArrayItemAttribute.cs
- Native.cs
- TemplateControl.cs
- WindowAutomationPeer.cs
- MasterPageBuildProvider.cs
- XmlEventCache.cs
- ContextStaticAttribute.cs
- DrawingAttributeSerializer.cs
- HttpProxyTransportBindingElement.cs
- SmtpAuthenticationManager.cs
- XmlSchemaGroup.cs
- DataControlFieldCell.cs
- ClientSettingsStore.cs
- SynchronousReceiveElement.cs
- EntityDataSourceDesigner.cs
- NameScopePropertyAttribute.cs
- XamlTypeMapper.cs
- UnescapedXmlDiagnosticData.cs
- IPHostEntry.cs
- TreeNodeStyle.cs
- CellIdBoolean.cs
- DesignerSerializationVisibilityAttribute.cs
- RolePrincipal.cs
- CompilerInfo.cs
- VarInfo.cs
- EDesignUtil.cs
- ActivityBindForm.cs
- DataIdProcessor.cs
- ListViewContainer.cs
- ZipIOFileItemStream.cs
- SessionParameter.cs
- ActivityExecutorDelegateInfo.cs
- SharedUtils.cs
- UriTemplateMatchException.cs
- CodeDirectionExpression.cs
- DetailsViewCommandEventArgs.cs
- WebBaseEventKeyComparer.cs
- UInt64Converter.cs
- BinarySerializer.cs
- ListItemCollection.cs
- NamedPipeChannelFactory.cs
- DateTimeUtil.cs
- TextBounds.cs
- WpfWebRequestHelper.cs
- StylusPointPropertyInfoDefaults.cs
- DbConnectionOptions.cs
- TextRange.cs
- CurrentChangedEventManager.cs