Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- XPathAxisIterator.cs
- DragEvent.cs
- AdornerDecorator.cs
- TraceLevelStore.cs
- DataRowChangeEvent.cs
- CustomErrorsSection.cs
- WeakReadOnlyCollection.cs
- GPPOINT.cs
- SqlDataSourceCustomCommandEditor.cs
- ConstraintCollection.cs
- CursorConverter.cs
- Int32Rect.cs
- TextMetrics.cs
- ExpressionBuilderCollection.cs
- CollectionContainer.cs
- TableRow.cs
- BlockCollection.cs
- TextContainerChangeEventArgs.cs
- ShadowGlyph.cs
- HandlerFactoryWrapper.cs
- PersonalizationStateQuery.cs
- Int64Storage.cs
- HttpApplicationFactory.cs
- OrderByQueryOptionExpression.cs
- HuffCodec.cs
- EndOfStreamException.cs
- BufferedStream.cs
- MD5.cs
- NativeRecognizer.cs
- Latin1Encoding.cs
- ErrorWrapper.cs
- HttpCacheVary.cs
- DictionaryManager.cs
- TCPClient.cs
- LoadedEvent.cs
- CancelEventArgs.cs
- XmlSchemaSimpleContent.cs
- ListViewItemEventArgs.cs
- DbModificationClause.cs
- CapacityStreamGeometryContext.cs
- RtfControlWordInfo.cs
- ISCIIEncoding.cs
- ListViewUpdateEventArgs.cs
- XmlDataImplementation.cs
- DataList.cs
- WindowsContainer.cs
- WindowsBrush.cs
- ListBox.cs
- ComboBox.cs
- WarningException.cs
- CompilerState.cs
- InheritanceService.cs
- AssemblyCollection.cs
- SR.cs
- DecoderExceptionFallback.cs
- SQLBinary.cs
- BaseTemplateParser.cs
- CompiledIdentityConstraint.cs
- BitmapEffectCollection.cs
- HttpHandlerAction.cs
- IPGlobalProperties.cs
- SafeFileMapViewHandle.cs
- DataSourceListEditor.cs
- RequiredAttributeAttribute.cs
- Lasso.cs
- BindingExpression.cs
- DataGridViewTopRowAccessibleObject.cs
- XPathScanner.cs
- DirectionalLight.cs
- ValueCollectionParameterReader.cs
- UInt16Storage.cs
- XmlDsigSep2000.cs
- DesigntimeLicenseContextSerializer.cs
- BooleanFacetDescriptionElement.cs
- PenThreadWorker.cs
- SkewTransform.cs
- ExtractorMetadata.cs
- ToolStripTextBox.cs
- ApplicationServiceManager.cs
- AutoSizeComboBox.cs
- UICuesEvent.cs
- DocumentReferenceCollection.cs
- CodeTypeParameter.cs
- CodeRemoveEventStatement.cs
- DataMember.cs
- SessionPageStateSection.cs
- WebHttpSecurity.cs
- SizeAnimationUsingKeyFrames.cs
- WindowsTokenRoleProvider.cs
- HyperLink.cs
- ProxyWebPartManager.cs
- XmlParser.cs
- TypeTypeConverter.cs
- DecoderNLS.cs
- NoClickablePointException.cs
- FacetEnabledSchemaElement.cs
- CompiledIdentityConstraint.cs
- ServiceNameCollection.cs
- GridViewColumnHeader.cs
- Documentation.cs