1 | <!--
|
---|
2 | revised DTD for the RFC document series, draft of 2009-10-06
|
---|
3 | -->
|
---|
4 |
|
---|
5 |
|
---|
6 | <!--
|
---|
7 | Typical invocation:
|
---|
8 | <!DOCTYPE rfc PUBLIC "-//IETF//DTD RFC 2629//EN"
|
---|
9 | "http://xml.resource.org/authoring/rfc2629.dtd" [
|
---|
10 | ... dtd subset ...
|
---|
11 | ]>
|
---|
12 | or
|
---|
13 | <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
|
---|
14 | ... dtd subset ...
|
---|
15 | ]>
|
---|
16 | -->
|
---|
17 |
|
---|
18 |
|
---|
19 | <!--
|
---|
20 | Contents
|
---|
21 |
|
---|
22 | Character entities
|
---|
23 |
|
---|
24 | DTD data types
|
---|
25 |
|
---|
26 | The top-level
|
---|
27 |
|
---|
28 | Front matter
|
---|
29 |
|
---|
30 | The Body
|
---|
31 |
|
---|
32 | Back matter
|
---|
33 | -->
|
---|
34 |
|
---|
35 |
|
---|
36 | <!--
|
---|
37 | Character entities
|
---|
38 | -->
|
---|
39 |
|
---|
40 |
|
---|
41 | <!ENTITY % rfc2629-xhtml
|
---|
42 | PUBLIC "-//IETF//ENTITIES XHTML subset for RFC 2629//EN"
|
---|
43 | "rfc2629-xhtml.ent">
|
---|
44 | %rfc2629-xhtml;
|
---|
45 |
|
---|
46 | <!ENTITY % rfc2629-other
|
---|
47 | PUBLIC "-//IETF//ENTITIES Other for RFC 2629//EN"
|
---|
48 | "rfc2629-other.ent">
|
---|
49 | %rfc2629-other;
|
---|
50 |
|
---|
51 |
|
---|
52 | <!--
|
---|
53 | DTD data types:
|
---|
54 |
|
---|
55 | entity description
|
---|
56 | ====== ===============================================
|
---|
57 | NUMBER [0-9]+
|
---|
58 | NUMBERS a comma-separated list of NUMBER
|
---|
59 |
|
---|
60 | DAY the day of the month, e.g., "1"
|
---|
61 | MONTH the month of the year, e.g., "January"
|
---|
62 | YEAR a four-digit year, e.g., "1999"
|
---|
63 |
|
---|
64 | URI e.g., "http://invisible.net/"
|
---|
65 |
|
---|
66 | ATEXT/CTEXT printable ASCII text (no line-terminators)
|
---|
67 |
|
---|
68 | TEXT character data
|
---|
69 | -->
|
---|
70 |
|
---|
71 |
|
---|
72 | <!ENTITY % NUMBER "CDATA">
|
---|
73 | <!ENTITY % NUMBERS "CDATA">
|
---|
74 |
|
---|
75 | <!ENTITY % DAY "CDATA">
|
---|
76 | <!ENTITY % MONTH "CDATA">
|
---|
77 | <!ENTITY % YEAR "CDATA">
|
---|
78 |
|
---|
79 | <!ENTITY % URI "CDATA">
|
---|
80 |
|
---|
81 | <!ENTITY % ATEXT "CDATA">
|
---|
82 | <!ENTITY % CTEXT "#PCDATA">
|
---|
83 |
|
---|
84 | <!ENTITY % TEXT "#PCDATA">
|
---|
85 |
|
---|
86 | <!ENTITY rfc.number "XXXX">
|
---|
87 |
|
---|
88 |
|
---|
89 | <!--
|
---|
90 | The top-level
|
---|
91 | -->
|
---|
92 |
|
---|
93 |
|
---|
94 | <!--
|
---|
95 | attributes for the "rfc" element are supplied by the RFC
|
---|
96 | editor. when preparing drafts, authors should leave them blank.
|
---|
97 |
|
---|
98 | the "seriesNo" attribute is used if the category is, e.g., BCP.
|
---|
99 | -->
|
---|
100 | <!ELEMENT rfc (front,middle,back?)>
|
---|
101 | <!ATTLIST rfc
|
---|
102 | number %NUMBER; #IMPLIED
|
---|
103 | obsoletes %NUMBERS; ""
|
---|
104 | updates %NUMBERS; ""
|
---|
105 | category (std|bcp|info|exp|historic)
|
---|
106 | #IMPLIED
|
---|
107 | consensus (no|yes) #IMPLIED
|
---|
108 | seriesNo %NUMBER; #IMPLIED
|
---|
109 | ipr (full2026|noDerivativeWorks2026|none
|
---|
110 | |full3667|noModification3667|noDerivatives3667
|
---|
111 | |full3978|noModification3978|noDerivatives3978
|
---|
112 | |trust200811|noModificationTrust200811|noDerivativesTrust200811
|
---|
113 | |trust200902|noModificationTrust200902|noDerivativesTrust200902
|
---|
114 | |pre5378Trust200902)
|
---|
115 | #IMPLIED
|
---|
116 | iprExtract IDREF #IMPLIED
|
---|
117 | submissionType
|
---|
118 | (IETF|IAB|IRTF|independent) "IETF"
|
---|
119 | docName %ATEXT; #IMPLIED
|
---|
120 | xml:lang %ATEXT; "en">
|
---|
121 |
|
---|
122 |
|
---|
123 | <!--
|
---|
124 | Front matter
|
---|
125 | -->
|
---|
126 |
|
---|
127 |
|
---|
128 | <!ELEMENT front (title,author+,date,area*,workgroup*,keyword*,
|
---|
129 | abstract?,note*)>
|
---|
130 |
|
---|
131 | <!-- the "abbrev" attribute is used for headers, etc. -->
|
---|
132 | <!ELEMENT title (%CTEXT;)>
|
---|
133 | <!ATTLIST title
|
---|
134 | abbrev %ATEXT; #IMPLIED>
|
---|
135 |
|
---|
136 | <!ELEMENT author (organization?,address?)>
|
---|
137 | <!ATTLIST author
|
---|
138 | initials %ATEXT; #IMPLIED
|
---|
139 | surname %ATEXT; #IMPLIED
|
---|
140 | fullname %ATEXT; #IMPLIED
|
---|
141 | role (editor) #IMPLIED>
|
---|
142 |
|
---|
143 | <!ELEMENT organization
|
---|
144 | (%CTEXT;)>
|
---|
145 | <!ATTLIST organization
|
---|
146 | abbrev %ATEXT; #IMPLIED>
|
---|
147 |
|
---|
148 | <!ELEMENT address (postal?,phone?,facsimile?,email?,uri?)>
|
---|
149 |
|
---|
150 | <!-- this content model should be more strict:
|
---|
151 | at most one of each the city, region, code, and country
|
---|
152 | elements may be present -->
|
---|
153 | <!ELEMENT postal (street+,(city|region|code|country)*)>
|
---|
154 | <!ELEMENT street (%CTEXT;)>
|
---|
155 | <!ELEMENT city (%CTEXT;)>
|
---|
156 | <!ELEMENT region (%CTEXT;)>
|
---|
157 | <!ELEMENT code (%CTEXT;)>
|
---|
158 | <!ELEMENT country (%CTEXT;)>
|
---|
159 | <!ELEMENT phone (%CTEXT;)>
|
---|
160 | <!ELEMENT facsimile (%CTEXT;)>
|
---|
161 | <!ELEMENT email (%CTEXT;)>
|
---|
162 | <!ELEMENT uri (%CTEXT;)>
|
---|
163 |
|
---|
164 | <!ELEMENT date EMPTY>
|
---|
165 | <!ATTLIST date
|
---|
166 | day %DAY; #IMPLIED
|
---|
167 | month %MONTH; #IMPLIED
|
---|
168 | year %YEAR; #IMPLIED>
|
---|
169 |
|
---|
170 | <!-- meta-data... -->
|
---|
171 | <!ELEMENT area (%CTEXT;)>
|
---|
172 | <!ELEMENT workgroup (%CTEXT;)>
|
---|
173 | <!ELEMENT keyword (%CTEXT;)>
|
---|
174 |
|
---|
175 | <!ELEMENT abstract (t)+>
|
---|
176 | <!ELEMENT note (t)+>
|
---|
177 | <!ATTLIST note
|
---|
178 | title %ATEXT; #REQUIRED>
|
---|
179 |
|
---|
180 |
|
---|
181 | <!--
|
---|
182 | The body
|
---|
183 | -->
|
---|
184 |
|
---|
185 |
|
---|
186 | <!ELEMENT middle (section+)>
|
---|
187 |
|
---|
188 | <!ELEMENT section ((t|figure|texttable|iref)*,section*)>
|
---|
189 | <!ATTLIST section
|
---|
190 | anchor ID #IMPLIED
|
---|
191 | title %ATEXT; #REQUIRED
|
---|
192 | toc (include|exclude|default)
|
---|
193 | "default">
|
---|
194 |
|
---|
195 | <!-- use of <appendix/> is deprecated...
|
---|
196 | <!ELEMENT appendix ((t|figure|texttable|iref)*,appendix*)>
|
---|
197 | <!ATTLIST appendix
|
---|
198 | anchor ID #IMPLIED
|
---|
199 | title %ATEXT; #REQUIRED
|
---|
200 | toc (include|exclude|default)
|
---|
201 | "default">
|
---|
202 | -->
|
---|
203 |
|
---|
204 | <!-- use of <figure/> is deprecated... -->
|
---|
205 | <!ELEMENT t (%TEXT;|list|figure|xref|eref|iref|cref|spanx|vspace)*>
|
---|
206 | <!ATTLIST t
|
---|
207 | anchor ID #IMPLIED
|
---|
208 | hangText %ATEXT; #IMPLIED>
|
---|
209 |
|
---|
210 | <!-- the value of the style attribute is inherited from the closest
|
---|
211 | parent -->
|
---|
212 | <!ELEMENT list (t+)>
|
---|
213 | <!ATTLIST list
|
---|
214 | style %ATEXT; #IMPLIED
|
---|
215 | hangIndent %NUMBER; #IMPLIED
|
---|
216 | counter %ATEXT; #IMPLIED>
|
---|
217 |
|
---|
218 | <!ELEMENT xref (%CTEXT;)>
|
---|
219 | <!ATTLIST xref
|
---|
220 | target IDREF #REQUIRED
|
---|
221 | pageno (true|false) "false"
|
---|
222 | format (counter|title|none|default)
|
---|
223 | "default">
|
---|
224 |
|
---|
225 | <!ELEMENT eref (%CTEXT;)>
|
---|
226 | <!ATTLIST eref
|
---|
227 | target %URI; #REQUIRED>
|
---|
228 |
|
---|
229 | <!ELEMENT iref EMPTY>
|
---|
230 | <!ATTLIST iref
|
---|
231 | item %ATEXT; #REQUIRED
|
---|
232 | subitem %ATEXT; ""
|
---|
233 | primary (true|false) "false">
|
---|
234 |
|
---|
235 | <!ELEMENT cref (%CTEXT;)>
|
---|
236 | <!ATTLIST cref
|
---|
237 | anchor ID #IMPLIED
|
---|
238 | source %ATEXT; #IMPLIED>
|
---|
239 |
|
---|
240 | <!ELEMENT spanx (%CTEXT;)>
|
---|
241 | <!ATTLIST spanx
|
---|
242 | xml:space (default|preserve) "preserve"
|
---|
243 | style %ATEXT; "emph">
|
---|
244 |
|
---|
245 | <!ELEMENT vspace EMPTY>
|
---|
246 | <!ATTLIST vspace
|
---|
247 | blankLines %NUMBER; "0">
|
---|
248 |
|
---|
249 | <!ELEMENT figure (iref*,preamble?,artwork,postamble?)>
|
---|
250 | <!ATTLIST figure
|
---|
251 | anchor ID #IMPLIED
|
---|
252 | title %ATEXT; ""
|
---|
253 | suppress-title (true|false) "false"
|
---|
254 | src %URI; #IMPLIED
|
---|
255 | align (left|center|right) "left"
|
---|
256 | alt %ATEXT; ""
|
---|
257 | width %ATEXT; ""
|
---|
258 | height %ATEXT; "">
|
---|
259 |
|
---|
260 | <!ELEMENT preamble (%TEXT;|xref|eref|iref|cref|spanx)*>
|
---|
261 | <!ELEMENT artwork (%TEXT;)*>
|
---|
262 | <!ATTLIST artwork
|
---|
263 | xml:space (default|preserve) "preserve"
|
---|
264 | name %ATEXT; ""
|
---|
265 | type %ATEXT; ""
|
---|
266 | src %URI; #IMPLIED
|
---|
267 | align (left|center|right) "left"
|
---|
268 | alt %ATEXT; ""
|
---|
269 | width %ATEXT; ""
|
---|
270 | height %ATEXT; "">
|
---|
271 |
|
---|
272 | <!ELEMENT postamble (%TEXT;|xref|eref|iref|cref|spanx)*>
|
---|
273 |
|
---|
274 | <!ELEMENT texttable (preamble?,ttcol+,c*,postamble?)>
|
---|
275 | <!ATTLIST texttable
|
---|
276 | anchor ID #IMPLIED
|
---|
277 | title %ATEXT; ""
|
---|
278 | suppress-title (true|false) "false"
|
---|
279 | align (left|center|right) "center"
|
---|
280 | style (all|none|headers|full) "full">
|
---|
281 | <!ELEMENT ttcol (%CTEXT;)>
|
---|
282 | <!ATTLIST ttcol
|
---|
283 | width %ATEXT; #IMPLIED
|
---|
284 | align (left|center|right) "left">
|
---|
285 | <!ELEMENT c (%TEXT;|xref|eref|iref|cref|spanx)*>
|
---|
286 |
|
---|
287 |
|
---|
288 | <!--
|
---|
289 | Back matter
|
---|
290 | -->
|
---|
291 |
|
---|
292 |
|
---|
293 | <!-- sections, if present, are appendices -->
|
---|
294 | <!ELEMENT back (references*,section*)>
|
---|
295 |
|
---|
296 | <!ELEMENT references (reference+)>
|
---|
297 | <!ATTLIST references
|
---|
298 | title %ATEXT; "References">
|
---|
299 | <!ELEMENT reference (front,seriesInfo*,format*,annotation*)>
|
---|
300 | <!ATTLIST reference
|
---|
301 | anchor ID #IMPLIED
|
---|
302 | target %URI; #IMPLIED>
|
---|
303 | <!ELEMENT seriesInfo EMPTY>
|
---|
304 | <!ATTLIST seriesInfo
|
---|
305 | name %ATEXT; #REQUIRED
|
---|
306 | value %ATEXT; #REQUIRED>
|
---|
307 | <!ELEMENT format EMPTY>
|
---|
308 | <!ATTLIST format
|
---|
309 | target %URI; #IMPLIED
|
---|
310 | type %ATEXT; #REQUIRED
|
---|
311 | octets %NUMBER; #IMPLIED>
|
---|
312 | <!ELEMENT annotation (%TEXT;|xref|eref|iref|cref|spanx)*>
|
---|