view etc/schema/xhtml-table.rnc @ 102560:291f6c889881

Unify shutdown handling under NS, via ns-power-off key event (where appropriate) and save-buffers-kill-emacs. remove NS-specific preferences window that used to show NS-specific preferences. Integrate preferences in Lisp accessible customization system where possible. Remove ns-expand-space, because it can be set only during fontloading (i.e. not at runtime), and because of redundancy with line-spacing frame parameter. Remove loading of most and saving of all NS resources (from org.gnu.Emacs.plist). nsterm.m (ns_shutdown_properly, -terminate): remove global state variable as it was never reset (ns_term_init): remove initialization of Lisp-settable defaults and ns_expand_space (-setPanelFromDefaultValues): remove ns_expand_space. (-showPreferencesWindow): send new KEY_NS_SHOW_PREFS key. nsfont.m (nsfont_open): remove ns_expand_space, assume -0.5 i.e. no additional spacing, similar to Carbon port. nsterm.h: define KEY_NS_SHOW_PREFS key. nsfns.m (ns-popup-prefs-panel): remove. term/ns-win.el (ns-expand-space): remove. (ns-show-prefs event): run `customize'. (ns-power-off): run `save-buffers-kill-emacs', but ask user whether to save files (as is standard) (clipboard-yank, clipboard-kill-ring-save, clipboard-kill-region) (menu-bar-enable-clipboard): do not undefine these. (ns-save-preferences,ns-save-options,ns-show-preferences-help): remove.
author David Reitter <david.reitter@gmail.com>
date Sat, 14 Mar 2009 21:19:56 +0000
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" }?