Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / Avt.cs / 1 / Avt.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.Collections; using System.Xml; using System.Xml.XPath; using System.Text; internal sealed class Avt { private string constAvt; private TextEvent[] events; private Avt(string constAvt) { Debug.Assert(constAvt != null); this.constAvt = constAvt; } private Avt(ArrayList eventList) { Debug.Assert(eventList != null); this.events = new TextEvent[eventList.Count]; for(int i = 0; i < eventList.Count; i ++) { this.events[i] = (TextEvent) eventList[i]; } } public bool IsConstant { get {return this.events == null;} } internal string Evaluate(Processor processor, ActionFrame frame) { if (IsConstant) { Debug.Assert(constAvt != null); return constAvt; } else { Debug.Assert(processor != null && frame != null); StringBuilder builder = processor.GetSharedStringBuilder(); for(int i = 0; i < events.Length; i ++) { builder.Append(events[i].Evaluate(processor, frame)); } processor.ReleaseSharedStringBuilder(); return builder.ToString(); } } internal static Avt CompileAvt(Compiler compiler, string avtText) { Debug.Assert(compiler != null); Debug.Assert(avtText != null); bool constant; ArrayList list = compiler.CompileAvt(avtText, out constant); return constant ? new Avt(avtText) : new Avt(list); } } } // 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.Collections; using System.Xml; using System.Xml.XPath; using System.Text; internal sealed class Avt { private string constAvt; private TextEvent[] events; private Avt(string constAvt) { Debug.Assert(constAvt != null); this.constAvt = constAvt; } private Avt(ArrayList eventList) { Debug.Assert(eventList != null); this.events = new TextEvent[eventList.Count]; for(int i = 0; i < eventList.Count; i ++) { this.events[i] = (TextEvent) eventList[i]; } } public bool IsConstant { get {return this.events == null;} } internal string Evaluate(Processor processor, ActionFrame frame) { if (IsConstant) { Debug.Assert(constAvt != null); return constAvt; } else { Debug.Assert(processor != null && frame != null); StringBuilder builder = processor.GetSharedStringBuilder(); for(int i = 0; i < events.Length; i ++) { builder.Append(events[i].Evaluate(processor, frame)); } processor.ReleaseSharedStringBuilder(); return builder.ToString(); } } internal static Avt CompileAvt(Compiler compiler, string avtText) { Debug.Assert(compiler != null); Debug.Assert(avtText != null); bool constant; ArrayList list = compiler.CompileAvt(avtText, out constant); return constant ? new Avt(avtText) : new Avt(list); } } } // 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
- MessageQueuePermissionEntry.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- Rect3D.cs
- ExeConfigurationFileMap.cs
- FontFamilyConverter.cs
- WebPartEditVerb.cs
- ChangePasswordDesigner.cs
- XmlSchemaAll.cs
- XmlSchemaSimpleTypeRestriction.cs
- ClientTargetCollection.cs
- X509CertificateStore.cs
- TemplateLookupAction.cs
- Token.cs
- StyleTypedPropertyAttribute.cs
- AnnouncementEventArgs.cs
- MenuEventArgs.cs
- DatePickerDateValidationErrorEventArgs.cs
- InvokeMemberBinder.cs
- Semaphore.cs
- WmlListAdapter.cs
- SettingsAttributeDictionary.cs
- Object.cs
- AlternationConverter.cs
- DateTimeParse.cs
- TextProperties.cs
- WmlObjectListAdapter.cs
- SelectionEditor.cs
- Literal.cs
- HuffmanTree.cs
- TypeHelper.cs
- VerticalAlignConverter.cs
- BuildProvider.cs
- DataBoundControl.cs
- StrokeIntersection.cs
- CreateUserErrorEventArgs.cs
- Rect.cs
- SqlCacheDependencySection.cs
- TextBox.cs
- SmiEventSink_DeferedProcessing.cs
- LayoutUtils.cs
- HttpDebugHandler.cs
- ProfessionalColorTable.cs
- SimpleExpression.cs
- StylusCollection.cs
- ReflectionTypeLoadException.cs
- AssertFilter.cs
- TableAutomationPeer.cs
- EventLogException.cs
- UnmanagedMarshal.cs
- WindowsListViewItemCheckBox.cs
- TemplateField.cs
- PeerInvitationResponse.cs
- BinaryNode.cs
- CompatibleComparer.cs
- DataSourceBooleanViewSchemaConverter.cs
- DataControlCommands.cs
- UpdateProgress.cs
- WebControlAdapter.cs
- TableRowsCollectionEditor.cs
- StringPropertyBuilder.cs
- BaseCAMarshaler.cs
- BoundConstants.cs
- RotateTransform.cs
- TypeConverterHelper.cs
- HttpApplication.cs
- IList.cs
- CodeTypeReferenceCollection.cs
- PowerModeChangedEventArgs.cs
- WorkflowDurableInstance.cs
- Calendar.cs
- AuthorizationSection.cs
- ColumnResizeAdorner.cs
- DataGridViewBand.cs
- Button.cs
- DbParameterCollectionHelper.cs
- DetailsViewUpdatedEventArgs.cs
- DbConnectionPoolCounters.cs
- ColorContextHelper.cs
- CategoryGridEntry.cs
- DesignerDataRelationship.cs
- ListBindingConverter.cs
- MaterializeFromAtom.cs
- FrameworkTextComposition.cs
- ComAdminInterfaces.cs
- CommonGetThemePartSize.cs
- FilteredSchemaElementLookUpTable.cs
- SafeNativeMemoryHandle.cs
- LongValidator.cs
- Transactions.cs
- MultiPageTextView.cs
- StringUtil.cs
- LoadWorkflowAsyncResult.cs
- InitializeCorrelation.cs
- ErrorStyle.cs
- ProfileGroupSettingsCollection.cs
- CodeArgumentReferenceExpression.cs
- MailHeaderInfo.cs
- EnumBuilder.cs
- IfJoinedCondition.cs
- ConfigXmlText.cs