blob: 55052253b11e926bd2931a06530ddedc6cc4638c (
plain) (
blame)
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
93
94
95
96
97
98
|
<?xml version="1.0" encoding="gb2312"?>
<!-- Original Revision: 1.4
$FreeBSD$ -->
<!ENTITY mac.mpo "mpo">
<!ENTITY mac.thead '
<colspec xmlns="http://docbook.org/ns/docbook" colname="first" colwidth="0"/>
<colspec xmlns="http://docbook.org/ns/docbook" colwidth="0"/>
<colspec xmlns="http://docbook.org/ns/docbook" colname="last" colwidth="0"/>
<thead xmlns="http://docbook.org/ns/docbook">
<row>
<entry>参数</entry>
<entry>说明</entry>
<entry>锁定</entry>
</row>
</thead>
'>
<!ENTITY mac.externalize.paramdefs '
<paramdef xmlns="http://docbook.org/ns/docbook">struct label *<parameter>label</parameter></paramdef>
<paramdef xmlns="http://docbook.org/ns/docbook">char *<parameter>element_name</parameter></paramdef>
<paramdef xmlns="http://docbook.org/ns/docbook">struct sbuf *<parameter>sb</parameter></paramdef>
<paramdef xmlns="http://docbook.org/ns/docbook">int <parameter>*claimed</parameter></paramdef>
'>
<!ENTITY mac.externalize.tbody '
<tbody xmlns="http://docbook.org/ns/docbook">
<row>
<entry><parameter>label</parameter></entry>
<entry>将用外部形式表示的标记</entry>
</row>
<row>
<entry><parameter>element_name</parameter></entry>
<entry>需要外部表示标记的策略的名字</entry>
</row>
<row>
<entry><parameter>sb</parameter></entry>
<entry>用来存放标记的文本表示形式的字符buffer</entry>
</row>
<row>
<entry><parameter>claimed</parameter></entry>
<entry>如果可以填充element_data 域,则其数值递增</entry>
</row>
</tbody>
'>
<!ENTITY mac.externalize.para '
<para xmlns="http://docbook.org/ns/docbook">根据传入的标记结构,产生一个以外部形式表示的标记。
一个外部形式标记,是标记内容的文本表示,它由用户级的应用程序使用,是用户可读的。
目前的MAC实现方案将依次调用策略的相应入口函数,因此,
具体策略的实现代码,需要在填写sb之前,先检查element_name中指定的名字。
如果element_name中的内容与你的策略名字不相符,则直接返回0。
仅当转换标记数据的过程中出现错误时,才返回非0值。
一旦策略决定填写element_data,递增*claim的数值。</para>
'>
<!ENTITY mac.internalize.paramdefs '
<paramdef xmlns="http://docbook.org/ns/docbook">struct label *<parameter>label</parameter></paramdef>
<paramdef xmlns="http://docbook.org/ns/docbook">char *<parameter>element_name</parameter></paramdef>
<paramdef xmlns="http://docbook.org/ns/docbook">char *<parameter>element_data</parameter></paramdef>
<paramdef xmlns="http://docbook.org/ns/docbook">int *<parameter>claimed</parameter></paramdef>
'>
<!ENTITY mac.internalize.tbody '
<tbody xmlns="http://docbook.org/ns/docbook">
<row>
<entry><parameter>label</parameter></entry>
<entry>将被填充的标记</entry>
</row>
<row>
<entry><parameter>element_name</parameter></entry>
<entry>需要内部表示标记的策略的名字</entry>
</row>
<row>
<entry><parameter>element_data</parameter></entry>
<entry>需要被转换的文本数据</entry>
</row>
<row>
<entry><parameter>claimed</parameter></entry>
<entry>如果数据被正确转换,则其数值递增</entry>
</row>
</tbody>
'>
<!ENTITY mac.internalize.para '
<para xmlns="http://docbook.org/ns/docbook">根据一个文本形式的外部表示标记数据,创建一个内部形式的标记结构。
目前的MAC方案将依次调用所有策略的相关入口函数,来响应标记的内部转换请求,
因此,实现代码必须首先通过比较element_name中的内容和自己的策略名字,
来确定是否需要转换element_data中存放的数据。
类似的,如果名字不匹配或者数据转换操作成功,该函数返回0,并递增*claimed的值。</para>
'>
|