Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / ValueOfAction.cs / 1 / ValueOfAction.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 class ValueOfAction : CompiledAction { private const int ResultStored = 2; private int selectKey = Compiler.InvalidQueryKey; private bool disableOutputEscaping; private static Action s_BuiltInRule = new BuiltInRuleTextAction(); internal static Action BuiltInRule() { Debug.Assert(s_BuiltInRule != null); return s_BuiltInRule; } internal override void Compile(Compiler compiler) { CompileAttributes(compiler); CheckRequiredAttribute(compiler, selectKey != Compiler.InvalidQueryKey, Keywords.s_Select); CheckEmpty(compiler); } internal override bool CompileAttribute(Compiler compiler) { string name = compiler.Input.LocalName; string value = compiler.Input.Value; if (Keywords.Equals(name, compiler.Atoms.Select)) { this.selectKey = compiler.AddQuery(value); } else if (Keywords.Equals(name, compiler.Atoms.DisableOutputEscaping)) { this.disableOutputEscaping = compiler.GetYesNo(value); } else { return false; } return true; } internal override void Execute(Processor processor, ActionFrame frame) { Debug.Assert(processor != null && frame != null); switch (frame.State) { case Initialized: Debug.Assert(frame != null); Debug.Assert(frame.NodeSet != null); string value = processor.ValueOf(frame, this.selectKey); if (processor.TextEvent(value, disableOutputEscaping)) { frame.Finished(); } else { frame.StoredOutput = value; frame.State = ResultStored; } break; case ResultStored: Debug.Assert(frame.StoredOutput != null); processor.TextEvent(frame.StoredOutput); frame.Finished(); break; default: Debug.Fail("Invalid ValueOfAction execution state"); break; } } } internal class BuiltInRuleTextAction : Action { private const int ResultStored = 2; internal override void Execute(Processor processor, ActionFrame frame) { Debug.Assert(processor != null && frame != null); switch (frame.State) { case Initialized: Debug.Assert(frame != null); Debug.Assert(frame.NodeSet != null); string value = processor.ValueOf(frame.NodeSet.Current); if (processor.TextEvent(value, /*disableOutputEscaping:*/false)) { frame.Finished(); } else { frame.StoredOutput = value; frame.State = ResultStored; } break; case ResultStored: Debug.Assert(frame.StoredOutput != null); processor.TextEvent(frame.StoredOutput); frame.Finished(); break; default: Debug.Fail("Invalid BuiltInRuleTextAction execution state"); break; } } } } // 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 class ValueOfAction : CompiledAction { private const int ResultStored = 2; private int selectKey = Compiler.InvalidQueryKey; private bool disableOutputEscaping; private static Action s_BuiltInRule = new BuiltInRuleTextAction(); internal static Action BuiltInRule() { Debug.Assert(s_BuiltInRule != null); return s_BuiltInRule; } internal override void Compile(Compiler compiler) { CompileAttributes(compiler); CheckRequiredAttribute(compiler, selectKey != Compiler.InvalidQueryKey, Keywords.s_Select); CheckEmpty(compiler); } internal override bool CompileAttribute(Compiler compiler) { string name = compiler.Input.LocalName; string value = compiler.Input.Value; if (Keywords.Equals(name, compiler.Atoms.Select)) { this.selectKey = compiler.AddQuery(value); } else if (Keywords.Equals(name, compiler.Atoms.DisableOutputEscaping)) { this.disableOutputEscaping = compiler.GetYesNo(value); } else { return false; } return true; } internal override void Execute(Processor processor, ActionFrame frame) { Debug.Assert(processor != null && frame != null); switch (frame.State) { case Initialized: Debug.Assert(frame != null); Debug.Assert(frame.NodeSet != null); string value = processor.ValueOf(frame, this.selectKey); if (processor.TextEvent(value, disableOutputEscaping)) { frame.Finished(); } else { frame.StoredOutput = value; frame.State = ResultStored; } break; case ResultStored: Debug.Assert(frame.StoredOutput != null); processor.TextEvent(frame.StoredOutput); frame.Finished(); break; default: Debug.Fail("Invalid ValueOfAction execution state"); break; } } } internal class BuiltInRuleTextAction : Action { private const int ResultStored = 2; internal override void Execute(Processor processor, ActionFrame frame) { Debug.Assert(processor != null && frame != null); switch (frame.State) { case Initialized: Debug.Assert(frame != null); Debug.Assert(frame.NodeSet != null); string value = processor.ValueOf(frame.NodeSet.Current); if (processor.TextEvent(value, /*disableOutputEscaping:*/false)) { frame.Finished(); } else { frame.StoredOutput = value; frame.State = ResultStored; } break; case ResultStored: Debug.Assert(frame.StoredOutput != null); processor.TextEvent(frame.StoredOutput); frame.Finished(); break; default: Debug.Fail("Invalid BuiltInRuleTextAction execution state"); break; } } } } // 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
- VectorCollection.cs
- URIFormatException.cs
- SmiContext.cs
- IntranetCredentialPolicy.cs
- ThrowHelper.cs
- Rijndael.cs
- Object.cs
- BaseTemplateCodeDomTreeGenerator.cs
- RoutedUICommand.cs
- HtmlTableCellCollection.cs
- ImageMap.cs
- ToolZone.cs
- _AutoWebProxyScriptHelper.cs
- RuntimeWrappedException.cs
- ReferencedCollectionType.cs
- UrlMapping.cs
- NativeMethods.cs
- Int16Storage.cs
- StreamGeometry.cs
- GraphicsContainer.cs
- WindowsRebar.cs
- XmlSchemaException.cs
- VisualTarget.cs
- BaseTemplateCodeDomTreeGenerator.cs
- Effect.cs
- ParameterCollection.cs
- TableColumn.cs
- SchemaTableOptionalColumn.cs
- ActivityBindForm.Designer.cs
- TextBoxRenderer.cs
- StorageComplexPropertyMapping.cs
- BrowserCapabilitiesCodeGenerator.cs
- PromptBuilder.cs
- ArrayElementGridEntry.cs
- CanExecuteRoutedEventArgs.cs
- ScriptRef.cs
- NameNode.cs
- TemplateColumn.cs
- SEHException.cs
- WindowsPen.cs
- SizeValueSerializer.cs
- SessionParameter.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- XmlQueryOutput.cs
- LayoutEditorPart.cs
- Pointer.cs
- ResourceDescriptionAttribute.cs
- DbConnectionFactory.cs
- StringTraceRecord.cs
- Splitter.cs
- DataGridViewCellLinkedList.cs
- TabPage.cs
- RuntimeHandles.cs
- OrderByQueryOptionExpression.cs
- RequestCacheEntry.cs
- ValidatedControlConverter.cs
- UInt32.cs
- SerializationSectionGroup.cs
- BindingSource.cs
- OracleNumber.cs
- AnimationLayer.cs
- HwndSubclass.cs
- TextElementEnumerator.cs
- LogEntryUtils.cs
- HttpListenerElement.cs
- DataGridLinkButton.cs
- ParameterCollection.cs
- WsiProfilesElement.cs
- Int16Animation.cs
- SvcMapFileSerializer.cs
- RoutedCommand.cs
- VisualBasicValue.cs
- DateTimeOffset.cs
- ActiveXMessageFormatter.cs
- ToolStripPanel.cs
- ValidationError.cs
- AxParameterData.cs
- EventMappingSettingsCollection.cs
- LiteralTextContainerControlBuilder.cs
- DataGridViewImageCell.cs
- cookiecollection.cs
- DiscoveryEndpoint.cs
- TextSelection.cs
- Timer.cs
- TypeUtils.cs
- DataDesignUtil.cs
- CompilerHelpers.cs
- HtmlInputRadioButton.cs
- HuffModule.cs
- MatrixAnimationBase.cs
- RewritingSimplifier.cs
- PassportAuthentication.cs
- HostSecurityManager.cs
- StylusTip.cs
- StringConverter.cs
- WebPartConnectionsConfigureVerb.cs
- ListView.cs
- IDReferencePropertyAttribute.cs
- Pool.cs
- DisplayMemberTemplateSelector.cs