Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / InputScope.cs / 1305376 / InputScope.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; using System.Collections; internal class InputScope : DocumentScope { private InputScope parent; private bool forwardCompatibility; private bool canHaveApplyImports; private Hashtable variables; private Hashtable extensionNamespaces; private Hashtable excludedNamespaces; internal InputScope Parent { get { return this.parent; } } internal Hashtable Variables { get { return this.variables; } } internal bool ForwardCompatibility { get { return this.forwardCompatibility; } set { this.forwardCompatibility = value; } } internal bool CanHaveApplyImports { get { return this.canHaveApplyImports; } set { this.canHaveApplyImports = value; } } internal InputScope(InputScope parent) { Init(parent); } internal void Init(InputScope parent) { this.scopes = null; this.parent = parent; if (this.parent != null) { this.forwardCompatibility = this.parent.forwardCompatibility; this.canHaveApplyImports = this.parent.canHaveApplyImports; } } internal void InsertExtensionNamespace(String nspace) { if (this.extensionNamespaces == null ) { this.extensionNamespaces = new Hashtable(); } this.extensionNamespaces[nspace] = null; } internal bool IsExtensionNamespace(String nspace) { if (extensionNamespaces == null ) { return false; } return extensionNamespaces.Contains(nspace); } internal void InsertExcludedNamespace(String nspace) { if (this.excludedNamespaces == null ) { this.excludedNamespaces = new Hashtable(); } this.excludedNamespaces[nspace] = null; } internal bool IsExcludedNamespace(String nspace) { if (excludedNamespaces == null ) { return false; } return excludedNamespaces.Contains(nspace); } internal void InsertVariable(VariableAction variable) { Debug.Assert(variable != null); if (this.variables == null) { this.variables = new Hashtable(); } this.variables[variable.Name] = variable; } internal int GetVeriablesCount() { if (this.variables == null) { return 0; } return this.variables.Count; } public VariableAction ResolveVariable(XmlQualifiedName qname) { for (InputScope inputScope = this; inputScope != null; inputScope = inputScope.Parent) { if (inputScope.Variables != null) { VariableAction variable = (VariableAction) inputScope.Variables[qname]; if(variable != null) { return variable; } } } return null; } public VariableAction ResolveGlobalVariable(XmlQualifiedName qname) { InputScope prevScope = null; for (InputScope inputScope = this; inputScope != null; inputScope = inputScope.Parent) { prevScope = inputScope; } return prevScope.ResolveVariable(qname); } } } // 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.Xml; using System.Xml.XPath; using System.Collections; internal class InputScope : DocumentScope { private InputScope parent; private bool forwardCompatibility; private bool canHaveApplyImports; private Hashtable variables; private Hashtable extensionNamespaces; private Hashtable excludedNamespaces; internal InputScope Parent { get { return this.parent; } } internal Hashtable Variables { get { return this.variables; } } internal bool ForwardCompatibility { get { return this.forwardCompatibility; } set { this.forwardCompatibility = value; } } internal bool CanHaveApplyImports { get { return this.canHaveApplyImports; } set { this.canHaveApplyImports = value; } } internal InputScope(InputScope parent) { Init(parent); } internal void Init(InputScope parent) { this.scopes = null; this.parent = parent; if (this.parent != null) { this.forwardCompatibility = this.parent.forwardCompatibility; this.canHaveApplyImports = this.parent.canHaveApplyImports; } } internal void InsertExtensionNamespace(String nspace) { if (this.extensionNamespaces == null ) { this.extensionNamespaces = new Hashtable(); } this.extensionNamespaces[nspace] = null; } internal bool IsExtensionNamespace(String nspace) { if (extensionNamespaces == null ) { return false; } return extensionNamespaces.Contains(nspace); } internal void InsertExcludedNamespace(String nspace) { if (this.excludedNamespaces == null ) { this.excludedNamespaces = new Hashtable(); } this.excludedNamespaces[nspace] = null; } internal bool IsExcludedNamespace(String nspace) { if (excludedNamespaces == null ) { return false; } return excludedNamespaces.Contains(nspace); } internal void InsertVariable(VariableAction variable) { Debug.Assert(variable != null); if (this.variables == null) { this.variables = new Hashtable(); } this.variables[variable.Name] = variable; } internal int GetVeriablesCount() { if (this.variables == null) { return 0; } return this.variables.Count; } public VariableAction ResolveVariable(XmlQualifiedName qname) { for (InputScope inputScope = this; inputScope != null; inputScope = inputScope.Parent) { if (inputScope.Variables != null) { VariableAction variable = (VariableAction) inputScope.Variables[qname]; if(variable != null) { return variable; } } } return null; } public VariableAction ResolveGlobalVariable(XmlQualifiedName qname) { InputScope prevScope = null; for (InputScope inputScope = this; inputScope != null; inputScope = inputScope.Parent) { prevScope = inputScope; } return prevScope.ResolveVariable(qname); } } } // 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
- ItemsControlAutomationPeer.cs
- GridViewUpdatedEventArgs.cs
- BaseParaClient.cs
- LocalBuilder.cs
- ScriptingJsonSerializationSection.cs
- XamlSerializerUtil.cs
- CookieProtection.cs
- XPathBinder.cs
- TypeGeneratedEventArgs.cs
- UriSection.cs
- TraceUtils.cs
- DataGridViewRowsRemovedEventArgs.cs
- ImageSource.cs
- IDispatchConstantAttribute.cs
- InnerItemCollectionView.cs
- XmlTextReaderImplHelpers.cs
- Accessible.cs
- TemplateControlParser.cs
- TextEditorCopyPaste.cs
- EmptyImpersonationContext.cs
- WindowsToolbarItemAsMenuItem.cs
- Point.cs
- RetrieveVirtualItemEventArgs.cs
- HotCommands.cs
- TraceSwitch.cs
- MouseWheelEventArgs.cs
- SHA384CryptoServiceProvider.cs
- FormClosingEvent.cs
- DirectionalLight.cs
- WorkItem.cs
- UInt32Converter.cs
- AssemblyNameProxy.cs
- DocumentApplicationJournalEntry.cs
- SharedPerformanceCounter.cs
- InProcStateClientManager.cs
- OrderablePartitioner.cs
- DmlSqlGenerator.cs
- PerfCounters.cs
- NativeMethodsOther.cs
- ObjectDataSourceView.cs
- RoleService.cs
- SimpleTypeResolver.cs
- ToolStripCollectionEditor.cs
- ObjectContext.cs
- initElementDictionary.cs
- GreenMethods.cs
- DataGridTemplateColumn.cs
- DefaultBinder.cs
- EditorZoneAutoFormat.cs
- TextDecorationCollection.cs
- RenderTargetBitmap.cs
- Socket.cs
- BindingElementCollection.cs
- XmlMtomWriter.cs
- ScrollItemProviderWrapper.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- HttpPostedFile.cs
- Visitor.cs
- PropertyConverter.cs
- GroupItemAutomationPeer.cs
- CreateUserWizard.cs
- DesignTimeXamlWriter.cs
- XmlSchemaAnyAttribute.cs
- XPathQueryGenerator.cs
- AtomServiceDocumentSerializer.cs
- TextDecorationCollection.cs
- URLIdentityPermission.cs
- XmlSchemaAnnotated.cs
- TypeSystem.cs
- CodeConstructor.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- HandleCollector.cs
- ISO2022Encoding.cs
- CfgSemanticTag.cs
- SByte.cs
- SubpageParaClient.cs
- BitmapEffectState.cs
- SubMenuStyleCollection.cs
- WebPartConnectVerb.cs
- EntityContainerRelationshipSet.cs
- Renderer.cs
- Pointer.cs
- ResourcesBuildProvider.cs
- DiagnosticsElement.cs
- UdpUtility.cs
- EndPoint.cs
- EventTrigger.cs
- VariableAction.cs
- PropertyItem.cs
- MenuAdapter.cs
- UserControl.cs
- RelationshipNavigation.cs
- ServiceChannelManager.cs
- MruCache.cs
- NumericUpDownAcceleration.cs
- MultipleViewProviderWrapper.cs
- SecureEnvironment.cs
- ExtensionSimplifierMarkupObject.cs
- ApplicationContext.cs
- SingletonConnectionReader.cs