Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / InputScope.cs / 1 / 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
- QueryOutputWriterV1.cs
- DoubleLinkListEnumerator.cs
- ProfileServiceManager.cs
- SerialPort.cs
- DocumentViewerHelper.cs
- Help.cs
- CacheDependency.cs
- PageSetupDialog.cs
- WebZone.cs
- ReferenceConverter.cs
- FactoryGenerator.cs
- XPathAncestorIterator.cs
- TypeUtils.cs
- FullTextBreakpoint.cs
- CornerRadius.cs
- DoubleLink.cs
- Predicate.cs
- ReaderOutput.cs
- DragDeltaEventArgs.cs
- ActivityValidator.cs
- HandleCollector.cs
- SiteMapSection.cs
- ChtmlTextWriter.cs
- HttpCachePolicyWrapper.cs
- GridToolTip.cs
- BuildProviderCollection.cs
- OleDbRowUpdatedEvent.cs
- GeneratedContractType.cs
- SchemaElement.cs
- UpDownEvent.cs
- QilCloneVisitor.cs
- WindowsAuthenticationModule.cs
- DataTableMapping.cs
- BufferedGraphics.cs
- TokenBasedSet.cs
- ToolStripButton.cs
- HtmlForm.cs
- TablePattern.cs
- WsrmFault.cs
- PreProcessor.cs
- AddInController.cs
- AuthenticationModuleElement.cs
- ConfigurationLockCollection.cs
- StsCommunicationException.cs
- OutputCacheEntry.cs
- OdbcConnectionFactory.cs
- TextEndOfSegment.cs
- AuthenticationService.cs
- UIHelper.cs
- SessionParameter.cs
- SqlMethodCallConverter.cs
- cookie.cs
- DataGridCommandEventArgs.cs
- SafeCryptoHandles.cs
- RootCodeDomSerializer.cs
- SqlConnectionStringBuilder.cs
- InfoCardSymmetricAlgorithm.cs
- ExternalException.cs
- ValidationPropertyAttribute.cs
- SequentialUshortCollection.cs
- CollectionBase.cs
- ThreadSafeList.cs
- ScrollableControl.cs
- DataBindingCollection.cs
- User.cs
- SoapRpcMethodAttribute.cs
- HtmlButton.cs
- SafeLocalMemHandle.cs
- XmlChoiceIdentifierAttribute.cs
- List.cs
- PolicyUnit.cs
- LongValidator.cs
- SettingsPropertyValue.cs
- Selector.cs
- HelpEvent.cs
- SpecularMaterial.cs
- TemplatedWizardStep.cs
- CredentialCache.cs
- ChannelServices.cs
- Win32MouseDevice.cs
- XmlParser.cs
- SocketManager.cs
- ExtensionSurface.cs
- AgileSafeNativeMemoryHandle.cs
- MethodToken.cs
- ValidateNames.cs
- ItemContainerGenerator.cs
- ServiceHttpHandlerFactory.cs
- ProfileGroupSettingsCollection.cs
- DataViewManager.cs
- CryptoConfig.cs
- FragmentNavigationEventArgs.cs
- MethodImplAttribute.cs
- ValidatorCollection.cs
- Style.cs
- HtmlMeta.cs
- CheckBoxList.cs
- EditorZoneBase.cs
- RuntimeHandles.cs
- GregorianCalendar.cs