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
- NumberFormatter.cs
- QuadraticBezierSegment.cs
- DoubleIndependentAnimationStorage.cs
- PathGeometry.cs
- CodeTypeOfExpression.cs
- ListViewAutomationPeer.cs
- documentation.cs
- CompileLiteralTextParser.cs
- DrawingVisualDrawingContext.cs
- Parallel.cs
- PropertyTabAttribute.cs
- WCFBuildProvider.cs
- ValueHandle.cs
- SpeechSynthesizer.cs
- MappingSource.cs
- ProtocolsConfigurationHandler.cs
- RootBrowserWindow.cs
- PageCatalogPart.cs
- COM2IDispatchConverter.cs
- HttpRequest.cs
- ReadWriteSpinLock.cs
- AncillaryOps.cs
- WrappedReader.cs
- LinkedResource.cs
- Assert.cs
- MediaSystem.cs
- MatcherBuilder.cs
- ZoneLinkButton.cs
- SizeKeyFrameCollection.cs
- SqlServer2KCompatibilityCheck.cs
- _SafeNetHandles.cs
- ScanQueryOperator.cs
- GridItem.cs
- PriorityQueue.cs
- HttpCachePolicy.cs
- DataGridViewAutoSizeModeEventArgs.cs
- BinaryConverter.cs
- TypeSystem.cs
- TypeHelper.cs
- Model3DCollection.cs
- ConnectionInterfaceCollection.cs
- CaseCqlBlock.cs
- QueuePathDialog.cs
- Vector3DValueSerializer.cs
- CookieParameter.cs
- rsa.cs
- JulianCalendar.cs
- RectangleF.cs
- SqlTypeConverter.cs
- PartialList.cs
- CallId.cs
- HelloOperation11AsyncResult.cs
- MenuItemBinding.cs
- InternalPolicyElement.cs
- QueryReaderSettings.cs
- AssociationTypeEmitter.cs
- WebBrowserUriTypeConverter.cs
- XmlSchemaComplexContentRestriction.cs
- WeakReference.cs
- CreationContext.cs
- InsufficientMemoryException.cs
- filewebresponse.cs
- LOSFormatter.cs
- RequestCachingSection.cs
- ServiceOperationParameter.cs
- DataBoundControlHelper.cs
- DbLambda.cs
- QuaternionValueSerializer.cs
- LinqToSqlWrapper.cs
- DoubleLinkList.cs
- SemaphoreSecurity.cs
- FileSecurity.cs
- PanelDesigner.cs
- AxisAngleRotation3D.cs
- TextEditorSelection.cs
- ACL.cs
- ImageList.cs
- SystemResources.cs
- DataGridViewCheckBoxCell.cs
- DesignUtil.cs
- FormatterServices.cs
- CollectionEditor.cs
- HostSecurityManager.cs
- XmlAutoDetectWriter.cs
- StrongNameHelpers.cs
- ToRequest.cs
- IDReferencePropertyAttribute.cs
- TypeDescriptor.cs
- safex509handles.cs
- XmlSchemaCompilationSettings.cs
- CompositeDataBoundControl.cs
- safePerfProviderHandle.cs
- Completion.cs
- XmlCDATASection.cs
- UriExt.cs
- LineVisual.cs
- MimeObjectFactory.cs
- System.Data_BID.cs
- CheckBoxPopupAdapter.cs
- WebZone.cs