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