1 |
<!-- |
2 |
revised DTD for the RFC document series, draft of 2002-02-14 |
3 |
--> |
4 |
|
5 |
|
6 |
<!-- |
7 |
Contents |
8 |
|
9 |
DTD data types |
10 |
|
11 |
The top-level |
12 |
|
13 |
Front matter |
14 |
|
15 |
The Body |
16 |
|
17 |
Back matter |
18 |
--> |
19 |
|
20 |
|
21 |
<!-- |
22 |
DTD data types: |
23 |
|
24 |
entity description |
25 |
====== =============================================== |
26 |
NUMBER [0-9]+ |
27 |
NUMBERS a comma-separated list of NUMBER |
28 |
|
29 |
DAY the day of the month, e.g., "1" |
30 |
MONTH the month of the year, e.g., "January" |
31 |
YEAR a four-digit year, e.g., "1999" |
32 |
|
33 |
URI e.g., "http://invisible.net/" |
34 |
|
35 |
ATEXT/CTEXT printable ASCII text (no line-terminators) |
36 |
|
37 |
TEXT character data |
38 |
--> |
39 |
|
40 |
|
41 |
<!ENTITY % NUMBER "CDATA"> |
42 |
<!ENTITY % NUMBERS "CDATA"> |
43 |
|
44 |
<!ENTITY % DAY "CDATA"> |
45 |
<!ENTITY % MONTH "CDATA"> |
46 |
<!ENTITY % YEAR "CDATA"> |
47 |
|
48 |
<!ENTITY % URI "CDATA"> |
49 |
|
50 |
<!ENTITY % ATEXT "CDATA"> |
51 |
<!ENTITY % CTEXT "#PCDATA"> |
52 |
|
53 |
<!ENTITY % TEXT "#PCDATA"> |
54 |
|
55 |
<!ENTITY rfc.number "XXXX"> |
56 |
|
57 |
|
58 |
<!-- |
59 |
The top-level |
60 |
--> |
61 |
|
62 |
|
63 |
<!-- |
64 |
attributes for the "rfc" element are supplied by the RFC |
65 |
editor. when preparing drafts, authors should leave them blank. |
66 |
|
67 |
the "seriesNo" attribute is used if the category is, e.g., BCP. |
68 |
--> |
69 |
<!ELEMENT rfc (front,middle,back?)> |
70 |
<!ATTLIST rfc |
71 |
number %NUMBER; #IMPLIED |
72 |
obsoletes %NUMBERS; "" |
73 |
updates %NUMBERS; "" |
74 |
category (std|bcp|info|exp|historic) |
75 |
"info" |
76 |
seriesNo %NUMBER; #IMPLIED |
77 |
ipr (full2026|noDerivativeWorks2026|none) |
78 |
#IMPLIED |
79 |
docName %ATEXT; #IMPLIED> |
80 |
|
81 |
|
82 |
<!-- |
83 |
Front matter |
84 |
--> |
85 |
|
86 |
|
87 |
<!ELEMENT front (title,author+,date,area*,workgroup*,keyword*, |
88 |
abstract?,note*)> |
89 |
|
90 |
<!-- the "abbrev" attribute is used for headers, etc. --> |
91 |
<!ELEMENT title (%CTEXT;)> |
92 |
<!ATTLIST title |
93 |
abbrev %ATEXT; #IMPLIED> |
94 |
|
95 |
<!ELEMENT author (organization,address?)> |
96 |
<!ATTLIST author |
97 |
initials %ATEXT; #IMPLIED |
98 |
surname %ATEXT; #IMPLIED |
99 |
fullname %ATEXT; #IMPLIED> |
100 |
|
101 |
<!ELEMENT organization |
102 |
(%CTEXT;)> |
103 |
<!ATTLIST organization |
104 |
abbrev %ATEXT; #IMPLIED> |
105 |
|
106 |
<!ELEMENT address (postal?,phone?,facsimile?,email?,uri?)> |
107 |
|
108 |
<!-- at most one of each the city, region, code, and country |
109 |
elements may be present --> |
110 |
<!ELEMENT postal (street+,(city|region|code|country)*)> |
111 |
<!ELEMENT street (%CTEXT;)> |
112 |
<!ELEMENT city (%CTEXT;)> |
113 |
<!ELEMENT region (%CTEXT;)> |
114 |
<!ELEMENT code (%CTEXT;)> |
115 |
<!ELEMENT country (%CTEXT;)> |
116 |
<!ELEMENT phone (%CTEXT;)> |
117 |
<!ELEMENT facsimile (%CTEXT;)> |
118 |
<!ELEMENT email (%CTEXT;)> |
119 |
<!ELEMENT uri (%CTEXT;)> |
120 |
|
121 |
<!ELEMENT date EMPTY> |
122 |
<!ATTLIST date |
123 |
day %DAY; #IMPLIED |
124 |
month %MONTH; #REQUIRED |
125 |
year %YEAR; #REQUIRED> |
126 |
|
127 |
<!-- meta-data... --> |
128 |
<!ELEMENT area (%CTEXT;)> |
129 |
<!ELEMENT workgroup (%CTEXT;)> |
130 |
<!ELEMENT keyword (%CTEXT;)> |
131 |
|
132 |
<!ELEMENT abstract (t)+> |
133 |
<!ELEMENT note (t)+> |
134 |
<!ATTLIST note |
135 |
title %ATEXT; #REQUIRED> |
136 |
|
137 |
|
138 |
<!-- |
139 |
The body |
140 |
--> |
141 |
|
142 |
|
143 |
<!ELEMENT middle (section)+> |
144 |
|
145 |
<!ELEMENT section (t|figure|iref|section)*> |
146 |
<!ATTLIST section |
147 |
anchor ID #IMPLIED |
148 |
title %ATEXT; #REQUIRED> |
149 |
|
150 |
<!ELEMENT t (%TEXT;|list|figure|xref|eref|iref|vspace)*> |
151 |
<!ATTLIST t |
152 |
hangText %ATEXT; #IMPLIED> |
153 |
|
154 |
<!-- the value of the style attribute is inherited from the closest |
155 |
parent --> |
156 |
<!ELEMENT list (t+)> |
157 |
<!ATTLIST list |
158 |
style %ATEXT; "empty"> |
159 |
|
160 |
<!ELEMENT xref (%CTEXT;)> |
161 |
<!ATTLIST xref |
162 |
target IDREF #REQUIRED |
163 |
pageno (true|false) "false"> |
164 |
|
165 |
<!ELEMENT eref (%CTEXT;)> |
166 |
<!ATTLIST eref |
167 |
target %URI; #REQUIRED> |
168 |
|
169 |
<!ELEMENT iref EMPTY> |
170 |
<!ATTLIST iref |
171 |
item %ATEXT; #REQUIRED |
172 |
subitem %ATEXT; "" |
173 |
primary (true|false) "false"> |
174 |
|
175 |
<!ELEMENT vspace EMPTY> |
176 |
<!ATTLIST vspace |
177 |
blankLines %NUMBER; "0"> |
178 |
|
179 |
<!ELEMENT figure (preamble?,artwork,postamble?)> |
180 |
<!ATTLIST figure |
181 |
anchor ID #IMPLIED |
182 |
title %ATEXT; ""> |
183 |
|
184 |
<!ELEMENT preamble (%TEXT;|xref|eref|iref)*> |
185 |
<!ELEMENT artwork (%TEXT;)*> |
186 |
<!ATTLIST artwork |
187 |
xml:space (default|preserve) "preserve" |
188 |
name %ATEXT; "" |
189 |
type %ATEXT; ""> |
190 |
|
191 |
<!ELEMENT postamble (%TEXT;|xref|eref|iref)*> |
192 |
|
193 |
|
194 |
<!-- |
195 |
Back matter |
196 |
--> |
197 |
|
198 |
|
199 |
<!-- sections, if present, are appendices --> |
200 |
<!ELEMENT back (references*,section*)> |
201 |
|
202 |
<!ELEMENT references (reference+)> |
203 |
<!ATTLIST references |
204 |
title %ATEXT; "References"> |
205 |
<!ELEMENT reference (front,seriesInfo*)> |
206 |
<!ATTLIST reference |
207 |
anchor ID #IMPLIED |
208 |
target %URI; #IMPLIED> |
209 |
<!ELEMENT seriesInfo EMPTY> |
210 |
<!ATTLIST seriesInfo |
211 |
name %ATEXT; #REQUIRED |
212 |
value %ATEXT; #REQUIRED> |