BaseParser.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / BaseParser.cs / 1 / BaseParser.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

/* 
 * Implements the ASP.NET template parser 
 *
 * Copyright (c) 1998 Microsoft Corporation 
 */

/*********************************
 
Class hierarchy
 
BaseParser 
    DependencyParser
        TemplateControlDependencyParser 
            PageDependencyParser
            UserControlDependencyParser
            MasterPageDependencyParser
    TemplateParser 
        BaseTemplateParser
            TemplateControlParser 
                PageParser 
                UserControlParser
                    MasterPageParser 
            PageThemeParser
        ApplicationFileParser

**********************************/ 

namespace System.Web.UI { 
using System; 
using System.Collections;
using System.Web.Hosting; 
using System.Web.Util;
using System.Text.RegularExpressions;
using System.Web.RegularExpressions;
using System.Security.Permissions; 

// Internal interface for Parser that have exteranl assembly dependency. 
internal interface IAssemblyDependencyParser { 
    ICollection AssemblyDependencies { get; }
} 


/// 
///    [To be supplied.] 
/// 
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] 
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] 
public class BaseParser {
 
    // The directory used for relative path calculations
    private VirtualPath _baseVirtualDir;
    internal VirtualPath BaseVirtualDir {
        get { return _baseVirtualDir; } 

    } 
 
    // The virtual path to the file currently being processed
    private VirtualPath _currentVirtualPath; 
    internal VirtualPath CurrentVirtualPath {
        get { return _currentVirtualPath; }
        set {
            _currentVirtualPath = value; 

            // Can happen in the designer 
            if (value == null) return; 

            _baseVirtualDir = value.Parent; 
        }
    }

    internal string CurrentVirtualPathString { 
        get { return System.Web.VirtualPath.GetVirtualPathString(CurrentVirtualPath); }
    } 
 
    internal readonly static Regex tagRegex = new TagRegex();
    internal readonly static Regex directiveRegex = new DirectiveRegex(); 
    internal readonly static Regex endtagRegex = new EndTagRegex();
    internal readonly static Regex aspCodeRegex = new AspCodeRegex();
    internal readonly static Regex aspExprRegex = new AspExprRegex();
    internal readonly static Regex databindExprRegex = new DatabindExprRegex(); 
    internal readonly static Regex commentRegex = new CommentRegex();
    internal readonly static Regex includeRegex = new IncludeRegex(); 
    internal readonly static Regex textRegex = new TextRegex(); 

    // Regexes used in DetectSpecialServerTagError 
    internal readonly static Regex gtRegex = new GTRegex();
    internal readonly static Regex ltRegex = new LTRegex();
    internal readonly static Regex serverTagsRegex = new ServerTagsRegex();
    internal readonly static Regex runatServerRegex = new RunatServerRegex(); 

    /* 
     * Turns relative virtual path into absolute ones 
     */
    internal VirtualPath ResolveVirtualPath(VirtualPath virtualPath) { 
        return VirtualPathProvider.CombineVirtualPathsInternal(CurrentVirtualPath, virtualPath);
    }
}
 

} 


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK