Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / CopyNamespacesAction.cs / 1 / CopyNamespacesAction.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 sealed class CopyNamespacesAction : Action { private const int BeginEvent = 2; private const int TextEvent = 3; private const int EndEvent = 4; private const int Advance = 5; private static CopyNamespacesAction s_Action = new CopyNamespacesAction(); internal static CopyNamespacesAction GetAction() { Debug.Assert(s_Action != null); return s_Action; } internal override void Execute(Processor processor, ActionFrame frame) { Debug.Assert(processor != null && frame != null); while (processor.CanContinue) { switch (frame.State) { case Initialized: if (frame.Node.MoveToFirstNamespace(XPathNamespaceScope.ExcludeXml) == false) { frame.Finished(); break; } frame.State = BeginEvent; goto case BeginEvent; case BeginEvent: Debug.Assert(frame.State == BeginEvent); Debug.Assert(frame.Node.NodeType == XPathNodeType.Namespace); if (processor.BeginEvent(XPathNodeType.Namespace, null, frame.Node.LocalName, frame.Node.Value, false) == false) { // This one wasn't output break; } frame.State = EndEvent; continue; case EndEvent: Debug.Assert(frame.State == EndEvent); Debug.Assert(frame.Node.NodeType == XPathNodeType.Namespace); if (processor.EndEvent(XPathNodeType.Namespace) == false) { // This one wasn't output break; } frame.State = Advance; continue; case Advance: Debug.Assert(frame.State == Advance); Debug.Assert(frame.Node.NodeType == XPathNodeType.Namespace); if (frame.Node.MoveToNextNamespace(XPathNamespaceScope.ExcludeXml)) { frame.State = BeginEvent; continue; } else { frame.Node.MoveToParent(); frame.Finished(); break; } } break; }// while } } } // 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 sealed class CopyNamespacesAction : Action { private const int BeginEvent = 2; private const int TextEvent = 3; private const int EndEvent = 4; private const int Advance = 5; private static CopyNamespacesAction s_Action = new CopyNamespacesAction(); internal static CopyNamespacesAction GetAction() { Debug.Assert(s_Action != null); return s_Action; } internal override void Execute(Processor processor, ActionFrame frame) { Debug.Assert(processor != null && frame != null); while (processor.CanContinue) { switch (frame.State) { case Initialized: if (frame.Node.MoveToFirstNamespace(XPathNamespaceScope.ExcludeXml) == false) { frame.Finished(); break; } frame.State = BeginEvent; goto case BeginEvent; case BeginEvent: Debug.Assert(frame.State == BeginEvent); Debug.Assert(frame.Node.NodeType == XPathNodeType.Namespace); if (processor.BeginEvent(XPathNodeType.Namespace, null, frame.Node.LocalName, frame.Node.Value, false) == false) { // This one wasn't output break; } frame.State = EndEvent; continue; case EndEvent: Debug.Assert(frame.State == EndEvent); Debug.Assert(frame.Node.NodeType == XPathNodeType.Namespace); if (processor.EndEvent(XPathNodeType.Namespace) == false) { // This one wasn't output break; } frame.State = Advance; continue; case Advance: Debug.Assert(frame.State == Advance); Debug.Assert(frame.Node.NodeType == XPathNodeType.Namespace); if (frame.Node.MoveToNextNamespace(XPathNamespaceScope.ExcludeXml)) { frame.State = BeginEvent; continue; } else { frame.Node.MoveToParent(); frame.Finished(); break; } } break; }// while } } } // 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
- ButtonFieldBase.cs
- OrderToken.cs
- NetNamedPipeBindingElement.cs
- ImageAttributes.cs
- BoundsDrawingContextWalker.cs
- CapiSymmetricAlgorithm.cs
- AsymmetricKeyExchangeDeformatter.cs
- BinHexEncoding.cs
- ApplicationSecurityManager.cs
- ExpressionBuilderCollection.cs
- ContentPosition.cs
- _UriSyntax.cs
- namescope.cs
- ActionItem.cs
- WindowsGraphics.cs
- Privilege.cs
- TypeInitializationException.cs
- UpdatePanelTrigger.cs
- XmlChildNodes.cs
- TimeZone.cs
- MissingMethodException.cs
- AnnotationDocumentPaginator.cs
- OutKeywords.cs
- EncodingInfo.cs
- MultiBindingExpression.cs
- HttpWriter.cs
- TranslateTransform.cs
- ReflectionHelper.cs
- X509Certificate2.cs
- DataGridSortCommandEventArgs.cs
- Quad.cs
- TextTreeUndo.cs
- UriScheme.cs
- WindowsStartMenu.cs
- ValidationEventArgs.cs
- XmlComment.cs
- TCPListener.cs
- RotateTransform.cs
- TableDetailsCollection.cs
- DefaultBinder.cs
- ProcessRequestAsyncResult.cs
- EmptyQuery.cs
- DesigntimeLicenseContextSerializer.cs
- DataGridViewComboBoxEditingControl.cs
- PerformanceCounterManager.cs
- WebHostUnsafeNativeMethods.cs
- PathSegment.cs
- ListItemCollection.cs
- linebase.cs
- StylusLogic.cs
- UnionExpr.cs
- basecomparevalidator.cs
- CommentEmitter.cs
- RegexNode.cs
- ComponentRenameEvent.cs
- DataSourceXmlSerializer.cs
- GenerateTemporaryTargetAssembly.cs
- MemoryRecordBuffer.cs
- ThrowHelper.cs
- ReadOnlyCollectionBase.cs
- SqlException.cs
- ToolboxDataAttribute.cs
- MappingItemCollection.cs
- ContextProperty.cs
- SqlCommandSet.cs
- FilterException.cs
- PtsCache.cs
- LineBreakRecord.cs
- CrossAppDomainChannel.cs
- RightsManagementUser.cs
- TextTreeExtractElementUndoUnit.cs
- ToolboxComponentsCreatedEventArgs.cs
- NonBatchDirectoryCompiler.cs
- WebPartZoneBase.cs
- LinkDescriptor.cs
- AdRotatorDesigner.cs
- ButtonRenderer.cs
- TextDocumentView.cs
- ConnectionOrientedTransportBindingElement.cs
- ExtensionFile.cs
- HScrollProperties.cs
- FlatButtonAppearance.cs
- XmlWrappingReader.cs
- StrongNameKeyPair.cs
- CollectionChangedEventManager.cs
- AutomationPropertyInfo.cs
- XmlTextEncoder.cs
- ReflectTypeDescriptionProvider.cs
- AlignmentYValidation.cs
- FragmentNavigationEventArgs.cs
- SmiEventSink.cs
- TimeoutException.cs
- TiffBitmapEncoder.cs
- ScrollProviderWrapper.cs
- SettingsPropertyValue.cs
- InputMethod.cs
- QueryContinueDragEvent.cs
- MetadataSource.cs
- MetadataArtifactLoader.cs
- CacheEntry.cs