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
- SettingsPropertyIsReadOnlyException.cs
- DataGridLinkButton.cs
- EntityFrameworkVersions.cs
- NativeRightsManagementAPIsStructures.cs
- QuadTree.cs
- TimeZone.cs
- Symbol.cs
- ToolStripDesigner.cs
- WindowsTreeView.cs
- DataGridViewCheckBoxCell.cs
- SymmetricCryptoHandle.cs
- EventDescriptor.cs
- UserControlDocumentDesigner.cs
- XmlResolver.cs
- BitmapData.cs
- PageParser.cs
- QuaternionRotation3D.cs
- DataBinder.cs
- Rectangle.cs
- ProvideValueServiceProvider.cs
- SyndicationLink.cs
- AsmxEndpointPickerExtension.cs
- TypeToStringValueConverter.cs
- ToolBarButton.cs
- RoutedPropertyChangedEventArgs.cs
- SoapTypeAttribute.cs
- TableDesigner.cs
- Page.cs
- ApplicationServiceHelper.cs
- _CookieModule.cs
- StorageBasedPackageProperties.cs
- ManagedFilter.cs
- SqlCacheDependencyDatabaseCollection.cs
- ImageSourceConverter.cs
- TemplateBindingExtension.cs
- XmlDataLoader.cs
- WebPartCollection.cs
- TraceEventCache.cs
- Stroke.cs
- InnerItemCollectionView.cs
- SmtpNtlmAuthenticationModule.cs
- Polyline.cs
- SQLMoneyStorage.cs
- Stopwatch.cs
- SourceSwitch.cs
- XsltSettings.cs
- _KerberosClient.cs
- NetSectionGroup.cs
- Point4DConverter.cs
- Vector.cs
- DataGridCaption.cs
- securitycriticaldata.cs
- InvalidDataException.cs
- SpeechRecognitionEngine.cs
- IdentitySection.cs
- LocationUpdates.cs
- DataGridViewControlCollection.cs
- AlignmentYValidation.cs
- ConnectionStringEditor.cs
- AssemblyBuilderData.cs
- PlacementWorkspace.cs
- PathSegmentCollection.cs
- EntityKeyElement.cs
- Clipboard.cs
- SystemWebSectionGroup.cs
- IISMapPath.cs
- ZipIOBlockManager.cs
- SecurityManager.cs
- TrackingExtract.cs
- BrowserDefinition.cs
- RepeatButton.cs
- EpmSyndicationContentSerializer.cs
- Int32Rect.cs
- MetaColumn.cs
- RowUpdatingEventArgs.cs
- WebEvents.cs
- XmlSerializerFactory.cs
- CodeComment.cs
- AttachedPropertyBrowsableAttribute.cs
- DesignerTransaction.cs
- WindowsContainer.cs
- SpStreamWrapper.cs
- WrapPanel.cs
- Util.cs
- StrokeFIndices.cs
- LoginUtil.cs
- DynamicObjectAccessor.cs
- ClientRuntimeConfig.cs
- TemplateParser.cs
- PolicyException.cs
- StrongNameHelpers.cs
- TimeStampChecker.cs
- EllipseGeometry.cs
- DataGridViewDataConnection.cs
- RemoteEndpointMessageProperty.cs
- SvcMapFile.cs
- EntityPropertyMappingAttribute.cs
- _AutoWebProxyScriptEngine.cs
- XmlQueryRuntime.cs
- AbstractSvcMapFileLoader.cs