86361
|
1 # Tables Module
|
|
2
|
|
3 # This builds on the basic tables module, unlike with the DTD
|
|
4 # implementation.
|
|
5
|
87295
309bef8b751c
Renamed xhtml-basic-table.rnc to xhtml-btable.rnc; all users changed.
Eli Zaretskii <eliz@gnu.org>
diff
changeset
|
6 include "xhtml-btable.rnc" {
|
86361
|
7 table =
|
|
8 element table {
|
|
9 table.attlist,
|
|
10 caption?,
|
|
11 (col* | colgroup*),
|
|
12 ((thead?, tfoot?, tbody+) | tr+)
|
|
13 }
|
|
14 th = element th { th.attlist, Flow.model }
|
|
15 td = element td { td.attlist, Flow.model }
|
|
16 CellHAlign.attrib =
|
|
17 attribute align {
|
|
18 "left" | "center" | "right" | "justify" | "char"
|
|
19 }?,
|
|
20 attribute char { Character.datatype }?,
|
|
21 attribute charoff { Length.datatype }?
|
|
22 CellVAlign.attrib =
|
|
23 attribute valign { "top" | "middle" | "bottom" | "baseline" }?
|
|
24 scope.attrib =
|
|
25 attribute scope { "row" | "col" | "rowgroup" | "colgroup" }?
|
|
26 }
|
|
27 table.attlist &=
|
|
28 attribute width { Length.datatype }?,
|
|
29 attribute border { Pixels.datatype }?,
|
|
30 frame.attrib,
|
|
31 rules.attrib,
|
|
32 attribute cellspacing { Length.datatype }?,
|
|
33 attribute cellpadding { Length.datatype }?
|
|
34 col = element col { col.attlist }
|
|
35 col.attlist =
|
|
36 Common.attrib,
|
|
37 attribute span { Number.datatype }?,
|
|
38 attribute width { MultiLength.datatype }?,
|
|
39 CellHAlign.attrib,
|
|
40 CellVAlign.attrib
|
|
41 colgroup = element colgroup { colgroup.attlist, col* }
|
|
42 colgroup.attlist =
|
|
43 Common.attrib,
|
|
44 attribute span { Number.datatype }?,
|
|
45 attribute width { MultiLength.datatype }?,
|
|
46 CellHAlign.attrib,
|
|
47 CellVAlign.attrib
|
|
48 tbody = element tbody { tbody.attlist, tr+ }
|
|
49 tbody.attlist = Common.attrib, CellHAlign.attrib, CellVAlign.attrib
|
|
50 thead = element thead { thead.attlist, tr+ }
|
|
51 thead.attlist = Common.attrib, CellHAlign.attrib, CellVAlign.attrib
|
|
52 tfoot = element tfoot { tfoot.attlist, tr+ }
|
|
53 tfoot.attlist = Common.attrib, CellHAlign.attrib, CellVAlign.attrib
|
|
54 frame.attrib =
|
|
55 attribute frame {
|
|
56 "void"
|
|
57 | "above"
|
|
58 | "below"
|
|
59 | "hsides"
|
|
60 | "lhs"
|
|
61 | "rhs"
|
|
62 | "vsides"
|
|
63 | "box"
|
|
64 | "border"
|
|
65 }?
|
|
66 rules.attrib =
|
|
67 attribute rules { "none" | "groups" | "rows" | "cols" | "all" }?
|