Merge from emacs-24; up to 2014-04-04T23:31:02Z!joaotavora@gmail.com
[bpt/emacs.git] / etc / schema / xhtml-table.rnc
1 # Tables Module
2
3 # This builds on the basic tables module, unlike with the DTD
4 # implementation.
5
6 include "xhtml-btable.rnc" {
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" }?