view etc/schema/xhtml-table.rnc @ 111512:4f757d8e8ed7

Apply XAtom revork patches from Julien Danjou. * xsettings.c (init_xsettings): Use already fetch atoms. * xsmfns.c (create_client_leader_window): Use SM_CLIENT_ID atom from dpyinfo. * xselect.c (Fx_send_client_event): Split and create x_send_client_event. * lisp.h: Do not EXFUN Fx_send_client_event. * xterm.c (x_set_frame_alpha): Use _NET_WM_WINDOW_OPACITY atom from dpyinfo. (wm_supports): Use atoms from dpyinfo. (do_ewmh_fullscreen): Use atoms from dpyinfo. (x_ewmh_activate_frame): Use atoms from dpyinfo. (xembed_set_info): Use atoms from dpyinfo. (x_term_init): Fetch _XEMBED_INFO, _NET_SUPPORTED, _NET_SUPPORTING_WM_CHECK, _NET_WM_WINDOW_OPACITY and _NET_ACTIVE_WINDOW, XSETTINGS atoms. Get all atoms in one round-trip. (set_wm_state): Use x_send_client_event rather than Fx_send_client_event, using Atom directly. (x_ewmh_activate_frame): Ditto. (x_set_sticky): Pass atoms to set_wm_state. (do_ewmh_fullscreen): Ditto. * xterm.h (x_display_info): Add Xatom_net_supported, Xatom_net_supporting_wm_check, Xatom_net_active_window, Xatom_net_wm_window_opacity, Xatom_XEMBED_INFO, SM_CLIENT_ID. * xfns.c (Fx_show_tip): Fix typo in docstring.
author Jan D. <jan.h.d@swipnet.se>
date Fri, 12 Nov 2010 10:31:44 +0100
parents 309bef8b751c
children
line wrap: on
line source

# 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" }?