source: BOOK/schema/docbook/4.5/rng/htmltblx.rnc@ 4a39252

Last change on this file since 4a39252 was da28cc3, checked in by Joe Ciccone <jciccone@…>, 14 years ago

Validate the book against relax-ng instead of the
standard DTD.

  • Property mode set to 100644
File size: 7.4 KB
Line 
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
58namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
59
60html.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
66i18n = attribute xml:lang { xsd:NMTOKEN }?
67events =
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 }?
78attrs = html.coreattrs, i18n, events
79cellhalign =
80 attribute align { "left" | "center" | "right" | "justify" | "char" }?,
81 attribute char { text }?,
82 attribute charoff { text }?
83cellvalign =
84 attribute valign { "top" | "middle" | "bottom" | "baseline" }?
85# doc:A group of columns in an HTML table.
86colgroup = element colgroup { colgroup.attlist, col* }
87# doc:Specifications for a column in an HTML table.
88col = element col { col.attlist, empty }
89# doc:A row in an HTML table.
90tr = element tr { tr.attlist, (th | td)+ }
91# doc:A table header entry in an HTML table.
92th =
93 element th {
94 th.attlist, (para.char.mix | tabentry.mix | table | informaltable)*
95 }
96# doc:A table ntry in an HTML table.
97td =
98 element td {
99 td.attlist, (para.char.mix | tabentry.mix | table | informaltable)*
100 }
101colgroup.attlist &=
102 attrs,
103 [ a:defaultValue = "1" ] attribute span { text }?,
104 attribute width { text }?,
105 cellhalign,
106 cellvalign
107col.attlist &=
108 attrs,
109 [ a:defaultValue = "1" ] attribute span { text }?,
110 attribute width { text }?,
111 cellhalign,
112 cellvalign
113tr.attlist &=
114 attrs,
115 cellhalign,
116 cellvalign,
117 attribute bgcolor { text }?
118th.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 }?
132td.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# ======================================================
152tables.role.attrib = role.attrib
153# Add label and role attributes to table and informaltable
154bodyatt =
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).
160secur =
161 common.attrib,
162 attribute class { text }?,
163 attribute style { text }?,
164 attribute title { text }?,
165 i18n,
166 events,
167 tables.role.attrib
168common.table.attribs = bodyatt, secur
169# Content model for Table (that also allows HTML tables)
170tbl.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+))
177informal.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).
187tbl.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 }?
201tbl.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.
218tbl.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
221tbl.hdft.mdl = tr+ | (colspec*, row+)
222tbl.tbody.mdl = tr+ | row+
223# End of DocBook XML HTML Table Module V4.5 ............................
224
225# ......................................................................
Note: See TracBrowser for help on using the repository browser.