summaryrefslogtreecommitdiffstats
blob: cdaefed410f271109e69abea32213f38d3b68733 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
<!-- ...................................................................... -->
<!-- DocBook XML HTML Table Module V4.5 ................................... -->
<!-- File htmltblx.mod .................................................... -->

<!-- Copyright 2003-2006 ArborText, Inc., Norman Walsh, Sun Microsystems,
     Inc., and the Organization for the Advancement of Structured Information
     Standards (OASIS).

     $Id: htmltblx.mod 6340 2006-10-03 13:23:24Z nwalsh $

     Permission to use, copy, modify and distribute the DocBook XML DTD
     and its accompanying documentation for any purpose and without fee
     is hereby granted in perpetuity, provided that the above copyright
     notice and this paragraph appear in all copies.  The copyright
     holders make no representation about the suitability of the DTD for
     any purpose.  It is provided "as is" without expressed or implied
     warranty.

     If you modify the DocBook XML DTD in any way, except for declaring and
     referencing additional sets of general entities and declaring
     additional notations, label your DTD as a variant of DocBook.  See
     the maintenance documentation for more information.

     Please direct all questions, bug reports, or suggestions for
     changes to the docbook@lists.oasis-open.org mailing list. For more
     information, see http://www.oasis-open.org/docbook/.
-->

<!-- ...................................................................... -->

<!-- This module contains the definitions for elements that are
     isomorphic to the HTML elements. One could argue we should
     instead have based ourselves on the XHTML Table Module, but the
     HTML one is more like what browsers are likely to accept today
     and users are likely to use.

     This module has been developed for use with the DocBook V4.5
     "union table model" in which elements and attlists common to both
     models are defined (as the union) in the CALS table module by
     setting various parameter entities appropriately in this file.

     In DTD driver files referring to this module, please use an entity
     declaration that uses the public identifier shown below:

     <!ENTITY % htmltbl PUBLIC
     "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN"
     "htmltblx.mod">
     %htmltbl;

     See the documentation for detailed information on the parameter
     entity and module scheme used in DocBook, customizing DocBook and
     planning for interchange, and changes made since the last release
     of DocBook.
-->

<!--======================= XHTML Tables =======================================-->

<!ENTITY % html.coreattrs
 "%common.attrib;
  class       CDATA          #IMPLIED
  style       CDATA          #IMPLIED
  title       CDATA         #IMPLIED"
  >

<!-- Does not contain lang or dir because they are in %common.attribs -->
<![%sgml.features;[
<!ENTITY % i18n "">
]]>
<!ENTITY % i18n
 "xml:lang    NMTOKEN        #IMPLIED"
  >

<!ENTITY % events
 "onclick     CDATA       #IMPLIED
  ondblclick  CDATA       #IMPLIED
  onmousedown CDATA       #IMPLIED
  onmouseup   CDATA       #IMPLIED
  onmouseover CDATA       #IMPLIED
  onmousemove CDATA       #IMPLIED
  onmouseout  CDATA       #IMPLIED
  onkeypress  CDATA       #IMPLIED
  onkeydown   CDATA       #IMPLIED
  onkeyup     CDATA       #IMPLIED"
  >

<!ENTITY % attrs "%html.coreattrs; %i18n; %events;">

<!ENTITY % cellhalign
  "align      (left|center|right|justify|char) #IMPLIED
   char       CDATA    #IMPLIED
   charoff    CDATA       #IMPLIED"
  >

<!ENTITY % cellvalign
  "valign     (top|middle|bottom|baseline) #IMPLIED"
  >

<!--doc:A group of columns in an HTML table.-->
<!ELEMENT colgroup %ho; (col)*>
<!--doc:Specifications for a column in an HTML table.-->
<!ELEMENT col %ho; EMPTY>
<!--doc:A row in an HTML table.-->
<!ELEMENT tr %ho;  (th|td)+>
<!--doc:A table header entry in an HTML table.-->
<!ELEMENT th %ho;  (%para.char.mix; | %tabentry.mix; | table | informaltable)*>
<!--doc:A table ntry in an HTML table.-->
<!ELEMENT td %ho;  (%para.char.mix; | %tabentry.mix; | table | informaltable)*>

<!ATTLIST colgroup
  %attrs;
  span        CDATA       "1"
  width       CDATA  #IMPLIED
  %cellhalign;
  %cellvalign;
  >

<!ATTLIST col
  %attrs;
  span        CDATA       "1"
  width       CDATA  #IMPLIED
  %cellhalign;
  %cellvalign;
  >

