/// <summary>
 /// 
 /// </summary>
 static TemplateDocumentConfig()
 {
     TemplateDocumentConfig.Default = new TemplateDocumentConfig();
     TemplateDocumentConfig.Full = new TemplateDocumentConfig(TagOpenMode.Full, false);
     TemplateDocumentConfig.Compress = new TemplateDocumentConfig(TagOpenMode.Simple, true);
     TemplateDocumentConfig.Compatible = new TemplateDocumentConfig(TagOpenMode.Simple, false, true);
 }
Exemple #2
0
 /// <summary>
 ///
 /// </summary>
 static TemplateDocumentConfig()
 {
     TemplateDocumentConfig.Default    = new TemplateDocumentConfig();
     TemplateDocumentConfig.Full       = new TemplateDocumentConfig(TagOpenMode.Full, false);
     TemplateDocumentConfig.Compress   = new TemplateDocumentConfig(TagOpenMode.Simple, true);
     TemplateDocumentConfig.Compatible = new TemplateDocumentConfig(TagOpenMode.Simple, false, true);
 }
        /// <summary>
        /// 从文件缓存中构建模板文档对象
        /// </summary>
        /// <param name="fileName"></param>
        /// <param name="charset"></param>
        /// <param name="documentConfig"></param>
        /// <returns></returns>
        public static TemplateDocument FromFileCache(string fileName, Encoding charset, TemplateDocumentConfig documentConfig)
        {
            Cache cache = HttpRuntime.Cache;

            if (documentConfig == null)
            {
                documentConfig = TemplateDocumentConfig.Default;
            }

            //没有缓存则直接返回实例
            if (cache == null)
            {
                return(new TemplateDocument(fileName, charset, documentConfig));
            }
            fileName = Path.GetFullPath(fileName);

            string           cacheKey = string.Format("TEMPLATE_DOCUMENT_CACHE_ITEM_{0}_{1}_{2}", documentConfig.TagOpenMode, documentConfig.CompressText, fileName);
            TemplateDocument document = cache.Get(cacheKey) as TemplateDocument;

            if (document == null)
            {
                document = new TemplateDocument(fileName, charset, documentConfig);
                cache.Insert(cacheKey, document, new CacheDependency(document.FileDependencies));
            }
            //返回副本
            return(document.Clone());
        }
 /// <summary>
 /// 根据字符串进行解析
 /// </summary>
 /// <param name="text"></param>
 /// <param name="documentConfig"></param>
 public TemplateDocument(string text, string rootDirectory, string fileName, TemplateDocumentConfig documentConfig)
 {
     this.Charset       = Encoding.UTF8;
     this.File          = Path.GetFullPath(fileName);
     this.RootDirectory = rootDirectory;
     this.AddFileDependency(this.File);
     this.DocumentConfig = documentConfig;
     this.ParseString(text);
 }
 /// <summary>
 /// 根据文件内容进行解析
 /// </summary>
 /// <param name="fileName"></param>
 /// <param name="charset"></param>
 /// <param name="documentConfig"></param>
 public TemplateDocument(string fileName, Encoding charset, TemplateDocumentConfig documentConfig)
 {
     string text = System.IO.File.ReadAllText(fileName, charset);
     this.File = Path.GetFullPath(fileName);
     this.Charset = charset;
     this.AddFileDependency(this.File);
     this.DocumentConfig = documentConfig;
     this.ParseString(this, text);
 }
Exemple #6
0
        /// <summary>
        /// 根据文件内容进行解析
        /// </summary>
        /// <param name="fileName"></param>
        /// <param name="charset"></param>
        /// <param name="documentConfig"></param>
        public TemplateDocument(string fileName, Encoding charset, TemplateDocumentConfig documentConfig)
        {
            string text = System.IO.File.ReadAllText(fileName, charset);

            this.File    = Path.GetFullPath(fileName);
            this.Charset = charset;
            this.AddFileDependency(this.File);
            this.DocumentConfig = documentConfig;
            this.ParseString(this, text);
        }
Exemple #7
0
 /// <summary>
 /// 根据TextRader数据进行解析
 /// </summary>
 /// <param name="reader"></param>
 /// <param name="documentConfig"></param>
 public TemplateDocument(TextReader reader, TemplateDocumentConfig documentConfig)
 {
     this.DocumentConfig = documentConfig;
     this.ParseString(reader.ReadToEnd());
 }
