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
- SecurityPermission.cs
- SelectionItemProviderWrapper.cs
- CodeEntryPointMethod.cs
- InvokeBinder.cs
- InputElement.cs
- ChannelCredentials.cs
- GACMembershipCondition.cs
- SrgsToken.cs
- JavaScriptString.cs
- PolyLineSegment.cs
- QueryStatement.cs
- WindowsAuthenticationEventArgs.cs
- ellipse.cs
- FamilyMap.cs
- SynchronousChannel.cs
- MaxValueConverter.cs
- ValidatorCollection.cs
- PersonalizationState.cs
- RequestCacheEntry.cs
- ClickablePoint.cs
- ValueQuery.cs
- Ipv6Element.cs
- MeasureData.cs
- PathTooLongException.cs
- TextTreeFixupNode.cs
- VirtualPathUtility.cs
- ConnectionPointCookie.cs
- MobileUserControlDesigner.cs
- PerspectiveCamera.cs
- ClusterRegistryConfigurationProvider.cs
- CompensationParticipant.cs
- BitmapEffectInputData.cs
- XmlParserContext.cs
- LassoHelper.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- ChooseAction.cs
- PerspectiveCamera.cs
- MemberCollection.cs
- PropertyReferenceExtension.cs
- PrivilegeNotHeldException.cs
- TextAdaptor.cs
- SystemMulticastIPAddressInformation.cs
- SmiEventSink_Default.cs
- ArraySet.cs
- HttpHeaderCollection.cs
- ConstructorArgumentAttribute.cs
- SpeechAudioFormatInfo.cs
- SqlConnectionHelper.cs
- ChtmlImageAdapter.cs
- TypeConverterAttribute.cs
- Convert.cs
- SequenceRange.cs
- ListChangedEventArgs.cs
- MainMenu.cs
- SelectorAutomationPeer.cs
- TabletDeviceInfo.cs
- ImageField.cs
- ExceptionUtility.cs
- PropertyItem.cs
- TabletCollection.cs
- PropertyConverter.cs
- QilNode.cs
- MessageSmuggler.cs
- ObjectListCommandEventArgs.cs
- ResXBuildProvider.cs
- DataGridViewRowConverter.cs
- AtomServiceDocumentSerializer.cs
- ChannelPool.cs
- PageHandlerFactory.cs
- ByteRangeDownloader.cs
- TextSelection.cs
- FontCacheUtil.cs
- DesignBinding.cs
- SystemException.cs
- PropertyEmitterBase.cs
- DbConnectionStringBuilder.cs
- RecordConverter.cs
- IssuedTokenParametersElement.cs
- Monitor.cs
- SecurityContextSecurityToken.cs
- VirtualPath.cs
- TextServicesHost.cs
- ClaimComparer.cs
- iisPickupDirectory.cs
- DeferredElementTreeState.cs
- TableColumnCollection.cs
- SqlProcedureAttribute.cs
- BaseParagraph.cs
- CustomPopupPlacement.cs
- EntityViewGenerator.cs
- AppDomainProtocolHandler.cs
- Parser.cs
- ProcessHostConfigUtils.cs
- PrintDialog.cs
- SafeFindHandle.cs
- HyperLinkDesigner.cs
- TargetControlTypeAttribute.cs
- RTLAwareMessageBox.cs
- EmptyElement.cs
- UriExt.cs