Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / ChooseAction.cs / 1305376 / 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 (Ref.Equal(nspace, input.Atoms.UriXsl)) { IfAction action = null; if (Ref.Equal(name, input.Atoms.When)) { if (otherwise) { throw XsltException.Create(Res.Xslt_WhenAfterOtherwise); } action = compiler.CreateIfAction(IfAction.ConditionType.ConditionWhen); when = true; } else if (Ref.Equal(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, "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
- SqlDataAdapter.cs
- _ConnectionGroup.cs
- CallbackHandler.cs
- WorkflowQueue.cs
- ApplyTemplatesAction.cs
- ItemCollection.cs
- ExecutedRoutedEventArgs.cs
- InternalResources.cs
- ThemeableAttribute.cs
- DataGridViewUtilities.cs
- StaticDataManager.cs
- Root.cs
- EditorPartCollection.cs
- MsmqAppDomainProtocolHandler.cs
- Subset.cs
- x509utils.cs
- StringUtil.cs
- ProfileEventArgs.cs
- RepeaterItemEventArgs.cs
- BuildProvidersCompiler.cs
- TextFormatterHost.cs
- DoubleConverter.cs
- RTLAwareMessageBox.cs
- CommandEventArgs.cs
- IdentityReference.cs
- EventProperty.cs
- XamlRtfConverter.cs
- RenameRuleObjectDialog.Designer.cs
- Int32Storage.cs
- DataBoundControlHelper.cs
- OAVariantLib.cs
- PrintPreviewDialog.cs
- X509CertificateStore.cs
- XmlTypeMapping.cs
- MailFileEditor.cs
- DrawingVisualDrawingContext.cs
- ControlIdConverter.cs
- CancellationToken.cs
- TcpClientChannel.cs
- altserialization.cs
- Guid.cs
- InsufficientMemoryException.cs
- ActivationWorker.cs
- RepeatBehavior.cs
- DBSqlParserColumn.cs
- CheckBox.cs
- ProviderIncompatibleException.cs
- AdPostCacheSubstitution.cs
- MetadataImporterQuotas.cs
- SystemIPv6InterfaceProperties.cs
- XmlSerializableServices.cs
- DataGridItemCollection.cs
- WebControlsSection.cs
- ServiceRouteHandler.cs
- JoinCqlBlock.cs
- WindowsFormsLinkLabel.cs
- BuilderPropertyEntry.cs
- InputGestureCollection.cs
- OutputCacheModule.cs
- MdImport.cs
- GridViewUpdatedEventArgs.cs
- _AutoWebProxyScriptHelper.cs
- XamlHostingSection.cs
- WebPartZoneBase.cs
- smtpconnection.cs
- MetadataArtifactLoaderComposite.cs
- UpdatePanelControlTrigger.cs
- WSFederationHttpBinding.cs
- HttpCapabilitiesSectionHandler.cs
- CompiledQueryCacheKey.cs
- AudioException.cs
- SuppressMessageAttribute.cs
- AutomationProperties.cs
- AstNode.cs
- TheQuery.cs
- XamlWriter.cs
- DetailsViewDeleteEventArgs.cs
- Axis.cs
- NavigationPropertySingletonExpression.cs
- AliasGenerator.cs
- StaticResourceExtension.cs
- UnionExpr.cs
- NativeActivityFaultContext.cs
- HtmlTableCellCollection.cs
- DataObjectFieldAttribute.cs
- ObjectItemCollection.cs
- ContentOperations.cs
- GlyphTypeface.cs
- GlyphTypeface.cs
- XmlSchemaInferenceException.cs
- FrameworkObject.cs
- SessionStateContainer.cs
- ClientConfigurationSystem.cs
- ResourceProviderFactory.cs
- MemberMaps.cs
- SelectManyQueryOperator.cs
- ChannelDispatcher.cs
- GPPOINT.cs
- Font.cs
- MemberInitExpression.cs