emacs/etc/schema/xhtml-table.rnc

68 lines
1.9 KiB
Plaintext

# Tables Module
# This builds on the basic tables module, unlike with the DTD
# implementation.
include "xhtml-btable.rnc" {
table =
element table {
table.attlist,
caption?,
(col* | colgroup*),
((thead?, tfoot?, tbody+) | tr+)
}
th = element th { th.attlist, Flow.model }
td = element td { td.attlist, Flow.model }
CellHAlign.attrib =
attribute align {
"left" | "center" | "right" | "justify" | "char"
}?,
attribute char { Character.datatype }?,
attribute charoff { Length.datatype }?
CellVAlign.attrib =
attribute valign { "top" | "middle" | "bottom" | "baseline" }?
scope.attrib =
attribute scope { "row" | "col" | "rowgroup" | "colgroup" }?
}
table.attlist &=
attribute width { Length.datatype }?,
attribute border { Pixels.datatype }?,
frame.attrib,
rules.attrib,
attribute cellspacing { Length.datatype }?,
attribute cellpadding { Length.datatype }?
col = element col { col.attlist }
col.attlist =
Common.attrib,
attribute span { Number.datatype }?,
attribute width { MultiLength.datatype }?,
CellHAlign.attrib,
CellVAlign.attrib
colgroup = element colgroup { colgroup.attlist, col* }
colgroup.attlist =
Common.attrib,
attribute span { Number.datatype }?,
attribute width { MultiLength.datatype }?,
CellHAlign.attrib,
CellVAlign.attrib
tbody = element tbody { tbody.attlist, tr+ }
tbody.attlist = Common.attrib, CellHAlign.attrib, CellVAlign.attrib
thead = element thead { thead.attlist, tr+ }
thead.attlist = Common.attrib, CellHAlign.attrib, CellVAlign.attrib
tfoot = element tfoot { tfoot.attlist, tr+ }
tfoot.attlist = Common.attrib, CellHAlign.attrib, CellVAlign.attrib
frame.attrib =
attribute frame {
"void"
| "above"
| "below"
| "hsides"
| "lhs"
| "rhs"
| "vsides"
| "box"
| "border"
}?
rules.attrib =
attribute rules { "none" | "groups" | "rows" | "cols" | "all" }?