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 / ChooseAction.cs / 1 / ChooseAction.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 ChooseAction : ContainerAction { internal override void Compile(Compiler compiler) { CompileAttributes(compiler); if (compiler.Recurse()) { CompileConditions(compiler); compiler.ToParent(); } } private void CompileConditions(Compiler compiler) { NavigatorInput input = compiler.Input; bool when = false; bool otherwise = false; do { switch (input.NodeType) { case XPathNodeType.Element: compiler.PushNamespaceScope(); string nspace = input.NamespaceURI; string name = input.LocalName; if (Keywords.Equals(nspace, input.Atoms.XsltNamespace)) { IfAction action = null; if (Keywords.Equals(name, input.Atoms.When)) { if (otherwise) { throw XsltException.Create(Res.Xslt_WhenAfterOtherwise); } action = compiler.CreateIfAction(IfAction.ConditionType.ConditionWhen); when = true; } else if (Keywords.Equals(name, input.Atoms.Otherwise)) { if (otherwise) { throw XsltException.Create(Res.Xslt_DupOtherwise); } action = compiler.CreateIfAction(IfAction.ConditionType.ConditionOtherwise); otherwise = true; } else { throw compiler.UnexpectedKeyword(); } AddAction(action); } else { throw compiler.UnexpectedKeyword(); } compiler.PopScope(); break; case XPathNodeType.Comment: case XPathNodeType.ProcessingInstruction: case XPathNodeType.Whitespace: case XPathNodeType.SignificantWhitespace: break; default: throw XsltException.Create(Res.Xslt_InvalidContents, Keywords.s_Choose); } } while (compiler.Advance()); if (! when) { throw XsltException.Create(Res.Xslt_NoWhen); } } } } // 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 ChooseAction : ContainerAction { internal override void Compile(Compiler compiler) { CompileAttributes(compiler); if (compiler.Recurse()) { CompileConditions(compiler); compiler.ToParent(); } } private void CompileConditions(Compiler compiler) { NavigatorInput input = compiler.Input; bool when = false; bool otherwise = false; do { switch (input.NodeType) { case XPathNodeType.Element: compiler.PushNamespaceScope(); string nspace = input.NamespaceURI; string name = input.LocalName; if (Keywords.Equals(nspace, input.Atoms.XsltNamespace)) { IfAction action = null; if (Keywords.Equals(name, input.Atoms.When)) { if (otherwise) { throw XsltException.Create(Res.Xslt_WhenAfterOtherwise); } action = compiler.CreateIfAction(IfAction.ConditionType.ConditionWhen); when = true; } else if (Keywords.Equals(name, input.Atoms.Otherwise)) { if (otherwise) { throw XsltException.Create(Res.Xslt_DupOtherwise); } action = compiler.CreateIfAction(IfAction.ConditionType.ConditionOtherwise); otherwise = true; } else { throw compiler.UnexpectedKeyword(); } AddAction(action); } else { throw compiler.UnexpectedKeyword(); } compiler.PopScope(); break; case XPathNodeType.Comment: case XPathNodeType.ProcessingInstruction: case XPathNodeType.Whitespace: case XPathNodeType.SignificantWhitespace: break; default: throw XsltException.Create(Res.Xslt_InvalidContents, Keywords.s_Choose); } } while (compiler.Advance()); if (! when) { throw XsltException.Create(Res.Xslt_NoWhen); } } } } // 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
- ListViewContainer.cs
- XmlStreamStore.cs
- Timeline.cs
- UnknownMessageReceivedEventArgs.cs
- ControllableStoryboardAction.cs
- JsonDataContract.cs
- PropertyValueUIItem.cs
- PrePostDescendentsWalker.cs
- SubMenuStyle.cs
- ObjectQueryExecutionPlan.cs
- CheckBox.cs
- SqlDataReader.cs
- SafeRsaProviderHandle.cs
- TreeSet.cs
- MarkupCompilePass1.cs
- HtmlSelect.cs
- ToolStripContainerDesigner.cs
- ReliableChannelListener.cs
- PropertyEmitterBase.cs
- GroupQuery.cs
- QuestionEventArgs.cs
- ZoneMembershipCondition.cs
- FixedDocumentPaginator.cs
- Assembly.cs
- ToolTipService.cs
- dsa.cs
- RemotingHelper.cs
- HttpCacheVaryByContentEncodings.cs
- UnmanagedMarshal.cs
- FocusChangedEventArgs.cs
- KeyBinding.cs
- baseaxisquery.cs
- PageSettings.cs
- CommentEmitter.cs
- StateRuntime.cs
- ManifestSignedXml.cs
- Util.cs
- ApplicationTrust.cs
- PhysicalAddress.cs
- HwndSubclass.cs
- DSACryptoServiceProvider.cs
- DataSourceDesigner.cs
- ShortcutKeysEditor.cs
- ParameterModifier.cs
- FormsAuthenticationCredentials.cs
- ImageBrush.cs
- ViewLoader.cs
- ScopedKnownTypes.cs
- ExpanderAutomationPeer.cs
- XmlNavigatorFilter.cs
- mansign.cs
- ParameterInfo.cs
- CollectionChangeEventArgs.cs
- SID.cs
- FrameworkElement.cs
- SamlAuthorizationDecisionStatement.cs
- TransactionScope.cs
- QueuePathEditor.cs
- GeometryCollection.cs
- Literal.cs
- SqlDataSourceSelectingEventArgs.cs
- StringArrayConverter.cs
- _ContextAwareResult.cs
- DataObjectCopyingEventArgs.cs
- OracleNumber.cs
- ReplacementText.cs
- RegisteredArrayDeclaration.cs
- DataGridViewColumnEventArgs.cs
- StaticFileHandler.cs
- AndCondition.cs
- DataGridItemAutomationPeer.cs
- MetadataPropertyvalue.cs
- CardSpacePolicyElement.cs
- ConstraintCollection.cs
- ProtocolElement.cs
- WSFederationHttpBindingCollectionElement.cs
- DataGridViewColumnStateChangedEventArgs.cs
- SmtpTransport.cs
- SplineKeyFrames.cs
- InputQueueChannelAcceptor.cs
- BufferedWebEventProvider.cs
- SyncMethodInvoker.cs
- MouseButton.cs
- DefaultBindingPropertyAttribute.cs
- OleDbCommandBuilder.cs
- ExcludeFromCodeCoverageAttribute.cs
- SqlDataSourceSelectingEventArgs.cs
- RedistVersionInfo.cs
- AsyncCodeActivityContext.cs
- DataObjectFieldAttribute.cs
- ExceptionCollection.cs
- HandlerBase.cs
- SessionParameter.cs
- AdRotatorDesigner.cs
- PrintPageEvent.cs
- CodeDirectiveCollection.cs
- HttpRequest.cs
- FactoryId.cs
- CommandValueSerializer.cs
- HtmlValidationSummaryAdapter.cs