Exemple #8
0
 /// <summary>
 ///
 /// </summary>
 private TemplateDocument(TemplateDocumentConfig documentConfig)
 {
     this.DocumentConfig = documentConfig;
 }
Exemple #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="documentElement"></param>
 /// <param name="container"></param>
 /// <param name="text"></param>
 /// <param name="documentConfig"></param>
 internal TemplateDocument(Template documentElement, Tag container, string text, TemplateDocumentConfig documentConfig)
 {
     this.DocumentConfig = documentConfig;
     this.AppendChild(documentElement);
     this.ChildTemplates.Add(documentElement);
     this.ParseString(documentElement, container, text);
 }
Exemple #10
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="documentElement"></param>
 /// <param name="text"></param>
 /// <param name="documentConfig"></param>
 internal TemplateDocument(Template documentElement, string text, TemplateDocumentConfig documentConfig) : this(documentElement, documentElement, text, documentConfig)
 {
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="documentElement"></param>
 /// <param name="container"></param>
 /// <param name="text"></param>
 /// <param name="documentConfig"></param>
 internal TemplateDocument(Template documentElement, Tag container, string text, TemplateDocumentConfig documentConfig)
 {
     this.DocumentConfig = documentConfig;
     this.AppendChild(documentElement);
     this.ChildTemplates.Add(documentElement);
     this.ParseString(documentElement, container, text);
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="documentElement"></param>
 /// <param name="text"></param>
 /// <param name="documentConfig"></param>
 internal TemplateDocument(Template documentElement, string text, TemplateDocumentConfig documentConfig) : this(documentElement, documentElement, text, documentConfig) { }
        /// <summary>
        /// 从文件缓存中构建模板文档对象
        /// </summary>
        /// <param name="fileName"></param>
        /// <param name="charset"></param>
        /// <param name="documentConfig"></param>
        /// <returns></returns>
        public static TemplateDocument FromFileCache(string fileName, Encoding charset, TemplateDocumentConfig documentConfig)
        {
            Cache cache = HttpRuntime.Cache;
            if (documentConfig == null) documentConfig = TemplateDocumentConfig.Default;

            //没有缓存则直接返回实例
            if (cache == null) return new TemplateDocument(fileName, charset, documentConfig);
            fileName = Path.GetFullPath(fileName);

            string cacheKey = string.Format("TEMPLATE_DOCUMENT_CACHE_ITEM_{0}_{1}_{2}", documentConfig.TagOpenMode, documentConfig.CompressText, fileName);
            TemplateDocument document = cache.Get(cacheKey) as TemplateDocument;
            if (document == null)
            {
                document = new TemplateDocument(fileName, charset, documentConfig);
                cache.Insert(cacheKey, document, new CacheDependency(document.FileDependencies));
            }
            //返回副本
            return document.Clone();
        }
 /// <summary>
 /// 根据TextRader数据进行解析
 /// </summary>
 /// <param name="reader"></param>
 /// <param name="documentConfig"></param>
 public TemplateDocument(TextReader reader, TemplateDocumentConfig documentConfig)
 {
     this.DocumentConfig = documentConfig;
     this.ParseString(reader.ReadToEnd());
 }
 /// <summary>
 /// 
 /// </summary>
 private TemplateDocument(TemplateDocumentConfig documentConfig)
 {
     this.DocumentConfig = documentConfig;
 }
Exemple #16
0
 /// <summary>
 /// 根据字符串进行解析
 /// </summary>
 /// <param name="text"></param>
 /// <param name="documentConfig"></param>
 public TemplateDocument(string text, TemplateDocumentConfig documentConfig)
 {
     this.DocumentConfig = documentConfig;
     this.ParseString(text);
 }
 /// <summary>
 /// 根据字符串进行解析
 /// </summary>
 /// <param name="text"></param>
 /// <param name="documentConfig"></param>
 public TemplateDocument(string text, TemplateDocumentConfig documentConfig)
 {
     this.DocumentConfig = documentConfig;
     this.ParseString(text);
 }