-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathIParseContext.cs
92 lines (76 loc) · 2.74 KB
/
IParseContext.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using System.Collections.Generic;
using System.Collections.Specialized;
namespace SiteServer.Plugin
{
/// <summary>
/// STL解析上下文。
/// </summary>
public interface IParseContext
{
/// <summary>
/// 站点Id。
/// </summary>
int SiteId { get; }
/// <summary>
/// 栏目Id。
/// </summary>
int ChannelId { get; }
/// <summary>
/// 内容Id。
/// </summary>
int ContentId { get; }
/// <summary>
/// 内容实体。
/// </summary>
IContentInfo ContentInfo { get; }
/// <summary>
/// 模板类型。
/// </summary>
TemplateType TemplateType { get; }
/// <summary>
/// 模板Id。
/// </summary>
int TemplateId { get; }
/// <summary>
/// 生成的Html页面中包含在head标签内的代码。
/// </summary>
SortedDictionary<string, string> HeadCodes { get; }
/// <summary>
/// 生成的Html页面中包含在body标签内的代码。
/// </summary>
SortedDictionary<string, string> BodyCodes { get; }
/// <summary>
/// 生成的Html页面中包含在页面最底部的代码。
/// </summary>
SortedDictionary<string, string> FootCodes { get; }
/// <summary>
/// 将键/值对放入STL解析上下文中,对包含下级标签STL解析情况下共享数据有用。
/// 注意:该数据是不稳定的 —— 它在当前STL解析完成后将丢失。
/// </summary>
/// <param name="key">键。</param>
/// <param name="objectValue">值。</param>
void Set<T>(string key, T objectValue);
/// <summary>
/// 从STL解析上下文中获取指定键的值。
/// </summary>
/// <param name="key">键。</param>
/// <returns>如果STL解析上下文中存在指定的键,则返回对应的值;否则返回类型T的默认值。</returns>
T Get<T>(string key);
/// <summary>
/// 当前解析的STL标签的属性键值集合。
/// </summary>
NameValueCollection StlAttributes { get; }
/// <summary>
/// 当前解析的STL标签的完整代码,而不仅限于标签内部的内容。
/// </summary>
string StlOuterHtml { get; }
/// <summary>
/// 当前解析的STL标签内部的内容。
/// </summary>
string StlInnerHtml { get; }
/// <summary>
/// 判断当前解析的STL标签是STL元素还是STL实体,如果是元素,则返回true;如果是实体,则返回false。
/// </summary>
bool IsStlElement { get; }
}
}