Kill eol whitespace; nfc.
[emacs.git] / etc / schema / xhtml-table.rnc
blob129d7b6742c87d5a7e93820ad708e1e06ba10871
1 # Tables Module
3 # This builds on the basic tables module, unlike with the DTD
4 # implementation.
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" }?
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" }?