Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / CopyNamespacesAction.cs / 1305376 / 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
- ListViewDeletedEventArgs.cs
- InvokeBinder.cs
- DatasetMethodGenerator.cs
- Size.cs
- PointIndependentAnimationStorage.cs
- IsolationInterop.cs
- MessageEncoderFactory.cs
- SqlDelegatedTransaction.cs
- RadioButtonPopupAdapter.cs
- DataGridViewCell.cs
- DefaultPropertiesToSend.cs
- CodeAttributeDeclarationCollection.cs
- TimeZone.cs
- RootBrowserWindowProxy.cs
- FieldBuilder.cs
- HtmlInputFile.cs
- sqlpipe.cs
- CodeConditionStatement.cs
- DataGridViewSelectedColumnCollection.cs
- TextAutomationPeer.cs
- SqlConnectionFactory.cs
- OperationResponse.cs
- PublisherMembershipCondition.cs
- DataRecord.cs
- ExpressionNormalizer.cs
- Cursor.cs
- WindowAutomationPeer.cs
- PropertyConverter.cs
- HuffmanTree.cs
- Operator.cs
- _WebProxyDataBuilder.cs
- CodeDirectiveCollection.cs
- CrossAppDomainChannel.cs
- HandlerBase.cs
- StatusBarItemAutomationPeer.cs
- WorkflowControlClient.cs
- CurrencyManager.cs
- TypeListConverter.cs
- PageOrientation.cs
- InvalidCommandTreeException.cs
- SemanticValue.cs
- TimeoutHelper.cs
- OrElse.cs
- wgx_exports.cs
- TagPrefixInfo.cs
- GCHandleCookieTable.cs
- QueryGeneratorBase.cs
- BamlTreeUpdater.cs
- FileSecurity.cs
- StringKeyFrameCollection.cs
- AssemblyUtil.cs
- BindingExpressionUncommonField.cs
- DataGridViewBand.cs
- WebPartMinimizeVerb.cs
- XmlSiteMapProvider.cs
- HttpConfigurationSystem.cs
- AccessedThroughPropertyAttribute.cs
- ScriptManager.cs
- ResourceWriter.cs
- MulticastDelegate.cs
- RemoteWebConfigurationHost.cs
- Nullable.cs
- UnknownBitmapEncoder.cs
- ValidationPropertyAttribute.cs
- ViewBase.cs
- HttpWriter.cs
- NotCondition.cs
- SessionEndedEventArgs.cs
- CngKeyCreationParameters.cs
- StylusSystemGestureEventArgs.cs
- DocumentApplicationJournalEntry.cs
- HttpUnhandledOperationInvoker.cs
- AliasGenerator.cs
- RandomDelayQueuedSendsAsyncResult.cs
- EtwTrace.cs
- EventBuilder.cs
- TraceInternal.cs
- PartEditor.cs
- UIElement3D.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- InkCanvasSelectionAdorner.cs
- DataGridRowEventArgs.cs
- InvalidProgramException.cs
- IISMapPath.cs
- ProjectionPathSegment.cs
- srgsitem.cs
- TextServicesManager.cs
- ListBoxItemAutomationPeer.cs
- Rules.cs
- AssemblyNameProxy.cs
- PackageDigitalSignatureManager.cs
- ReferenceEqualityComparer.cs
- TablePattern.cs
- HealthMonitoringSection.cs
- ApplicationSecurityManager.cs
- future.cs
- TreeBuilder.cs
- ConcurrentDictionary.cs
- ExpandCollapseProviderWrapper.cs
- EntityContainerAssociationSet.cs