Initial commit
[profile/ivi/docbook-dtds.git] / 4.4-xml / htmltblx.mod
1 <!-- ...................................................................... -->
2 <!-- DocBook XML HTML Table Module V4.4 ................................... -->
3 <!-- File htmltblx.mod .................................................... -->
4
5 <!-- Copyright 2003, 2004 ArborText, Inc., Norman Walsh, Sun Microsystems,
6      Inc., and the Organization for the Advancement of Structured Information
7      Standards (OASIS).
8
9      $Id: htmltblx.mod,v 1.23 2005/01/27 13:52:00 nwalsh Exp $
10
11      Permission to use, copy, modify and distribute the DocBook XML DTD
12      and its accompanying documentation for any purpose and without fee
13      is hereby granted in perpetuity, provided that the above copyright
14      notice and this paragraph appear in all copies.  The copyright
15      holders make no representation about the suitability of the DTD for
16      any purpose.  It is provided "as is" without expressed or implied
17      warranty.
18
19      If you modify the DocBook XML DTD in any way, except for declaring and
20      referencing additional sets of general entities and declaring
21      additional notations, label your DTD as a variant of DocBook.  See
22      the maintenance documentation for more information.
23
24      Please direct all questions, bug reports, or suggestions for
25      changes to the docbook@lists.oasis-open.org mailing list. For more
26      information, see http://www.oasis-open.org/docbook/.
27 -->
28
29 <!-- ...................................................................... -->
30
31 <!-- This module contains the definitions for elements that are
32      isomorphic to the HTML elements. One could argue we should
33      instead have based ourselves on the XHTML Table Module, but the
34      HTML one is more like what browsers are likely to accept today
35      and users are likely to use.
36
37      This module has been developed for use with the DocBook V4.4
38      "union table model" in which elements and attlists common to both
39      models are defined (as the union) in the CALS table module by
40      setting various parameter entities appropriately in this file.
41
42      In DTD driver files referring to this module, please use an entity
43      declaration that uses the public identifier shown below:
44
45      <!ENTITY % htmltbl PUBLIC
46      "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.4//EN"
47      "htmltblx.mod">
48      %htmltbl;
49
50      See the documentation for detailed information on the parameter
51      entity and module scheme used in DocBook, customizing DocBook and
52      planning for interchange, and changes made since the last release
53      of DocBook.
54 -->
55
56 <!--======================= XHTML Tables =======================================-->
57
58 <!ENTITY % html.coreattrs
59  "id          ID             #IMPLIED
60   class       CDATA          #IMPLIED
61   style       CDATA          #IMPLIED
62   title       CDATA         #IMPLIED"
63   >
64
65 <!-- Does not contain lang or dir because they are in %common.attribs -->
66 <!ENTITY % i18n
67  "xml:lang    NMTOKEN        #IMPLIED"
68   >
69
70 <!ENTITY % events
71  "onclick     CDATA       #IMPLIED
72   ondblclick  CDATA       #IMPLIED
73   onmousedown CDATA       #IMPLIED
74   onmouseup   CDATA       #IMPLIED
75   onmouseover CDATA       #IMPLIED
76   onmousemove CDATA       #IMPLIED
77   onmouseout  CDATA       #IMPLIED
78   onkeypress  CDATA       #IMPLIED
79   onkeydown   CDATA       #IMPLIED
80   onkeyup     CDATA       #IMPLIED"
81   >
82
83 <!ENTITY % attrs "%html.coreattrs; %i18n; %events;">
84
85 <!ENTITY % cellhalign
86   "align      (left|center|right|justify|char) #IMPLIED
87    char       CDATA    #IMPLIED
88    charoff    CDATA       #IMPLIED"
89   >
90
91 <!ENTITY % cellvalign
92   "valign     (top|middle|bottom|baseline) #IMPLIED"
93   >
94
95 <!ELEMENT colgroup (col)*>
96 <!ELEMENT col      EMPTY>
97 <!ELEMENT tr       (th|td)+>
98 <!ELEMENT th       (%para.char.mix; | %tabentry.mix; | table | informaltable)*>
99 <!ELEMENT td       (%para.char.mix; | %tabentry.mix; | table | informaltable)*>
100
101 <!ATTLIST colgroup
102   %attrs;
103   span        CDATA       "1"
104   width       CDATA  #IMPLIED
105   %cellhalign;
106   %cellvalign;
107   >
108
109 <!ATTLIST col
110   %attrs;
111   span        CDATA       "1"
112   width       CDATA  #IMPLIED
113   %cellhalign;
114   %cellvalign;
115   >
116
117 <!ATTLIST tr
118   %attrs;
119   %cellhalign;
120   %cellvalign;
121   bgcolor     CDATA        #IMPLIED
122   >
123
124 <!ATTLIST th
125   %attrs;
126   abbr        CDATA         #IMPLIED
127   axis        CDATA          #IMPLIED
128   headers     IDREFS         #IMPLIED
129   scope       (row|col|rowgroup|colgroup)   #IMPLIED
130   rowspan     CDATA       "1"
131   colspan     CDATA       "1"
132   %cellhalign;
133   %cellvalign;
134   nowrap      (nowrap)       #IMPLIED
135   bgcolor     CDATA         #IMPLIED
136   width       CDATA       #IMPLIED
137   height      CDATA       #IMPLIED
138   >
139
140 <!ATTLIST td
141   %attrs;
142   abbr        CDATA         #IMPLIED
143   axis        CDATA          #IMPLIED
144   headers     IDREFS         #IMPLIED
145   scope       (row|col|rowgroup|colgroup)   #IMPLIED
146   rowspan     CDATA       "1"
147   colspan     CDATA       "1"
148   %cellhalign;
149   %cellvalign;
150   nowrap      (nowrap)       #IMPLIED
151   bgcolor     CDATA         #IMPLIED
152   width       CDATA       #IMPLIED
153   height      CDATA       #IMPLIED
154   >
155
156 <!-- ====================================================== -->
157 <!--        Set up to read in the CALS model configured to
158             merge with the XHTML table model                -->
159 <!-- ====================================================== -->
160
161 <!ENTITY % tables.role.attrib "%role.attrib;">
162
163 <!-- Add label and role attributes to table and informaltable -->
164 <!ENTITY % bodyatt "
165                 floatstyle      CDATA                   #IMPLIED
166                 rowheader       (firstcol|norowheader)  #IMPLIED
167                 %label.attrib;"
168 >
169
170 <!-- Add common attributes to Table, TGroup, TBody, THead, TFoot, Row, 
171      EntryTbl, and Entry (and InformalTable element). -->
172
173 <!ENTITY % secur "
174         %common.attrib;
175         class       CDATA          #IMPLIED
176         style       CDATA          #IMPLIED
177         title       CDATA         #IMPLIED
178         %i18n;
179         %events;
180         %tables.role.attrib;">
181
182 <!ENTITY % common.table.attribs
183         "%bodyatt;
184         %secur;">
185
186 <!-- Content model for Table (that also allows HTML tables) -->
187 <!ENTITY % tbl.table.mdl
188         "((blockinfo?,
189            (%formalobject.title.content;),
190            (%ndxterm.class;)*,
191            textobject*,
192            (graphic+|mediaobject+|tgroup+))
193          |(caption, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+)))">
194
195 <!ENTITY % informal.tbl.table.mdl
196         "(textobject*,
197           (graphic+|mediaobject+|tgroup+))
198          | ((col*|colgroup*), thead?, tfoot?, (tbody+|tr+))">
199
200 <!-- Attributes for Table (including HTML ones) -->
201
202 <!-- N.B. rules = (none | groups | rows | cols | all) but it can't be spec'd -->
203 <!-- that way because 'all' already occurs in a different enumeration in -->
204 <!-- CALS tables (frame). -->
205
206 <!ENTITY % tbl.table.att        '
207     tabstyle    CDATA           #IMPLIED
208     tocentry    %yesorno.attvals;       #IMPLIED
209     shortentry  %yesorno.attvals;       #IMPLIED
210     orient      (port|land)     #IMPLIED
211     pgwide      %yesorno.attvals;       #IMPLIED 
212     summary     CDATA          #IMPLIED
213     width       CDATA        #IMPLIED
214     border      CDATA        #IMPLIED
215     rules       CDATA           #IMPLIED
216     cellspacing CDATA        #IMPLIED
217     cellpadding CDATA        #IMPLIED
218     align       (left|center|right)   #IMPLIED
219     bgcolor     CDATA         #IMPLIED
220 '>
221
222 <!ENTITY % tbl.frame.attval "void|above|below|hsides|lhs|rhs|vsides|box|border|
223 top|bottom|topbot|all|sides|none">
224
225 <!-- Allow either objects or inlines; beware of REs between elements. -->
226 <!ENTITY % tbl.entry.mdl "%para.char.mix; | %tabentry.mix;">
227
228 <!-- thead, tfoot, and tbody are defined in both table models,
229      so we set up parameter entities to define union models for them
230  -->
231
232 <!ENTITY % tbl.hdft.mdl        "(tr+|(colspec*,row+))">
233 <!ENTITY % tbl.tbody.mdl       "(tr+|row+)">
234 <!ENTITY % tbl.valign.attval   "top|middle|bottom|baseline">
235
236 <!-- End of DocBook XML HTML Table Module V4.4 ............................ -->
237 <!-- ...................................................................... -->