cacofonix-dtds 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +7 -0
  5. data/CHANGELOG.md +10 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Gemfile +4 -0
  8. data/Gemfile.lock +35 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +70 -0
  11. data/Rakefile +6 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/cacofonix-dtds.gemspec +34 -0
  15. data/data/2.0/onix-international.dtd +625 -0
  16. data/data/2.0/onix-international.elt +3267 -0
  17. data/data/2.0/xhtml-lat1.ent +196 -0
  18. data/data/2.0/xhtml-special.ent +79 -0
  19. data/data/2.0/xhtml-symbol.ent +242 -0
  20. data/data/2.1r1/iso-amsa.ent +173 -0
  21. data/data/2.1r1/iso-amsb.ent +146 -0
  22. data/data/2.1r1/iso-amsc.ent +49 -0
  23. data/data/2.1r1/iso-amsn.ent +117 -0
  24. data/data/2.1r1/iso-amso.ent +77 -0
  25. data/data/2.1r1/iso-amsr.ent +205 -0
  26. data/data/2.1r1/iso-box.ent +67 -0
  27. data/data/2.1r1/iso-cyr1.ent +94 -0
  28. data/data/2.1r1/iso-cyr2.ent +53 -0
  29. data/data/2.1r1/iso-dia.ent +41 -0
  30. data/data/2.1r1/iso-grk3.ent +70 -0
  31. data/data/2.1r1/iso-lat1.ent +89 -0
  32. data/data/2.1r1/iso-lat2.ent +148 -0
  33. data/data/2.1r1/iso-mfrk.ent +79 -0
  34. data/data/2.1r1/iso-mopf.ent +53 -0
  35. data/data/2.1r1/iso-mscr.ent +79 -0
  36. data/data/2.1r1/iso-num.ent +103 -0
  37. data/data/2.1r1/iso-pub.ent +110 -0
  38. data/data/2.1r1/iso-tech.ent +183 -0
  39. data/data/2.1r1/onix-international.dtd +953 -0
  40. data/data/2.1r1/onix-xhtml.elt +672 -0
  41. data/data/2.1r1/reference.elt +4504 -0
  42. data/data/2.1r1/xhtml-special.ent +79 -0
  43. data/data/2.1r1/xhtml-symbol.ent +242 -0
  44. data/data/2.1r2/iso-amsa.ent +173 -0
  45. data/data/2.1r2/iso-amsb.ent +146 -0
  46. data/data/2.1r2/iso-amsc.ent +49 -0
  47. data/data/2.1r2/iso-amsn.ent +117 -0
  48. data/data/2.1r2/iso-amso.ent +77 -0
  49. data/data/2.1r2/iso-amsr.ent +205 -0
  50. data/data/2.1r2/iso-box.ent +67 -0
  51. data/data/2.1r2/iso-cyr1.ent +94 -0
  52. data/data/2.1r2/iso-cyr2.ent +53 -0
  53. data/data/2.1r2/iso-dia.ent +41 -0
  54. data/data/2.1r2/iso-grk3.ent +70 -0
  55. data/data/2.1r2/iso-lat1.ent +89 -0
  56. data/data/2.1r2/iso-lat2.ent +148 -0
  57. data/data/2.1r2/iso-mfrk.ent +79 -0
  58. data/data/2.1r2/iso-mopf.ent +53 -0
  59. data/data/2.1r2/iso-mscr.ent +79 -0
  60. data/data/2.1r2/iso-num.ent +103 -0
  61. data/data/2.1r2/iso-pub.ent +110 -0
  62. data/data/2.1r2/iso-tech.ent +183 -0
  63. data/data/2.1r2/onix-international.dtd +987 -0
  64. data/data/2.1r2/onix-xhtml.elt +672 -0
  65. data/data/2.1r2/reference.elt +4664 -0
  66. data/data/2.1r2/xhtml-special.ent +79 -0
  67. data/data/2.1r2/xhtml-symbol.ent +242 -0
  68. data/data/2.1r3/reference/iso-amsa.ent +173 -0
  69. data/data/2.1r3/reference/iso-amsb.ent +146 -0
  70. data/data/2.1r3/reference/iso-amsc.ent +49 -0
  71. data/data/2.1r3/reference/iso-amsn.ent +117 -0
  72. data/data/2.1r3/reference/iso-amso.ent +77 -0
  73. data/data/2.1r3/reference/iso-amsr.ent +205 -0
  74. data/data/2.1r3/reference/iso-box.ent +67 -0
  75. data/data/2.1r3/reference/iso-cyr1.ent +94 -0
  76. data/data/2.1r3/reference/iso-cyr2.ent +53 -0
  77. data/data/2.1r3/reference/iso-dia.ent +41 -0
  78. data/data/2.1r3/reference/iso-grk3.ent +70 -0
  79. data/data/2.1r3/reference/iso-lat1.ent +89 -0
  80. data/data/2.1r3/reference/iso-lat2.ent +148 -0
  81. data/data/2.1r3/reference/iso-mfrk.ent +79 -0
  82. data/data/2.1r3/reference/iso-mopf.ent +53 -0
  83. data/data/2.1r3/reference/iso-mscr.ent +79 -0
  84. data/data/2.1r3/reference/iso-num.ent +103 -0
  85. data/data/2.1r3/reference/iso-num.old.ent +103 -0
  86. data/data/2.1r3/reference/iso-pub.ent +110 -0
  87. data/data/2.1r3/reference/iso-tech.ent +183 -0
  88. data/data/2.1r3/reference/onix-international.dtd +1012 -0
  89. data/data/2.1r3/reference/onix-xhtml.elt +672 -0
  90. data/data/2.1r3/reference/reference.elt +4758 -0
  91. data/data/2.1r3/reference/xhtml-special.ent +79 -0
  92. data/data/2.1r3/reference/xhtml-symbol.ent +242 -0
  93. data/data/2.1r3/short/iso-amsa.ent +173 -0
  94. data/data/2.1r3/short/iso-amsb.ent +146 -0
  95. data/data/2.1r3/short/iso-amsc.ent +49 -0
  96. data/data/2.1r3/short/iso-amsn.ent +117 -0
  97. data/data/2.1r3/short/iso-amso.ent +77 -0
  98. data/data/2.1r3/short/iso-amsr.ent +205 -0
  99. data/data/2.1r3/short/iso-box.ent +67 -0
  100. data/data/2.1r3/short/iso-cyr1.ent +94 -0
  101. data/data/2.1r3/short/iso-cyr2.ent +53 -0
  102. data/data/2.1r3/short/iso-dia.ent +41 -0
  103. data/data/2.1r3/short/iso-grk3.ent +70 -0
  104. data/data/2.1r3/short/iso-lat1.ent +89 -0
  105. data/data/2.1r3/short/iso-lat2.ent +148 -0
  106. data/data/2.1r3/short/iso-mfrk.ent +79 -0
  107. data/data/2.1r3/short/iso-mopf.ent +53 -0
  108. data/data/2.1r3/short/iso-mscr.ent +79 -0
  109. data/data/2.1r3/short/iso-num.ent +103 -0
  110. data/data/2.1r3/short/iso-num.old.ent +103 -0
  111. data/data/2.1r3/short/iso-pub.ent +110 -0
  112. data/data/2.1r3/short/iso-tech.ent +183 -0
  113. data/data/2.1r3/short/onix-international.dtd +1013 -0
  114. data/data/2.1r3/short/onix-xhtml.elt +672 -0
  115. data/data/2.1r3/short/short.elt +4758 -0
  116. data/data/2.1r3/short/xhtml-special.ent +79 -0
  117. data/data/2.1r3/short/xhtml-symbol.ent +242 -0
  118. data/data/2.1r4/reference/iso-amsa.ent +173 -0
  119. data/data/2.1r4/reference/iso-amsb.ent +146 -0
  120. data/data/2.1r4/reference/iso-amsc.ent +49 -0
  121. data/data/2.1r4/reference/iso-amsn.ent +117 -0
  122. data/data/2.1r4/reference/iso-amso.ent +77 -0
  123. data/data/2.1r4/reference/iso-amsr.ent +205 -0
  124. data/data/2.1r4/reference/iso-box.ent +67 -0
  125. data/data/2.1r4/reference/iso-cyr1.ent +94 -0
  126. data/data/2.1r4/reference/iso-cyr2.ent +53 -0
  127. data/data/2.1r4/reference/iso-dia.ent +41 -0
  128. data/data/2.1r4/reference/iso-grk3.ent +70 -0
  129. data/data/2.1r4/reference/iso-lat1.ent +89 -0
  130. data/data/2.1r4/reference/iso-lat2.ent +148 -0
  131. data/data/2.1r4/reference/iso-mfrk.ent +79 -0
  132. data/data/2.1r4/reference/iso-mopf.ent +53 -0
  133. data/data/2.1r4/reference/iso-mscr.ent +79 -0
  134. data/data/2.1r4/reference/iso-num.ent +103 -0
  135. data/data/2.1r4/reference/iso-num.old.ent +103 -0
  136. data/data/2.1r4/reference/iso-pub.ent +110 -0
  137. data/data/2.1r4/reference/iso-tech.ent +183 -0
  138. data/data/2.1r4/reference/onix-international.dtd +1024 -0
  139. data/data/2.1r4/reference/onix-xhtml.elt +699 -0
  140. data/data/2.1r4/reference/reference.elt +4801 -0
  141. data/data/2.1r4/reference/xhtml-special.ent +79 -0
  142. data/data/2.1r4/reference/xhtml-symbol.ent +242 -0
  143. data/data/2.1r4/short/iso-amsa.ent +173 -0
  144. data/data/2.1r4/short/iso-amsb.ent +146 -0
  145. data/data/2.1r4/short/iso-amsc.ent +49 -0
  146. data/data/2.1r4/short/iso-amsn.ent +117 -0
  147. data/data/2.1r4/short/iso-amso.ent +77 -0
  148. data/data/2.1r4/short/iso-amsr.ent +205 -0
  149. data/data/2.1r4/short/iso-box.ent +67 -0
  150. data/data/2.1r4/short/iso-cyr1.ent +94 -0
  151. data/data/2.1r4/short/iso-cyr2.ent +53 -0
  152. data/data/2.1r4/short/iso-dia.ent +41 -0
  153. data/data/2.1r4/short/iso-grk3.ent +70 -0
  154. data/data/2.1r4/short/iso-lat1.ent +89 -0
  155. data/data/2.1r4/short/iso-lat2.ent +148 -0
  156. data/data/2.1r4/short/iso-mfrk.ent +79 -0
  157. data/data/2.1r4/short/iso-mopf.ent +53 -0
  158. data/data/2.1r4/short/iso-mscr.ent +79 -0
  159. data/data/2.1r4/short/iso-num.ent +103 -0
  160. data/data/2.1r4/short/iso-num.old.ent +103 -0
  161. data/data/2.1r4/short/iso-pub.ent +110 -0
  162. data/data/2.1r4/short/iso-tech.ent +183 -0
  163. data/data/2.1r4/short/onix-international.dtd +1025 -0
  164. data/data/2.1r4/short/onix-xhtml.elt +699 -0
  165. data/data/2.1r4/short/short.elt +4801 -0
  166. data/data/2.1r4/short/xhtml-special.ent +79 -0
  167. data/data/2.1r4/short/xhtml-symbol.ent +242 -0
  168. data/data/catalog.xml +25 -0
  169. data/lib/cacofonix-dtds.rb +3 -0
  170. data/lib/cacofonix/dtds.rb +25 -0
  171. data/lib/cacofonix/dtds/version.rb +7 -0
  172. metadata +258 -0
