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
- WsdlInspector.cs
- DataGridViewDesigner.cs
- RuntimeArgumentHandle.cs
- CollectionViewSource.cs
- InstanceDataCollection.cs
- HttpCookieCollection.cs
- CodeExpressionCollection.cs
- OneOf.cs
- CodeDirectoryCompiler.cs
- ProcessProtocolHandler.cs
- WorkItem.cs
- PrintPreviewDialog.cs
- DataGridrowEditEndingEventArgs.cs
- SHA384.cs
- WinEventHandler.cs
- HostedBindingBehavior.cs
- ITextView.cs
- BitmapEffectInputData.cs
- ObjectCloneHelper.cs
- LogicalCallContext.cs
- Bezier.cs
- HelpKeywordAttribute.cs
- ScrollChangedEventArgs.cs
- XmlReflectionImporter.cs
- SoapFormatterSinks.cs
- DetailsViewRowCollection.cs
- WebPartCollection.cs
- DbDeleteCommandTree.cs
- XmlDocumentType.cs
- Rijndael.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- NamespaceQuery.cs
- AmbientProperties.cs
- PieceDirectory.cs
- DocumentsTrace.cs
- WrapperEqualityComparer.cs
- TextDecorationLocationValidation.cs
- Header.cs
- ImpersonateTokenRef.cs
- SymDocumentType.cs
- Preprocessor.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- ChannelManager.cs
- KeyNotFoundException.cs
- XmlReader.cs
- SimplePropertyEntry.cs
- Symbol.cs
- InvalidFilterCriteriaException.cs
- ColumnBinding.cs
- RenameRuleObjectDialog.Designer.cs
- TailPinnedEventArgs.cs
- MergeLocalizationDirectives.cs
- XamlGridLengthSerializer.cs
- LocalBuilder.cs
- ActivityInfo.cs
- HttpRuntime.cs
- DockPatternIdentifiers.cs
- ValidatingReaderNodeData.cs
- SoapInteropTypes.cs
- HttpServerChannel.cs
- SelectionProviderWrapper.cs
- HealthMonitoringSection.cs
- XmlReflectionImporter.cs
- EditorZone.cs
- StringInfo.cs
- Errors.cs
- LocatorPartList.cs
- Psha1DerivedKeyGeneratorHelper.cs
- ComplexBindingPropertiesAttribute.cs
- DataFormats.cs
- LocalBuilder.cs
- SystemDiagnosticsSection.cs
- QuotedStringWriteStateInfo.cs
- Nullable.cs
- AuthorizationRule.cs
- DesignBinding.cs
- StylusButtonCollection.cs
- PropertyEmitter.cs
- FrameworkContentElement.cs
- PrimitiveType.cs
- CapabilitiesState.cs
- CultureInfo.cs
- BorderGapMaskConverter.cs
- Int16Storage.cs
- LinqDataSourceDeleteEventArgs.cs
- DictionaryCustomTypeDescriptor.cs
- XmlSignificantWhitespace.cs
- SecurityDocument.cs
- ConfigXmlCDataSection.cs
- Timer.cs
- DesignTimeTemplateParser.cs
- ListContractAdapter.cs
- DescendantQuery.cs
- StrokeCollectionDefaultValueFactory.cs
- TransactionFilter.cs
- WebPartVerbsEventArgs.cs
- Transform3D.cs
- DesignerAutoFormatStyle.cs
- BaseParaClient.cs
- Int64.cs