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
- DataGridSortCommandEventArgs.cs
- ComponentGuaranteesAttribute.cs
- DrawingGroup.cs
- IssuanceLicense.cs
- AutomationPropertyInfo.cs
- EditingMode.cs
- SerializationAttributes.cs
- login.cs
- SaveFileDialog.cs
- PackWebRequestFactory.cs
- ActivitySurrogateSelector.cs
- OleDbParameter.cs
- EventProvider.cs
- RepeatInfo.cs
- TableParaClient.cs
- Perspective.cs
- NamedPermissionSet.cs
- MetadataArtifactLoaderCompositeResource.cs
- Completion.cs
- EdmToObjectNamespaceMap.cs
- WebScriptClientGenerator.cs
- TextEndOfSegment.cs
- CheckBoxRenderer.cs
- ControlValuePropertyAttribute.cs
- DoubleUtil.cs
- ImageSource.cs
- CodeTypeReferenceExpression.cs
- DateTimeFormatInfoScanner.cs
- PerfCounters.cs
- TrackBarRenderer.cs
- ObjectListDesigner.cs
- HWStack.cs
- MarginCollapsingState.cs
- TextTrailingWordEllipsis.cs
- ServicePointManagerElement.cs
- DrawingContextWalker.cs
- TextBreakpoint.cs
- CookieProtection.cs
- BuilderPropertyEntry.cs
- CheckBoxRenderer.cs
- StateManagedCollection.cs
- CodeCastExpression.cs
- DataBinding.cs
- DtcInterfaces.cs
- SqlErrorCollection.cs
- FormattedText.cs
- Matrix3DValueSerializer.cs
- TableCell.cs
- MethodBody.cs
- SqlStream.cs
- SoapEnvelopeProcessingElement.cs
- ReadOnlyPropertyMetadata.cs
- XamlVector3DCollectionSerializer.cs
- ObjectDataSourceDisposingEventArgs.cs
- ConfigurationManager.cs
- VirtualPathData.cs
- PagesSection.cs
- FileDialog_Vista_Interop.cs
- MatrixTransform.cs
- OdbcConnection.cs
- MetadataArtifactLoaderResource.cs
- AuditLog.cs
- GeometryModel3D.cs
- WebPartConnectVerb.cs
- CompositionDesigner.cs
- XamlBrushSerializer.cs
- StorageRoot.cs
- GridItem.cs
- OdbcRowUpdatingEvent.cs
- MappingModelBuildProvider.cs
- OutKeywords.cs
- BamlWriter.cs
- SqlOuterApplyReducer.cs
- IndentedWriter.cs
- VersionedStream.cs
- BooleanSwitch.cs
- UnsafeNativeMethods.cs
- StartUpEventArgs.cs
- EmbossBitmapEffect.cs
- SecurityHelper.cs
- Rfc2898DeriveBytes.cs
- LocalizabilityAttribute.cs
- Hex.cs
- DependencyPropertyConverter.cs
- Pts.cs
- CreateUserWizard.cs
- Knowncolors.cs
- DefaultTextStoreTextComposition.cs
- WeakHashtable.cs
- ConnectionStringSettings.cs
- exports.cs
- TreeWalkHelper.cs
- ProgressPage.cs
- XamlHttpHandlerFactory.cs
- PageAsyncTaskManager.cs
- TrustLevelCollection.cs
- OracleDataReader.cs
- SimplePropertyEntry.cs
- EDesignUtil.cs
- DesignerVerb.cs