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
- Compilation.cs
- ProgressBar.cs
- MatrixTransform3D.cs
- WmpBitmapDecoder.cs
- OverflowException.cs
- XamlBrushSerializer.cs
- ConnectionInterfaceCollection.cs
- SID.cs
- XhtmlBasicValidationSummaryAdapter.cs
- XamlDebuggerXmlReader.cs
- panel.cs
- GroupItemAutomationPeer.cs
- ProviderBase.cs
- XmlSignatureManifest.cs
- SolidBrush.cs
- RenderingBiasValidation.cs
- NavigationPropertyEmitter.cs
- MemberJoinTreeNode.cs
- GB18030Encoding.cs
- Vector3DIndependentAnimationStorage.cs
- SimpleExpression.cs
- BitmapEffectInputData.cs
- linebase.cs
- FrameworkTextComposition.cs
- CodeChecksumPragma.cs
- CacheHelper.cs
- SecurityManager.cs
- RenderDataDrawingContext.cs
- KeyToListMap.cs
- GenerateScriptTypeAttribute.cs
- AutomationEventArgs.cs
- DataListCommandEventArgs.cs
- ProxyGenerator.cs
- FragmentQueryProcessor.cs
- ValidationService.cs
- Typography.cs
- CounterCreationDataCollection.cs
- ThreadAbortException.cs
- Rules.cs
- TargetParameterCountException.cs
- UIElementAutomationPeer.cs
- WebZoneDesigner.cs
- ObjectListSelectEventArgs.cs
- ToolStripComboBox.cs
- DataRow.cs
- CallId.cs
- AssemblyCache.cs
- PathFigureCollection.cs
- Internal.cs
- ProfilePropertyMetadata.cs
- TimeEnumHelper.cs
- Simplifier.cs
- QueryCacheKey.cs
- SwitchLevelAttribute.cs
- ColorIndependentAnimationStorage.cs
- WinEventWrap.cs
- UnsafeNativeMethods.cs
- HtmlListAdapter.cs
- XhtmlBasicLabelAdapter.cs
- AppliedDeviceFiltersDialog.cs
- ScrollChrome.cs
- PackageRelationshipSelector.cs
- WindowsTreeView.cs
- AttachmentCollection.cs
- Rect.cs
- TokenBasedSetEnumerator.cs
- Clipboard.cs
- ProfilePropertyNameValidator.cs
- TemplateManager.cs
- ChannelManager.cs
- SafePointer.cs
- ApplicationSecurityManager.cs
- WebConfigurationHost.cs
- SafeRightsManagementHandle.cs
- Serializer.cs
- RawMouseInputReport.cs
- ClientApiGenerator.cs
- AnimatedTypeHelpers.cs
- WebFormDesignerActionService.cs
- ErrorsHelper.cs
- HashHelper.cs
- DesignerView.xaml.cs
- EventManager.cs
- TransformerInfoCollection.cs
- BrowserTree.cs
- Suspend.cs
- TextProperties.cs
- RuntimeArgumentHandle.cs
- WinEventTracker.cs
- Matrix3DConverter.cs
- UniqueIdentifierService.cs
- StorageScalarPropertyMapping.cs
- ModifierKeysConverter.cs
- SingleConverter.cs
- UIAgentAsyncParams.cs
- MarginsConverter.cs
- cache.cs
- BindingList.cs
- BindingNavigatorDesigner.cs
- MenuItemStyleCollection.cs