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
- DataControlFieldCollection.cs
- AuthorizationRule.cs
- MimeMultiPart.cs
- CodeDomLocalizationProvider.cs
- TransformDescriptor.cs
- HelpInfo.cs
- UpdateEventArgs.cs
- PermissionSetEnumerator.cs
- SqlConnectionPoolGroupProviderInfo.cs
- CodeAttachEventStatement.cs
- BufferModesCollection.cs
- FragmentQueryKB.cs
- MobileCapabilities.cs
- SelectedPathEditor.cs
- MetadataPropertyCollection.cs
- ContractCodeDomInfo.cs
- AutomationEvent.cs
- LinkedResourceCollection.cs
- RoutedEventHandlerInfo.cs
- ViewLoader.cs
- DoubleLinkListEnumerator.cs
- RelatedImageListAttribute.cs
- WebPartTransformer.cs
- SortedList.cs
- SynthesizerStateChangedEventArgs.cs
- _ChunkParse.cs
- StreamHelper.cs
- LocatorManager.cs
- SmiContext.cs
- RSAOAEPKeyExchangeDeformatter.cs
- PolicyUtility.cs
- CodeDomComponentSerializationService.cs
- PathFigureCollection.cs
- DataBoundControlDesigner.cs
- WebDisplayNameAttribute.cs
- ArraySegment.cs
- XmlLinkedNode.cs
- StandardToolWindows.cs
- AutomationPatternInfo.cs
- TransformPattern.cs
- MultiSelectRootGridEntry.cs
- StackBuilderSink.cs
- Listen.cs
- BindingUtils.cs
- EntityContainerRelationshipSet.cs
- CmsUtils.cs
- Cursor.cs
- StylusPointPropertyId.cs
- TimeoutValidationAttribute.cs
- login.cs
- Mappings.cs
- EnvelopedPkcs7.cs
- NativeMethods.cs
- LongSumAggregationOperator.cs
- FamilyMap.cs
- SpecularMaterial.cs
- CodeSubDirectoriesCollection.cs
- ToolStripContainer.cs
- KeyTime.cs
- RemotingConfiguration.cs
- DrawingContext.cs
- ContextConfiguration.cs
- SystemFonts.cs
- AttachmentCollection.cs
- ICspAsymmetricAlgorithm.cs
- wmiprovider.cs
- InkCollectionBehavior.cs
- unitconverter.cs
- EntityParameter.cs
- ServiceNotStartedException.cs
- Ref.cs
- EmptyStringExpandableObjectConverter.cs
- TemplateBindingExpression.cs
- CompressStream.cs
- Image.cs
- AutoResetEvent.cs
- StopStoryboard.cs
- CqlBlock.cs
- CompilerTypeWithParams.cs
- WebPartDeleteVerb.cs
- TCEAdapterGenerator.cs
- PropertyMetadata.cs
- CodeSnippetTypeMember.cs
- CommandField.cs
- ReadingWritingEntityEventArgs.cs
- ToolStripMenuItem.cs
- UnaryExpressionHelper.cs
- PriorityQueue.cs
- ClosureBinding.cs
- DefaultParameterValueAttribute.cs
- AddIn.cs
- MostlySingletonList.cs
- HierarchicalDataBoundControlAdapter.cs
- XpsImage.cs
- RegexCharClass.cs
- Matrix3DValueSerializer.cs
- TextSelectionHighlightLayer.cs
- SessionState.cs
- HttpEncoderUtility.cs
- Set.cs