view etc/schema/xhtml-table.rnc @ 110433:33cf78a271ef

Merge changes made in Gnus trunk. mail-parse.el (mail-header-encode-parameter): Define as rfc2045-encode-string. nnheader.el (nnheader-insert-nov): Protect against junk appearing in the extra mail headers. gnus-html.el: Prefetch and html washing additions. gnus-html.el (gnus-html-prefetch-images): Fix up the url-retrieve calling conventions so that prefetch doesn't bug out. Pass proper format strings to gnus-message. nnimap.el: Allow anonymous login. nnimap.el (nnimap-transform-headers): The chars header is called Chars not Bytes. nnimap.el (nnimap-wait-for-response): Don't infloop if the IMAP connection drops. gnus-start.el (gnus-get-unread-articles): Call `gnus-open-server' on each method before trying to scan them etc. gnus-sum.el (gnus-summary-update-mark): Replace subst-char-in-region by subst-char-in-region. gnus.el (gnus-similar-server-opened): Refactor a bit and add comments. gnus.el: Fix a speed regression based in methods that were similar weren't the same. gnus.el (gnus): When using the development version of Gnus, load the gnus-load file. nnimap.el (nnimap-open-connection): When looking for credentials, also use the nnimap-server-port. nnimap.el (nnimap-request-article): Return the group/article number, so that Gnus `^' works as expected. nnimap.el (nnimap-find-wanted-parts-1): Return the MIME parts as IMAP wants them. gnus-start.el (gnus-ignored-newsgroups): Remove [] from the list of bogus characters. gnus-html.el (gnus-html-image-fetched): Protect against the data not arriving. nnimap.el (nnimap-wait-for-connection): Avoid a race condition while waiting for the connection string. gnus.texi (Required Back End Functions): Document INFO.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Mon, 20 Sep 2010 00:36:54 +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" }?