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
- ApplicationProxyInternal.cs
- AccessibleObject.cs
- PrintPreviewDialog.cs
- NamespaceTable.cs
- XamlTypeMapperSchemaContext.cs
- DataTableClearEvent.cs
- SafeNativeMethods.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- SqlInternalConnection.cs
- TabletDeviceInfo.cs
- EntryPointNotFoundException.cs
- ContextBase.cs
- SourceElementsCollection.cs
- JsonSerializer.cs
- RequestCacheManager.cs
- ComplexPropertyEntry.cs
- IndexingContentUnit.cs
- HashAlgorithm.cs
- PreloadedPackages.cs
- EmptyReadOnlyDictionaryInternal.cs
- TrackingCondition.cs
- WizardPanel.cs
- XmlJsonWriter.cs
- BoolExpressionVisitors.cs
- TextControl.cs
- RepeaterCommandEventArgs.cs
- GetChildSubtree.cs
- ScrollPattern.cs
- RtfToXamlReader.cs
- InfoCardRSACryptoProvider.cs
- SimpleWebHandlerParser.cs
- ChtmlPageAdapter.cs
- EntitySet.cs
- SqlConnectionHelper.cs
- SqlFlattener.cs
- ListMarkerSourceInfo.cs
- DataGridViewCellConverter.cs
- WindowCollection.cs
- Roles.cs
- AesManaged.cs
- HTTPRemotingHandler.cs
- ImageButton.cs
- DecoderNLS.cs
- SoapIncludeAttribute.cs
- LogicalTreeHelper.cs
- Bidi.cs
- ScriptingWebServicesSectionGroup.cs
- Walker.cs
- RowUpdatingEventArgs.cs
- DeclarativeCatalogPart.cs
- BindingFormattingDialog.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- XmlMapping.cs
- FixedSOMTableCell.cs
- StorageComplexTypeMapping.cs
- DebugViewWriter.cs
- TextTreeRootNode.cs
- RegexBoyerMoore.cs
- AlignmentXValidation.cs
- QueryContinueDragEventArgs.cs
- SessionEndingCancelEventArgs.cs
- DelayedRegex.cs
- ErrorTableItemStyle.cs
- controlskin.cs
- ErrorStyle.cs
- DataTableMapping.cs
- HtmlPhoneCallAdapter.cs
- PeerNearMe.cs
- CodeAttributeArgumentCollection.cs
- RegistryDataKey.cs
- ReadOnlyCollectionBase.cs
- RelationalExpressions.cs
- IEnumerable.cs
- BrowserDefinition.cs
- AstTree.cs
- PropertyGridView.cs
- XmlHierarchyData.cs
- Base64Encoder.cs
- ManagementOptions.cs
- InvalidOleVariantTypeException.cs
- EditingMode.cs
- XsdCachingReader.cs
- TableCell.cs
- Rotation3DKeyFrameCollection.cs
- ToolStripItemCollection.cs
- SqlCommandAsyncResult.cs
- SRGSCompiler.cs
- XmlTypeAttribute.cs
- PropertyDescriptorComparer.cs
- AppSettingsSection.cs
- ThemeableAttribute.cs
- ParameterElement.cs
- EventNotify.cs
- SmtpDigestAuthenticationModule.cs
- CommentEmitter.cs
- DesignerFrame.cs
- MultipleViewPattern.cs
- DataObjectSettingDataEventArgs.cs
- Matrix3DValueSerializer.cs
- WebControlsSection.cs