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 / 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
- ServiceHostingEnvironmentSection.cs
- ToolStripGrip.cs
- FixedDocument.cs
- ApplicationFileParser.cs
- _ListenerRequestStream.cs
- StaticContext.cs
- OrthographicCamera.cs
- CollectionContainer.cs
- CompositeCollectionView.cs
- ActivityDesignerHelper.cs
- ServiceModelPerformanceCounters.cs
- RealizationDrawingContextWalker.cs
- ProcessHostConfigUtils.cs
- FormViewAutoFormat.cs
- SynchronizationContext.cs
- DiffuseMaterial.cs
- BehaviorService.cs
- CodeAccessSecurityEngine.cs
- HttpInputStream.cs
- WhitespaceRuleReader.cs
- CompilerResults.cs
- TreeNodeBindingCollection.cs
- CqlParser.cs
- OdbcParameter.cs
- DoubleUtil.cs
- TCPListener.cs
- UnknownBitmapEncoder.cs
- ExtenderHelpers.cs
- RangeValidator.cs
- CategoryGridEntry.cs
- ClientFormsAuthenticationCredentials.cs
- GiveFeedbackEvent.cs
- ResourcePermissionBaseEntry.cs
- VisualBasicSettingsHandler.cs
- DefaultAssemblyResolver.cs
- ImageDesigner.cs
- DataGridViewCell.cs
- Control.cs
- SweepDirectionValidation.cs
- GridViewDeleteEventArgs.cs
- ByteRangeDownloader.cs
- Attributes.cs
- XmlSchemaNotation.cs
- DbConnectionPoolGroupProviderInfo.cs
- ReflectPropertyDescriptor.cs
- LineGeometry.cs
- AtomMaterializerLog.cs
- ContractMapping.cs
- DelegateBodyWriter.cs
- BrowserInteropHelper.cs
- BrowserCapabilitiesCompiler.cs
- PropertyTabAttribute.cs
- DateTime.cs
- EdmComplexTypeAttribute.cs
- Point4DValueSerializer.cs
- DbInsertCommandTree.cs
- GeneralTransform.cs
- OledbConnectionStringbuilder.cs
- ResourceContainer.cs
- TextTreeRootTextBlock.cs
- JournalEntry.cs
- COM2Properties.cs
- DropTarget.cs
- EntityDescriptor.cs
- PackageRelationshipCollection.cs
- QueueSurrogate.cs
- PermissionSet.cs
- ComponentCollection.cs
- WCFBuildProvider.cs
- SkipQueryOptionExpression.cs
- SoapReflectionImporter.cs
- HtmlInputReset.cs
- ProfileService.cs
- RemotingSurrogateSelector.cs
- SqlRewriteScalarSubqueries.cs
- DoubleStorage.cs
- MexHttpBindingElement.cs
- UserControlAutomationPeer.cs
- NumberFunctions.cs
- Double.cs
- NamespaceEmitter.cs
- NetTcpBindingElement.cs
- UncommonField.cs
- XAMLParseException.cs
- TextBoxLine.cs
- TreeViewItem.cs
- TextParaClient.cs
- SHA384CryptoServiceProvider.cs
- Operator.cs
- FileAccessException.cs
- CompiledRegexRunner.cs
- CleanUpVirtualizedItemEventArgs.cs
- XmlMembersMapping.cs
- FunctionUpdateCommand.cs
- Table.cs
- VBIdentifierDesigner.xaml.cs
- XmlMapping.cs
- CellCreator.cs
- PassportAuthenticationModule.cs
- ClassHandlersStore.cs