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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
<?xml version="1.0" encoding="UTF-8"?>
<!-- Root element -->
<!ELEMENT monodoc (class | delegate | enum | interface | struct)*>
<!ATTLIST monodoc
language CDATA #REQUIRED
>
<!-- Type-level tags -->
<!ELEMENT class (summary, remarks?, (class | delegate | enum | interface | struct | constructor | event | field | method | operator | property)*, seealso*)>
<!ATTLIST class
name CDATA #REQUIRED
assembly CDATA #IMPLIED
>
<!ELEMENT delegate (summary, remarks?, param*, seealso*)>
<!ATTLIST delegate
name CDATA #REQUIRED
assembly CDATA #IMPLIED
>
<!ELEMENT enum (summary, remarks?, member+)>
<!ATTLIST enum
name CDATA #REQUIRED
assembly CDATA #IMPLIED
>
<!ELEMENT interface (summary, remarks?, seealso*)>
<!ATTLIST interface
name CDATA #REQUIRED
assembly CDATA #IMPLIED
>
<!ELEMENT struct (summary, remarks?, (class | delegate | enum | interface | struct | constructor | event | field | method | operator | property)*, seealso*)>
<!ATTLIST struct
name CDATA #REQUIRED
assembly CDATA #IMPLIED
>
<!-- Member-level tags -->
<!ELEMENT constructor (summary, remarks?, param*, exception*, seealso*)>
<!ATTLIST constructor
name CDATA #REQUIRED
>
<!ELEMENT event (summary, remarks?, data, seealso*)>
<!ATTLIST event
name CDATA #REQUIRED
>
<!ELEMENT field (summary, remarks?, seealso*)>
<!ATTLIST field
name CDATA #REQUIRED
>
<!ELEMENT method (summary, remarks?, param*, exception*, returns?, seealso*)>
<!ATTLIST method
name CDATA #REQUIRED
>
<!ELEMENT operator (summary, remarks?, param*, exception*, returns?, seealso*)>
<!ATTLIST operator
name CDATA #REQUIRED
>
<!ELEMENT property (summary, remarks?, value, exception*, seealso*)>
<!ATTLIST property
name CDATA #REQUIRED
>
<!-- Member-info level tags -->
<!ELEMENT data (#PCDATA | c | example | list | para | see)*>
<!ELEMENT exception (#PCDATA | c | example | list | para | paramref | see)*>
<!ATTLIST exception
cref CDATA #REQUIRED
>
<!ELEMENT member (#PCDATA | c | see)*>
<!ATTLIST member
name CDATA #REQUIRED
>
<!ELEMENT param (#PCDATA | c | example | list | para | see)*>
<!ATTLIST param
name CDATA #REQUIRED
>
<!ELEMENT remarks (#PCDATA | c | example | list | para | paramref | see)*>
<!ELEMENT returns (#PCDATA | c | example | list | para | paramref | see)*>
<!ELEMENT seealso EMPTY>
<!ATTLIST seealso
cref CDATA #REQUIRED
>
<!ELEMENT summary (#PCDATA | c | example | list | para | paramref | see)*>
<!ELEMENT value (#PCDATA | c | example | list | para | paramref | see)*>
<!-- Formatting and presentation tags -->
<!ELEMENT c (#PCDATA)>
<!ELEMENT code (#PCDATA)>
<!ATTLIST code
lang CDATA #REQUIRED
>
<!ELEMENT description (#PCDATA | c | see)*>
<!ELEMENT example (#PCDATA | c | code | para | see)*>
<!ELEMENT item (term?, description)>
<!ELEMENT list (listheader?, item+)>
<!ATTLIST list
type (bullet | number | table) #REQUIRED
>
<!ELEMENT listheader (term?, description)>
<!ELEMENT para (#PCDATA | c | example | list | paramref | see)*>
<!ELEMENT paramref EMPTY>
<!ATTLIST paramref
name CDATA #REQUIRED
>
<!ELEMENT see (#PCDATA)>
<!ATTLIST see
cref CDATA #REQUIRED
>
<!ELEMENT term (#PCDATA)>
|