@@ -0,0 +1,699 @@
1
+ <!--
2
+ **************************************************
3
+ * *
4
+ * ONIX INTERNATIONAL *
5
+ * *
6
+ * XML DTD *
7
+ * XHTML MODULE *
8
+ * *
9
+ * Original filename: ONIX-INTERNATIONAL.ELT *
10
+ * *
11
+ * Original author: Francis Cave *
12
+ * *
13
+ * Version 2.1 *
14
+ * Revision 01 *
15
+ * Status: DRAFT *
16
+ * Release date: 2011-04-04 *
17
+ * *
18
+ * (c) 2000-2011 EDItEUR *
19
+ * http://www.editeur.org/ *
20
+ * *
21
+ **************************************************
22
+
23
+ THIS MODULE CONTAINS A SUBSET OF THE W3C XHTML 1.0 DTD. IT ONLY INCLUDES
24
+ ELEMENTS AND ASSOCIATED ATTRIBUTES THAT ARE VALID INSIDE THE XHTML ELEMENT
25
+ TYPE 'body', AND EXCLUDES ELEMENT TYPES FOR XHTML FORMS AND SCRIPTS AND
26
+ ATTRIBUTES THAT DEFINE BEHAVIOUR. SOME PARAMETER ENTITIES HAVE BEEN RENAMED
27
+ TO AVOID CLASHES WITH ONIX PARAMETER ENTITY NAMES.
28
+
29
+
30
+ MODULE REVISION HISTORY (IN REVERSE CHRONOLOGICAL ORDER)
31
+
32
+ 2011-04-02: Release 2.1 Revision 04 [JP]
33
+
34
+ 1. Added content models for <ruby>, <rb>, <rt> and <rp>. Note that
35
+ this produces an odd hybrid of XHTML 1.0 and XHTML 1.1 (basically
36
+ is XHTML 1.0 with the addition of the 'simple ruby' from 1.1)
37
+
38
+ -->
39
+
40
+ <!--================ Character mnemonic entities =========================-->
41
+
42
+ <!--
43
+ THE FOLLOWING ENTITY SET IS NOT INCLUDED BECAUSE ITS ENTIRE CONTENTS
44
+ DUPLICATES SPECIAL CHARACTER ENTITIES IN OTHER SETS.
45
+ <!ENTITY % HTMLlat1 PUBLIC
46
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
47
+ "xhtml-lat1.ent">
48
+ %HTMLlat1;
49
+ -->
50
+
51
+ <!ENTITY % HTMLsymbol PUBLIC
52
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
53
+ "xhtml-symbol.ent">
54
+ %HTMLsymbol;
55
+
56
+ <!ENTITY % HTMLspecial PUBLIC
57
+ "-//W3C//ENTITIES Special for XHTML//EN"
58
+ "xhtml-special.ent">
59
+ %HTMLspecial;
60
+
61
+ <!--================== Imported Names ====================================-->
62
+
63
+ <!ENTITY % XHTMLContentType "CDATA">
64
+ <!-- media type, as per [RFC2045] -->
65
+
66
+ <!ENTITY % XHTMLContentTypes "CDATA">
67
+ <!-- comma-separated list of media types, as per [RFC2045] -->
68
+
69
+ <!ENTITY % Charset "CDATA">
70
+ <!-- a character encoding, as per [RFC2045] -->
71
+
72
+ <!ENTITY % Charsets "CDATA">
73
+ <!-- a space separated list of character encodings, as per [RFC2045] -->
74
+
75
+ <!ENTITY % XHTMLLanguageCode "NMTOKEN">
76
+ <!-- a language code, as per [RFC1766] -->
77
+
78
+ <!ENTITY % Character "CDATA">
79
+ <!-- a single character from [ISO10646] -->
80
+
81
+ <!ENTITY % XHTMLNumber "CDATA">
82
+ <!-- one or more digits -->
83
+
84
+ <!ENTITY % LinkTypes "CDATA">
85
+ <!-- space-separated list of link types -->
86
+
87
+ <!ENTITY % MediaDesc "CDATA">
88
+ <!-- single or comma-separated list of media descriptors -->
89
+
90
+ <!ENTITY % URI "CDATA">
91
+ <!-- a Uniform Resource Identifier, see [RFC2396] -->
92
+
93
+ <!ENTITY % UriList "CDATA">
94
+ <!-- a space separated list of Uniform Resource Identifiers -->
95
+
96
+ <!ENTITY % Datetime "CDATA">
97
+ <!-- date and time information. ISO date format -->
98
+
99
+ <!ENTITY % Script "CDATA">
100
+ <!-- script expression -->
101
+
102
+ <!ENTITY % StyleSheet "CDATA">
103
+ <!-- style sheet data -->
104
+
105
+ <!ENTITY % XHTMLText "CDATA">
106
+ <!-- used for titles etc. -->
107
+
108
+ <!ENTITY % FrameTarget "NMTOKEN">
109
+ <!-- render in this frame -->
110
+
111
+ <!ENTITY % Length "CDATA">
112
+ <!-- nn for pixels or nn% for percentage length -->
113
+
114
+ <!ENTITY % MultiLength "CDATA">
115
+ <!-- pixel, percentage, or relative -->
116
+
117
+ <!ENTITY % MultiLengths "CDATA">
118
+ <!-- comma-separated list of MultiLength -->
119
+
120
+ <!ENTITY % Pixels "CDATA">
121
+ <!-- integer representing length in pixels -->
122
+
123
+ <!-- these are used for image maps -->
124
+
125
+ <!ENTITY % Shape "(rect|circle|poly|default)">
126
+
127
+ <!ENTITY % Coords "CDATA">
128
+ <!-- comma separated list of lengths -->
129
+
130
+ <!--=================== Generic Attributes ===============================-->
131
+
132
+ <!-- core attributes common to most elements
133
+ id document-wide unique id
134
+ class space separated list of classes
135
+ style associated style info
136
+ title advisory title/amplification
137
+ -->
138
+ <!ENTITY % coreattrs
139
+ "id ID #IMPLIED
140
+ class CDATA #IMPLIED
141
+ style %StyleSheet; #IMPLIED
142
+ title %XHTMLText; #IMPLIED"
143
+ >
144
+
145
+ <!-- internationalization attributes
146
+ lang language code (backwards compatible)
147
+ xml:lang language code (as per XML 1.0 spec)
148
+ dir direction for weak/neutral text
149
+ -->
150
+ <!ENTITY % i18n
151
+ "lang %XHTMLLanguageCode; #IMPLIED
152
+ xml:lang %XHTMLLanguageCode; #IMPLIED
153
+ dir (ltr|rtl) #IMPLIED"
154
+ >
155
+
156
+ <!ENTITY % attrs "%coreattrs; %i18n;">
157
+
158
+ <!--=================== Text Elements ====================================-->
159
+
160
+ <!ENTITY % special "br | span | bdo | object | img | map | ruby">
161
+
162
+ <!ENTITY % fontstyle "tt | i | b | big | small">
163
+
164
+ <!ENTITY % phrase "em | strong | dfn | code | q | sub | sup |
165
+ samp | kbd | var | cite | abbr | acronym">
166
+
167
+ <!ENTITY % inline "a | %special; | %fontstyle; | %phrase;">
168
+
169
+ <!-- %Inline; covers inline or "text-level" elements -->
170
+ <!ENTITY % Inline "(#PCDATA | %inline;)*">
171
+
172
+ <!--================== Block level elements ==============================-->
173
+
174
+ <!ENTITY % heading "h1|h2|h3|h4|h5|h6">
175
+ <!ENTITY % lists "ul | ol | dl">
176
+ <!ENTITY % blocktext "pre | hr | blockquote | address">
177
+
178
+ <!ENTITY % block
179
+ "p | %heading; | div | %lists; | %blocktext; | table">
180
+
181
+ <!ENTITY % Block "(%block;)*">
182
+
183
+ <!-- %Flow; mixes Block and Inline and is used for list items etc. -->
184
+ <!ENTITY % Flow "(#PCDATA | %block; | %inline;)*">
185
+
186
+ <!--================== Content models for exclusions =====================-->
187
+
188
+ <!-- a elements use %Inline; excluding a -->
189
+
190
+ <!ENTITY % a.content "(#PCDATA | %special; | %fontstyle; | %phrase;)*">
191
+
192
+ <!-- pre uses %Inline excluding img, object, big, small, sup or sup -->
193
+
194
+ <!ENTITY % pre.content
195
+ "(#PCDATA | a | br | span | bdo | map | tt | i | b | %phrase;)*">
196
+
197
+ <!--=================== Document Body ====================================-->
198
+
199
+ <!ELEMENT div %Flow;> <!-- generic language/style container -->
200
+ <!ATTLIST div
201
+ %attrs;
202
+ >
203
+
204
+ <!--=================== Paragraphs =======================================-->
205
+
206
+ <!ELEMENT p %Inline;>
207
+ <!ATTLIST p
208
+ %attrs;
209
+ >
210
+
211
+ <!--=================== Headings =========================================-->
212
+
213
+ <!--
214
+ There are six levels of headings from h1 (the most important)
215
+ to h6 (the least important).
216
+ -->
217
+
218
+ <!ELEMENT h1 %Inline;>
219
+ <!ATTLIST h1
220
+ %attrs;
221
+ >
222
+
223
+ <!ELEMENT h2 %Inline;>
224
+ <!ATTLIST h2
225
+ %attrs;
226
+ >
227
+
228
+ <!ELEMENT h3 %Inline;>
229
+ <!ATTLIST h3
230
+ %attrs;
231
+ >
232
+
233
+ <!ELEMENT h4 %Inline;>
234
+ <!ATTLIST h4
235
+ %attrs;
236
+ >
237
+
238
+ <!ELEMENT h5 %Inline;>
239
+ <!ATTLIST h5
240
+ %attrs;
241
+ >
242
+
243
+ <!ELEMENT h6 %Inline;>
244
+ <!ATTLIST h6
245
+ %attrs;
246
+ >
247
+
248
+ <!--=================== Lists ============================================-->
249
+
250
+ <!-- Unordered list -->
251
+
252
+ <!ELEMENT ul (li)+>
253
+ <!ATTLIST ul
254
+ %attrs;
255
+ >
256
+
257
+ <!-- Ordered (numbered) list -->
258
+
259
+ <!ELEMENT ol (li)+>
260
+ <!ATTLIST ol
261
+ %attrs;
262
+ >
263
+
264
+ <!-- list item -->
265
+
266
+ <!ELEMENT li %Flow;>
267
+ <!ATTLIST li
268
+ %attrs;
269
+ >
270
+
271
+ <!-- definition lists - dt for term, dd for its definition -->
272
+
273
+ <!ELEMENT dl (dt|dd)+>
274
+ <!ATTLIST dl
275
+ %attrs;
276
+ >
277
+
278
+ <!ELEMENT dt %Inline;>
279
+ <!ATTLIST dt
280
+ %attrs;
281
+ >
282
+
283
+ <!ELEMENT dd %Flow;>
284
+ <!ATTLIST dd
285
+ %attrs;
286
+ >
287
+
288
+ <!--=================== Address ==========================================-->
289
+
290
+ <!-- information on author -->
291
+
292
+ <!ELEMENT address %Inline;>
293
+ <!ATTLIST address
294
+ %attrs;
295
+ >
296
+
297
+ <!--=================== Horizontal Rule ==================================-->
298
+
299
+ <!ELEMENT hr EMPTY>
300
+ <!ATTLIST hr
301
+ %attrs;
302
+ >
303
+
304
+ <!--=================== Preformatted Text ================================-->
305
+
306
+ <!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
307
+
308
+ <!ELEMENT pre %pre.content;>
309
+ <!ATTLIST pre
310
+ %attrs;
311
+ xml:space (preserve) #FIXED 'preserve'
312
+ >
313
+
314
+ <!--=================== Block-like Quotes ================================-->
315
+
316
+ <!ELEMENT blockquote %Block;>
317
+ <!ATTLIST blockquote
318
+ %attrs;
319
+ cite %URI; #IMPLIED
320
+ >
321
+
322
+ <!--================== The Anchor Element ================================-->
323
+
324
+ <!-- content is %Inline; except that anchors shouldn't be nested -->
325
+
326
+ <!ELEMENT a %a.content;>
327
+ <!ATTLIST a
328
+ %attrs;
329
+ charset %Charset; #IMPLIED
330
+ type %XHTMLContentType; #IMPLIED
331
+ name NMTOKEN #IMPLIED
332
+ href %URI; #IMPLIED
333
+ hreflang %XHTMLLanguageCode; #IMPLIED
334
+ rel %LinkTypes; #IMPLIED
335
+ rev %LinkTypes; #IMPLIED
336
+ accesskey %Character; #IMPLIED
337
+ shape %Shape; "rect"
338
+ coords %Coords; #IMPLIED
339
+ tabindex %XHTMLNumber; #IMPLIED
340
+ onfocus %Script; #IMPLIED
341
+ onblur %Script; #IMPLIED
342
+ >
343
+
344
+ <!--===================== Inline Elements ================================-->
345
+
346
+ <!ELEMENT span %Inline;> <!-- generic language/style container -->
347
+ <!ATTLIST span
348
+ %attrs;
349
+ >
350
+
351
+ <!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
352
+ <!ATTLIST bdo
353
+ %coreattrs;
354
+ lang %XHTMLLanguageCode; #IMPLIED
355
+ xml:lang %XHTMLLanguageCode; #IMPLIED
356
+ dir (ltr|rtl) #REQUIRED
357
+ >
358
+
359
+ <!ELEMENT br EMPTY> <!-- forced line break -->
360
+ <!ATTLIST br
361
+ %coreattrs;
362
+ >
363
+
364
+ <!ELEMENT em %Inline;> <!-- emphasis -->
365
+ <!ATTLIST em %attrs;>
366
+
367
+ <!ELEMENT strong %Inline;> <!-- strong emphasis -->
368
+ <!ATTLIST strong %attrs;>
369
+
370
+ <!ELEMENT dfn %Inline;> <!-- definitional -->
371
+ <!ATTLIST dfn %attrs;>
372
+
373
+ <!ELEMENT code %Inline;> <!-- program code -->
374
+ <!ATTLIST code %attrs;>
375
+
376
+ <!ELEMENT samp %Inline;> <!-- sample -->
377
+ <!ATTLIST samp %attrs;>
378
+
379
+ <!ELEMENT kbd %Inline;> <!-- something user would type -->
380
+ <!ATTLIST kbd %attrs;>
381
+
382
+ <!ELEMENT var %Inline;> <!-- variable -->
383
+ <!ATTLIST var %attrs;>
384
+
385
+ <!ELEMENT cite %Inline;> <!-- citation -->
386
+ <!ATTLIST cite %attrs;>
387
+
388
+ <!ELEMENT abbr %Inline;> <!-- abbreviation -->
389
+ <!ATTLIST abbr %attrs;>
390
+
391
+ <!ELEMENT acronym %Inline;> <!-- acronym -->
392
+ <!ATTLIST acronym %attrs;>
393
+
394
+ <!ELEMENT q %Inline;> <!-- inlined quote -->
395
+ <!ATTLIST q
396
+ %attrs;
397
+ cite %URI; #IMPLIED
398
+ >
399
+
400
+ <!ELEMENT sub %Inline;> <!-- subscript -->
401
+ <!ATTLIST sub %attrs;>
402
+
403
+ <!ELEMENT sup %Inline;> <!-- superscript -->
404
+ <!ATTLIST sup %attrs;>
405
+
406
+ <!ELEMENT tt %Inline;> <!-- fixed pitch font -->
407
+ <!ATTLIST tt %attrs;>
408
+
409
+ <!ELEMENT i %Inline;> <!-- italic font -->
410
+ <!ATTLIST i %attrs;>
411
+
412
+ <!ELEMENT b %Inline;> <!-- bold font -->
413
+ <!ATTLIST b %attrs;>
414
+
415
+ <!ELEMENT big %Inline;> <!-- bigger font -->
416
+ <!ATTLIST big %attrs;>
417
+
418
+ <!ELEMENT small %Inline;> <!-- smaller font -->
419
+ <!ATTLIST small %attrs;>
420
+
421
+ <!ELEMENT ruby (rb, (rt | (rp, rt, rp)))> <!-- simple ruby -->
422
+ <!ATTLIST ruby %attrs;>
423
+
424
+ <!--
425
+ ruby base (rb) is the basic text
426
+ ruby text (rt) appears as a small gloss, above rb
427
+ ruby parentheses (rp) appears before and after the gloss, if renderer does not support proper display of glosses
428
+ -->
429
+
430
+ <!ELEMENT rb %Inline;>
431
+ <!ATTLIST rb %attrs;>
432
+
433
+ <!ELEMENT rt %Inline;>
434
+ <!ATTLIST rt %attrs;>
435
+
436
+ <!ELEMENT rp %Inline;>
437
+ <!ATTLIST rp %attrs;>
438
+
439
+ <!--==================== Object ======================================-->
440
+ <!--
441
+ object is used to embed objects as part of HTML pages.
442
+ param elements should precede other content. Parameters
443
+ can also be expressed as attribute/value pairs on the
444
+ object element itself when brevity is desired.
445
+ -->
446
+
447
+ <!ELEMENT object (#PCDATA | param | %block; | %inline;)*>
448
+ <!ATTLIST object
449
+ %attrs;
450
+ declare (declare) #IMPLIED
451
+ classid %URI; #IMPLIED
452
+ codebase %URI; #IMPLIED
453
+ data %URI; #IMPLIED
454
+ type %XHTMLContentType; #IMPLIED
455
+ codetype %XHTMLContentType; #IMPLIED
456
+ archive %UriList; #IMPLIED
457
+ standby %XHTMLText; #IMPLIED
458
+ height %Length; #IMPLIED
459
+ width %Length; #IMPLIED
460
+ usemap %URI; #IMPLIED
461
+ name NMTOKEN #IMPLIED
462
+ tabindex %XHTMLNumber; #IMPLIED
463
+ >
464
+
465
+ <!--
466
+ param is used to supply a named property value.
467
+ In XML it would seem natural to follow RDF and support an
468
+ abbreviated syntax where the param elements are replaced
469
+ by attribute value pairs on the object start tag.
470
+ -->
471
+ <!ELEMENT param EMPTY>
472
+ <!ATTLIST param
473
+ id ID #IMPLIED
474
+ name CDATA #IMPLIED
475
+ value CDATA #IMPLIED
476
+ valuetype (data|ref|object) "data"
477
+ type %XHTMLContentType; #IMPLIED
478
+ >
479
+
480
+ <!--=================== Images ===========================================-->
481
+
482
+ <!--
483
+ To avoid accessibility problems for people who aren't
484
+ able to see the image, you should provide a text
485
+ description using the alt and longdesc attributes.
486
+ In addition, avoid the use of server-side image maps.
487
+ Note that in this DTD there is no name attribute. That
488
+ is only available in the transitional and frameset DTD.
489
+ -->
490
+
491
+ <!ELEMENT img EMPTY>
492
+ <!ATTLIST img
493
+ %attrs;
494
+ src %URI; #REQUIRED
495
+ alt %XHTMLText; #REQUIRED
496
+ longdesc %URI; #IMPLIED
497
+ height %Length; #IMPLIED
498
+ width %Length; #IMPLIED
499
+ usemap %URI; #IMPLIED
500
+ ismap (ismap) #IMPLIED
501
+ >
502
+
503
+ <!-- usemap points to a map element which may be in this document
504
+ or an external document, although the latter is not widely supported -->
505
+
506
+ <!--================== Client-side image maps ============================-->
507
+
508
+ <!-- These can be placed in the same document or grouped in a
509
+ separate document although this isn't yet widely supported -->
510
+
511
+ <!ELEMENT map ((%block;)+ | area+)>
512
+ <!ATTLIST map
513
+ %i18n;
514
+ id ID #REQUIRED
515
+ class CDATA #IMPLIED
516
+ style %StyleSheet; #IMPLIED
517
+ title %XHTMLText; #IMPLIED
518
+ name NMTOKEN #IMPLIED
519
+ >
520
+
521
+ <!ELEMENT area EMPTY>
522
+ <!ATTLIST area
523
+ %attrs;
524
+ shape %Shape; "rect"
525
+ coords %Coords; #IMPLIED
526
+ href %URI; #IMPLIED
527
+ nohref (nohref) #IMPLIED
528
+ alt %XHTMLText; #REQUIRED
529
+ >
530
+
531
+ <!--======================= Tables =======================================-->
532
+
533
+ <!-- Derived from IETF HTML table standard, see [RFC1942] -->
534
+
535
+ <!--
536
+ The border attribute sets the thickness of the frame around the
537
+ table. The default units are screen pixels.
538
+
539
+ The frame attribute specifies which parts of the frame around
540
+ the table should be rendered. The values are not the same as
541
+ CALS to avoid a name clash with the valign attribute.
542
+ -->
543
+ <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
544
+
545
+ <!--
546
+ The rules attribute defines which rules to draw between cells:
547
+
548
+ If rules is absent then assume:
549
+ "none" if border is absent or border="0" otherwise "all"
550
+ -->
551
+
552
+ <!ENTITY % TRules "(none | groups | rows | cols | all)">
553
+
554
+ <!-- horizontal placement of table relative to document -->
555
+ <!ENTITY % TAlign "(left|center|right)">
556
+
557
+ <!-- horizontal alignment attributes for cell contents
558
+
559
+ char alignment char, e.g. char=':'
560
+ charoff offset for alignment char
561
+ -->
562
+ <!ENTITY % cellhalign
563
+ "align (left|center|right|justify|char) #IMPLIED
564
+ char %Character; #IMPLIED
565
+ charoff %Length; #IMPLIED"
566
+ >
567
+
568
+ <!-- vertical alignment attributes for cell contents -->
569
+ <!ENTITY % cellvalign
570
+ "valign (top|middle|bottom|baseline) #IMPLIED"
571
+ >
572
+
573
+ <!ELEMENT table
574
+ (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
575
+ <!ELEMENT caption %Inline;>
576
+ <!ELEMENT thead (tr)+>
577
+ <!ELEMENT tfoot (tr)+>
578
+ <!ELEMENT tbody (tr)+>
579
+ <!ELEMENT colgroup (col)*>
580
+ <!ELEMENT col EMPTY>
581
+ <!ELEMENT tr (th|td)+>
582
+ <!ELEMENT th %Flow;>
583
+ <!ELEMENT td %Flow;>
584
+
585
+ <!ATTLIST table
586
+ %attrs;
587
+ summary %XHTMLText; #IMPLIED
588
+ width %Length; #IMPLIED
589
+ border %Pixels; #IMPLIED
590
+ frame %TFrame; #IMPLIED
591
+ rules %TRules; #IMPLIED
592
+ cellspacing %Length; #IMPLIED
593
+ cellpadding %Length; #IMPLIED
594
+ >
595
+
596
+ <!ENTITY % CAlign "(top|bottom|left|right)">
597
+
598
+ <!ATTLIST caption
599
+ %attrs;
600
+ >
601
+
602
+ <!--
603
+ colgroup groups a set of col elements. It allows you to group
604
+ several semantically related columns together.
605
+ -->
606
+ <!ATTLIST colgroup
607
+ %attrs;
608
+ span %XHTMLNumber; "1"
609
+ width %MultiLength; #IMPLIED
610
+ %cellhalign;
611
+ %cellvalign;
612
+ >
613
+
614
+ <!--
615
+ col elements define the alignment properties for cells in
616
+ one or more columns.
617
+
618
+ The width attribute specifies the width of the columns, e.g.
619
+
620
+ width=64 width in screen pixels
621
+ width=0.5* relative width of 0.5
622
+
623
+ The span attribute causes the attributes of one
624
+ col element to apply to more than one column.
625
+ -->
626
+ <!ATTLIST col
627
+ %attrs;
628
+ span %XHTMLNumber; "1"
629
+ width %MultiLength; #IMPLIED
630
+ %cellhalign;
631
+ %cellvalign;
632
+ >
633
+
634
+ <!--
635
+ Use thead to duplicate headers when breaking table
636
+ across page boundaries, or for static headers when
637
+ tbody sections are rendered in scrolling panel.
638
+
639
+ Use tfoot to duplicate footers when breaking table
640
+ across page boundaries, or for static footers when
641
+ tbody sections are rendered in scrolling panel.
642
+
643
+ Use multiple tbody sections when rules are needed
644
+ between groups of table rows.
645
+ -->
646
+ <!ATTLIST thead
647
+ %attrs;
648
+ %cellhalign;
649
+ %cellvalign;
650
+ >
651
+
652
+ <!ATTLIST tfoot
653
+ %attrs;
654
+ %cellhalign;
655
+ %cellvalign;
656
+ >
657
+
658
+ <!ATTLIST tbody
659
+ %attrs;
660
+ %cellhalign;
661
+ %cellvalign;
662
+ >
663
+
664
+ <!ATTLIST tr
665
+ %attrs;
666
+ %cellhalign;
667
+ %cellvalign;
668
+ >
669
+
670
+
671
+ <!-- Scope is simpler than headers attribute for common tables -->
672
+ <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
673
+
674
+ <!-- th is for headers, td for data and for cells acting as both -->
675
+
676
+ <!ATTLIST th
677
+ %attrs;
678
+ abbr %XHTMLText; #IMPLIED
679
+ axis CDATA #IMPLIED
680
+ headers IDREFS #IMPLIED
681
+ scope %Scope; #IMPLIED
682
+ rowspan %XHTMLNumber; "1"
683
+ colspan %XHTMLNumber; "1"
684
+ %cellhalign;
685
+ %cellvalign;
686
+ >
687
+
688
+ <!ATTLIST td
689
+ %attrs;
690
+ abbr %XHTMLText; #IMPLIED
691
+ axis CDATA #IMPLIED
692
+ headers IDREFS #IMPLIED
693
+ scope %Scope; #IMPLIED
694
+ rowspan %XHTMLNumber; "1"
695
+ colspan %XHTMLNumber; "1"
696
+ %cellhalign;
697
+ %cellvalign;
698
+ >
699
+