<!ATTLIST tr
  %attrs;
  %cellhalign;
  %cellvalign;
  bgcolor     CDATA        #IMPLIED
  >

<!ATTLIST th
  %attrs;
  abbr        CDATA         #IMPLIED
  axis        CDATA          #IMPLIED
  headers     IDREFS         #IMPLIED
  scope       (row|col|rowgroup|colgroup)   #IMPLIED
  rowspan     CDATA       "1"
  colspan     CDATA       "1"
  %cellhalign;
  %cellvalign;
  nowrap      (nowrap)       #IMPLIED
  bgcolor     CDATA         #IMPLIED
  width       CDATA       #IMPLIED
  height      CDATA       #IMPLIED
  >

<!ATTLIST td
  %attrs;
  abbr        CDATA         #IMPLIED
  axis        CDATA          #IMPLIED
  headers     IDREFS         #IMPLIED
  scope       (row|col|rowgroup|colgroup)   #IMPLIED
  rowspan     CDATA       "1"
  colspan     CDATA       "1"
  %cellhalign;
  %cellvalign;
  nowrap      (nowrap)       #IMPLIED
  bgcolor     CDATA         #IMPLIED
  width       CDATA       #IMPLIED
  height      CDATA       #IMPLIED
  >

<!-- ====================================================== -->
<!--        Set up to read in the CALS model configured to
            merge with the XHTML table model                -->
<!-- ====================================================== -->

<!ENTITY % tables.role.attrib "%role.attrib;">

<!-- Add label and role attributes to table and informaltable -->
<!ENTITY % bodyatt "
		floatstyle	CDATA			#IMPLIED
		rowheader	(firstcol|norowheader)	#IMPLIED
                %label.attrib;"
>

<!-- Add common attributes to Table, TGroup, TBody, THead, TFoot, Row, 
     EntryTbl, and Entry (and InformalTable element). -->

<!ENTITY % secur "
	%common.attrib;
	class       CDATA          #IMPLIED
	style       CDATA          #IMPLIED
	title       CDATA         #IMPLIED
	%i18n;
	%events;
	%tables.role.attrib;">

<!ENTITY % common.table.attribs
	"%bodyatt;
	%secur;">

<!-- Content model for Table (that also allows HTML tables) -->
<!ENTITY % tbl.table.mdl
	"((blockinfo?,
           (%formalobject.title.content;),
           (%ndxterm.class;)*,
           textobject*,
           (graphic+|mediaobject+|tgroup+))
         |(caption, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+)))">

<!ENTITY % informal.tbl.table.mdl
	"(textobject*,
          (graphic+|mediaobject+|tgroup+))
         | ((col*|colgroup*), thead?, tfoot?, (tbody+|tr+))">

<!-- Attributes for Table (including HTML ones) -->

<!-- N.B. rules = (none | groups | rows | cols | all) but it can't be spec'd -->
<!-- that way because 'all' already occurs in a different enumeration in -->
<!-- CALS tables (frame). -->

<!ENTITY % tbl.table.att        '
    tabstyle    CDATA           #IMPLIED
    tocentry    %yesorno.attvals;       #IMPLIED
    shortentry  %yesorno.attvals;       #IMPLIED
    orient      (port|land)     #IMPLIED
    pgwide      %yesorno.attvals;       #IMPLIED 
    summary     CDATA          #IMPLIED
    width       CDATA        #IMPLIED
    border      CDATA        #IMPLIED
    rules       CDATA		#IMPLIED
    cellspacing CDATA        #IMPLIED
    cellpadding CDATA        #IMPLIED
    align       (left|center|right)   #IMPLIED
    bgcolor     CDATA         #IMPLIED
'>

<!ENTITY % tbl.frame.attval "void|above|below|hsides|lhs|rhs|vsides|box|border|
top|bottom|topbot|all|sides|none">

<!-- Allow either objects or inlines; beware of REs between elements. -->
<!ENTITY % tbl.entry.mdl "%para.char.mix; | %tabentry.mix;">

<!-- thead, tfoot, and tbody are defined in both table models,
     so we set up parameter entities to define union models for them
 -->

<!ENTITY % tbl.hdft.mdl        "(tr+|(colspec*,row+))">
<!ENTITY % tbl.tbody.mdl       "(tr+|row+)">
<!ENTITY % tbl.valign.attval   "top|middle|bottom|baseline">

<!-- End of DocBook XML HTML Table Module V4.5 ............................ -->
<!-- ...................................................................... -->