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
- Page.cs
- RuleAttributes.cs
- TextBoxLine.cs
- HtmlTextViewAdapter.cs
- WebPartsPersonalizationAuthorization.cs
- SqlUnionizer.cs
- PropertyGridView.cs
- MasterPageCodeDomTreeGenerator.cs
- ByValueEqualityComparer.cs
- AutoCompleteStringCollection.cs
- ObjectIDGenerator.cs
- FormViewDeletedEventArgs.cs
- DockingAttribute.cs
- ObjectDisposedException.cs
- SwitchLevelAttribute.cs
- MinimizableAttributeTypeConverter.cs
- WeakReference.cs
- Highlights.cs
- DbConnectionClosed.cs
- DetailsViewRowCollection.cs
- TextRange.cs
- EntityDataSourceMemberPath.cs
- FileAuthorizationModule.cs
- DataSourceSelectArguments.cs
- RuntimeConfigLKG.cs
- basevalidator.cs
- ExpressionDumper.cs
- ExecutionContext.cs
- ObjectParameter.cs
- CharacterHit.cs
- SqlNamer.cs
- FragmentQueryKB.cs
- DefinitionBase.cs
- LinqDataSourceSelectEventArgs.cs
- TextServicesHost.cs
- Timer.cs
- StylusDownEventArgs.cs
- ContainerParagraph.cs
- XmlPreloadedResolver.cs
- RemotingAttributes.cs
- WpfXamlLoader.cs
- CapabilitiesPattern.cs
- TextElement.cs
- SQLDecimalStorage.cs
- ControlsConfig.cs
- HttpClientCertificate.cs
- AnnotationResourceChangedEventArgs.cs
- ReliabilityContractAttribute.cs
- TextContainerChangeEventArgs.cs
- FlowNode.cs
- CalendarDayButton.cs
- ColumnClickEvent.cs
- NameValueFileSectionHandler.cs
- MissingManifestResourceException.cs
- MaskInputRejectedEventArgs.cs
- sqlstateclientmanager.cs
- Helpers.cs
- LogEntryUtils.cs
- XmlReturnWriter.cs
- AdvancedBindingPropertyDescriptor.cs
- LateBoundChannelParameterCollection.cs
- ColorKeyFrameCollection.cs
- SqlOuterApplyReducer.cs
- Mapping.cs
- MatrixTransform.cs
- MaskInputRejectedEventArgs.cs
- TableRowsCollectionEditor.cs
- ChoiceConverter.cs
- MissingSatelliteAssemblyException.cs
- FileClassifier.cs
- DecimalFormatter.cs
- DbException.cs
- FixedTextSelectionProcessor.cs
- AdornerHitTestResult.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- EntityStoreSchemaGenerator.cs
- GeometryModel3D.cs
- SqlDependencyUtils.cs
- BaseHashHelper.cs
- TreeNodeCollection.cs
- HealthMonitoringSectionHelper.cs
- RoleManagerModule.cs
- LookupNode.cs
- Translator.cs
- HttpDictionary.cs
- SqlGenericUtil.cs
- SpotLight.cs
- QilPatternFactory.cs
- Tablet.cs
- XamlInt32CollectionSerializer.cs
- BamlRecordWriter.cs
- XmlILOptimizerVisitor.cs
- ChangesetResponse.cs
- ModifierKeysConverter.cs
- EdgeProfileValidation.cs
- RouteItem.cs
- RSAPKCS1SignatureDeformatter.cs
- DefaultHttpHandler.cs
- ReachDocumentReferenceCollectionSerializer.cs
- Root.cs