source: rfc2629xslt/rfc2629.dtd @ 19

Last change on this file since 19 was 6, checked in by fielding@…, 15 years ago

XSLT stylesheet for enhanced RFC2629 xml2rfc output as HTML.
By Julian Reschke

Obtained from: wget -N http://www.greenbytes.de/tech/webdav/rfc2629xslt.zip

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