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
- PingReply.cs
- BaseCollection.cs
- DbReferenceCollection.cs
- CheckBox.cs
- SByte.cs
- EncoderParameter.cs
- CallbackTimeoutsElement.cs
- BitmapCacheBrush.cs
- HtmlToClrEventProxy.cs
- MethodExecutor.cs
- BinaryNode.cs
- TextEmbeddedObject.cs
- ImportCatalogPart.cs
- DefaultExpressionVisitor.cs
- ByteRangeDownloader.cs
- EventLogPermissionAttribute.cs
- FlatButtonAppearance.cs
- RegionData.cs
- XomlCompilerResults.cs
- ReadOnlyCollectionBase.cs
- MultiView.cs
- RemoteCryptoRsaServiceProvider.cs
- MethodExpr.cs
- SecurityUtils.cs
- Encoding.cs
- PageEventArgs.cs
- OleTxTransaction.cs
- SubMenuStyleCollection.cs
- KeyEvent.cs
- DesignerLoader.cs
- ShapingWorkspace.cs
- ArgIterator.cs
- ToolStripGrip.cs
- KnownBoxes.cs
- PathTooLongException.cs
- IDictionary.cs
- WeakHashtable.cs
- EnumCodeDomSerializer.cs
- ExternalCalls.cs
- RTLAwareMessageBox.cs
- ReachPageContentSerializer.cs
- InvalidPrinterException.cs
- Attributes.cs
- PopupControlService.cs
- XmlSerializationWriter.cs
- ConnectionStringsExpressionEditor.cs
- TempEnvironment.cs
- EmptyEnumerator.cs
- SystemIcmpV6Statistics.cs
- DeferredTextReference.cs
- XamlValidatingReader.cs
- BamlBinaryWriter.cs
- SelectionPattern.cs
- NameSpaceEvent.cs
- CommandHelper.cs
- TreeViewDesigner.cs
- TemplateParser.cs
- UnionCodeGroup.cs
- ProgressBar.cs
- _DisconnectOverlappedAsyncResult.cs
- HexParser.cs
- CustomErrorsSection.cs
- SynchronizationValidator.cs
- SchemaInfo.cs
- ScrollChrome.cs
- ArgumentValidation.cs
- Stream.cs
- TranslateTransform3D.cs
- RowUpdatedEventArgs.cs
- CompareInfo.cs
- CodeNamespaceImportCollection.cs
- FileDataSourceCache.cs
- DatagridviewDisplayedBandsData.cs
- HashSetEqualityComparer.cs
- XmlCompatibilityReader.cs
- NGCUIElementCollectionSerializerAsync.cs
- OleStrCAMarshaler.cs
- XmlSchemaRedefine.cs
- SchemaElementLookUpTableEnumerator.cs
- infer.cs
- TypeToken.cs
- DataTableReader.cs
- HttpRuntime.cs
- ObjectDataSource.cs
- Transform3D.cs
- RequestQueue.cs
- CryptoHelper.cs
- CssTextWriter.cs
- SafeHandles.cs
- DbConnectionPool.cs
- Parser.cs
- FontCacheLogic.cs
- TranslateTransform3D.cs
- ExtensionQuery.cs
- Tuple.cs
- ComplexTypeEmitter.cs
- WsdlImporterElement.cs
- DecoderFallbackWithFailureFlag.cs
- BasicCellRelation.cs
- StylusPointProperties.cs