Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- DesignerPerfEventProvider.cs
- Hex.cs
- XmlHierarchicalDataSourceView.cs
- DataGrid.cs
- Publisher.cs
- WebServiceData.cs
- DynamicExpression.cs
- ContentElement.cs
- InstanceDataCollectionCollection.cs
- DetailsViewPageEventArgs.cs
- Selector.cs
- DynamicILGenerator.cs
- ResourceProviderFactory.cs
- XmlUtf8RawTextWriter.cs
- WindowsStatusBar.cs
- MappingModelBuildProvider.cs
- ChtmlImageAdapter.cs
- FixedPageStructure.cs
- ReadWriteSpinLock.cs
- BuilderPropertyEntry.cs
- EditBehavior.cs
- SqlNotificationEventArgs.cs
- NgenServicingAttributes.cs
- NamespaceMapping.cs
- QilFunction.cs
- SiteMapNode.cs
- ExtractorMetadata.cs
- RequestUriProcessor.cs
- OrderedDictionary.cs
- PerformanceCounterLib.cs
- BaseProcessor.cs
- UIInitializationException.cs
- DataBindEngine.cs
- LinqDataSourceHelper.cs
- Calendar.cs
- SlotInfo.cs
- BitStack.cs
- GPPOINTF.cs
- XmlStreamStore.cs
- SmiRequestExecutor.cs
- EntityDataSourceEntitySetNameItem.cs
- WindowsEditBoxRange.cs
- CriticalHandle.cs
- recordstatescratchpad.cs
- HtmlTableCellCollection.cs
- StateValidator.cs
- XmlWellformedWriterHelpers.cs
- DataGridViewCell.cs
- _ShellExpression.cs
- WorkflowMarkupSerializationException.cs
- LinqMaximalSubtreeNominator.cs
- SoapInteropTypes.cs
- RenamedEventArgs.cs
- ContainerSelectorGlyph.cs
- XmlSerializerNamespaces.cs
- HtmlSelect.cs
- CardSpaceSelector.cs
- ConfigurationStrings.cs
- StubHelpers.cs
- EmptyImpersonationContext.cs
- CopyOfAction.cs
- SendMailErrorEventArgs.cs
- PriorityQueue.cs
- Random.cs
- OuterProxyWrapper.cs
- PreloadHost.cs
- MemberDomainMap.cs
- MergePropertyDescriptor.cs
- SingletonInstanceContextProvider.cs
- SafeRegistryHandle.cs
- TemplateDefinition.cs
- MailMessage.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- TcpHostedTransportConfiguration.cs
- Image.cs
- DoubleLink.cs
- DependencySource.cs
- ImageListImage.cs
- Popup.cs
- Attribute.cs
- PropertyMap.cs
- TextBounds.cs
- XmlSchemaDatatype.cs
- WindowsToolbarItemAsMenuItem.cs
- SmtpLoginAuthenticationModule.cs
- ArgumentException.cs
- XmlnsDictionary.cs
- WindowsImpersonationContext.cs
- CodeArrayCreateExpression.cs
- TreeNodeStyle.cs
- SrgsDocument.cs
- COM2ComponentEditor.cs
- AspProxy.cs
- DesignerVerbToolStripMenuItem.cs
- StrongNameMembershipCondition.cs
- SchemaInfo.cs
- SystemResourceKey.cs
- WebChannelFactory.cs
- DoWorkEventArgs.cs
- ElementHostPropertyMap.cs