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)*> 313