source: xml2rfc/rfc2629.dtd @ 986

Last change on this file since 986 was 799, checked in by julian.reschke@…, 13 years ago

latest versions of rfc2629.xslt and xml2rfc.tcl, bump up document dates

  • Property svn:executable set to *
File size: 9.2 KB
Line 
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          seriesNo    %NUMBER;           #IMPLIED
108          ipr         (full2026|noDerivativeWorks2026|none
109                      |full3667|noModification3667|noDerivatives3667
110                      |full3978|noModification3978|noDerivatives3978
111                      |trust200811|noModificationTrust200811|noDerivativesTrust200811
112                      |trust200902|noModificationTrust200902|noDerivativesTrust200902
113                      |pre5378Trust200902)
114                                         #IMPLIED
115          iprExtract  IDREF              #IMPLIED
116          submissionType
117                      (IETF|IAB|IRTF|independent) "IETF"
118          docName     %ATEXT;            #IMPLIED
119          xml:lang    %ATEXT;            "en">
120
121
122<!--
123  Front matter
124  -->
125
126
127<!ELEMENT front       (title,author+,date,area*,workgroup*,keyword*,
128                       abstract?,note*)>
129
130<!-- the "abbrev" attribute is used for headers, etc. -->
131<!ELEMENT title       (%CTEXT;)>
132<!ATTLIST title
133          abbrev      %ATEXT;            #IMPLIED>
134
135<!ELEMENT author      (organization?,address?)>
136<!ATTLIST author
137          initials    %ATEXT;            #IMPLIED
138          surname     %ATEXT;            #IMPLIED
139          fullname    %ATEXT;            #IMPLIED
140          role        (editor)           #IMPLIED>
141
142<!ELEMENT organization
143                      (%CTEXT;)>
144<!ATTLIST organization
145          abbrev      %ATEXT;            #IMPLIED>
146 
147<!ELEMENT address     (postal?,phone?,facsimile?,email?,uri?)>
148
149<!-- this content model should be more strict:
150     at most one of each the city, region, code, and country
151     elements may be present -->
152<!ELEMENT postal      (street+,(city|region|code|country)*)>
153<!ELEMENT street      (%CTEXT;)>
154<!ELEMENT city        (%CTEXT;)>
155<!ELEMENT region      (%CTEXT;)>
156<!ELEMENT code        (%CTEXT;)>
157<!ELEMENT country     (%CTEXT;)>
158<!ELEMENT phone       (%CTEXT;)>
159<!ELEMENT facsimile   (%CTEXT;)>
160<!ELEMENT email       (%CTEXT;)>
161<!ELEMENT uri         (%CTEXT;)>
162
163<!ELEMENT date        EMPTY>
164<!ATTLIST date
165          day         %DAY;              #IMPLIED
166          month       %MONTH;            #IMPLIED
167          year        %YEAR;             #IMPLIED>
168
169<!-- meta-data... -->
170<!ELEMENT area        (%CTEXT;)>
171<!ELEMENT workgroup   (%CTEXT;)>
172<!ELEMENT keyword     (%CTEXT;)>
173
174<!ELEMENT abstract    (t)+>
175<!ELEMENT note        (t)+>
176<!ATTLIST note
177          title       %ATEXT;            #REQUIRED>
178
179
180<!--
181  The body
182  -->
183
184
185<!ELEMENT middle      (section+)>
186
187<!ELEMENT section     ((t|figure|texttable|iref)*,section*)>
188<!ATTLIST section
189          anchor      ID                 #IMPLIED
190          title       %ATEXT;            #REQUIRED
191          toc         (include|exclude|default)
192                                         "default">
193
194<!-- use of <appendix/> is deprecated...
195<!ELEMENT appendix    ((t|figure|texttable|iref)*,appendix*)>
196<!ATTLIST appendix
197          anchor      ID                 #IMPLIED
198          title       %ATEXT;            #REQUIRED
199          toc         (include|exclude|default)
200                                         "default">
201  -->
202
203<!-- use of <figure/> is deprecated... -->
204<!ELEMENT t           (%TEXT;|list|figure|xref|eref|iref|cref|spanx|vspace)*>
205<!ATTLIST t
206          anchor      ID                 #IMPLIED
207          hangText    %ATEXT;            #IMPLIED>
208
209<!-- the value of the style attribute is inherited from the closest
210     parent -->
211<!ELEMENT list        (t+)>
212<!ATTLIST list
213          style       %ATEXT;            #IMPLIED
214          hangIndent  %NUMBER;           #IMPLIED
215          counter     %ATEXT;            #IMPLIED>
216
217<!ELEMENT xref        (%CTEXT;)>
218<!ATTLIST xref
219          target      IDREF              #REQUIRED
220          pageno      (true|false)       "false"
221          format      (counter|title|none|default)
222                                         "default">
223
224<!ELEMENT eref        (%CTEXT;)>
225<!ATTLIST eref
226          target      %URI;              #REQUIRED>
227
228<!ELEMENT iref        EMPTY>
229<!ATTLIST iref
230          item        %ATEXT;            #REQUIRED
231          subitem     %ATEXT;            ""
232          primary    (true|false)       "false">
233
234<!ELEMENT cref        (%CTEXT;)>
235<!ATTLIST cref
236          anchor      ID                 #IMPLIED
237          source      %ATEXT;            #IMPLIED>
238
239<!ELEMENT spanx       (%CTEXT;)>
240<!ATTLIST spanx
241          xml:space   (default|preserve) "preserve"
242          style       %ATEXT;            "emph">
243
244<!ELEMENT vspace      EMPTY>
245<!ATTLIST vspace
246          blankLines  %NUMBER;           "0">
247
248<!ELEMENT figure      (iref*,preamble?,artwork,postamble?)>
249<!ATTLIST figure
250          anchor      ID                 #IMPLIED
251          title       %ATEXT;            ""
252          suppress-title (true|false)    "false"
253          src         %URI;              #IMPLIED
254          align       (left|center|right) "left"
255          alt         %ATEXT;            ""
256          width       %ATEXT;            ""
257          height      %ATEXT;            "">
258
259<!ELEMENT preamble    (%TEXT;|xref|eref|iref|cref|spanx)*>
260<!ELEMENT artwork     (%TEXT;)*>
261<!ATTLIST artwork
262          xml:space   (default|preserve) "preserve"
263          name        %ATEXT;            ""
264          type        %ATEXT;            ""
265          src         %URI;              #IMPLIED
266          align       (left|center|right) "left"
267          alt         %ATEXT;            ""
268          width       %ATEXT;            ""
269          height      %ATEXT;            "">
270
271<!ELEMENT postamble   (%TEXT;|xref|eref|iref|cref|spanx)*>
272   
273<!ELEMENT texttable   (preamble?,ttcol+,c*,postamble?)>
274<!ATTLIST texttable
275          anchor      ID                 #IMPLIED
276          title       %ATEXT;            ""
277          suppress-title (true|false)    "false"
278          align       (left|center|right) "center"
279          style       (all|none|headers|full) "full">
280<!ELEMENT ttcol       (%CTEXT;)>
281<!ATTLIST ttcol
282          width       %ATEXT;            #IMPLIED
283          align       (left|center|right) "left">
284<!ELEMENT c           (%TEXT;|xref|eref|iref|cref|spanx)*>
285
286
287<!--
288  Back matter
289  -->
290
291
292<!-- sections, if present, are appendices -->
293<!ELEMENT back        (references*,section*)>
294
295<!ELEMENT references  (reference+)>
296<!ATTLIST references
297          title       %ATEXT;            "References">
298<!ELEMENT reference   (front,seriesInfo*,format*,annotation*)>
299<!ATTLIST reference
300          anchor      ID                 #IMPLIED
301          target      %URI;              #IMPLIED>
302<!ELEMENT seriesInfo  EMPTY>
303<!ATTLIST seriesInfo
304          name        %ATEXT;            #REQUIRED
305          value       %ATEXT;            #REQUIRED>
306<!ELEMENT format      EMPTY>
307<!ATTLIST format
308          target      %URI;              #IMPLIED
309          type        %ATEXT;            #REQUIRED
310          octets      %NUMBER;           #IMPLIED>
311<!ELEMENT annotation  (%TEXT;|xref|eref|iref|cref|spanx)*>
Note: See TracBrowser for help on using the repository browser.