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
- AttachmentService.cs
- tooltip.cs
- InertiaExpansionBehavior.cs
- DBSchemaTable.cs
- ToolStripDropDown.cs
- DictionaryContent.cs
- CodePropertyReferenceExpression.cs
- Model3DGroup.cs
- MatcherBuilder.cs
- QueueProcessor.cs
- StateWorkerRequest.cs
- Repeater.cs
- XamlValidatingReader.cs
- TextDecorationCollection.cs
- ToolboxItem.cs
- WindowsSolidBrush.cs
- HttpInputStream.cs
- BooleanToVisibilityConverter.cs
- GridViewRowPresenterBase.cs
- DmlSqlGenerator.cs
- SynthesizerStateChangedEventArgs.cs
- TextFormatter.cs
- hwndwrapper.cs
- MsmqProcessProtocolHandler.cs
- TextEditorSelection.cs
- GridItemProviderWrapper.cs
- MethodBuilder.cs
- WmlLabelAdapter.cs
- Misc.cs
- MostlySingletonList.cs
- SchemaTypeEmitter.cs
- StrongNameHelpers.cs
- WebGetAttribute.cs
- ConstantCheck.cs
- FormCollection.cs
- TCPClient.cs
- OperationDescriptionCollection.cs
- BuildManager.cs
- HistoryEventArgs.cs
- DataObjectMethodAttribute.cs
- AmbientLight.cs
- EntityConnection.cs
- Mapping.cs
- DependencyProperty.cs
- EmbeddedMailObject.cs
- XmlChildEnumerator.cs
- AutomationEventArgs.cs
- ModifiableIteratorCollection.cs
- InputBuffer.cs
- FixedBufferAttribute.cs
- PageStatePersister.cs
- HttpServerVarsCollection.cs
- TextPenaltyModule.cs
- ValidateNames.cs
- Crc32.cs
- MergePropertyDescriptor.cs
- HtmlInputFile.cs
- DataGridTablesFactory.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- Rotation3D.cs
- RefreshEventArgs.cs
- InvariantComparer.cs
- StylusEventArgs.cs
- ExtensionQuery.cs
- PropertyChangedEventArgs.cs
- RowToFieldTransformer.cs
- DisplayMemberTemplateSelector.cs
- SQLDateTime.cs
- ShutDownListener.cs
- LinkDesigner.cs
- SchemaTableColumn.cs
- IconEditor.cs
- TextParagraphCache.cs
- ImportedNamespaceContextItem.cs
- Decorator.cs
- Misc.cs
- Path.cs
- CompilationPass2TaskInternal.cs
- ConstraintCollection.cs
- SessionParameter.cs
- CatalogPartChrome.cs
- ScaleTransform3D.cs
- RtfToXamlLexer.cs
- HtmlFormWrapper.cs
- XpsFilter.cs
- IDReferencePropertyAttribute.cs
- DESCryptoServiceProvider.cs
- AutomationPropertyInfo.cs
- DesignTimeParseData.cs
- AsyncPostBackErrorEventArgs.cs
- ListControl.cs
- DigitShape.cs
- HttpAsyncResult.cs
- HwndKeyboardInputProvider.cs
- DataGridViewToolTip.cs
- InheritanceContextHelper.cs
- FontFamilyIdentifier.cs
- PathSegmentCollection.cs
- SafeArrayTypeMismatchException.cs
- SqlDataSourceFilteringEventArgs.cs