view etc/schema/dbdyntbl.rnc @ 86879:86f143f19d08

* textmodes/org-export-latex.el (org-export-latex-cleaned-string): Move args on defun line. * textmodes/org.el (org-calendar-holiday): Use calendar-check-holidays instead of the obsolete check-calendar-holidays. (add-to-diary-list, table--at-cell-p, Info-find-node, bbdb) (bbdb-company, bbdb-current-record, bbdb-name) (bbdb-record-getprop, bbdb-record-name) (bibtex-beginning-of-entry, bibtex-generate-autokey) (bibtex-parse-entry, bibtex-url, cdlatex-tab) (dired-get-filename, gnus-article-show-summary, mh-display-msg) (mh-find-path, mh-get-header-field, mh-get-msg-num) (mh-header-display, mh-index-previous-folder) (mh-normalize-folder-name, mh-search, mh-search-choose, mh-show) (mh-show-buffer-message-number, mh-show-header-display) (mh-show-msg, mh-show-show, mh-visit-folder) (org-export-latex-cleaned-string, remember) (remember-buffer-desc, rmail-narrow-to-non-pruned-header) (rmail-what-message, elmo-folder-exists-p) (elmo-message-entity-field, elmo-message-field) (vm-beginning-of-message, vm-follow-summary-cursor) (vm-get-header-contents, vm-isearch-narrow, vm-isearch-update) (vm-select-folder-buffer, vm-su-message-id, vm-su-subject) (vm-summarize, wl-folder-get-elmo-folder) (wl-summary-goto-folder-subr) (wl-summary-jump-to-msg-by-message-id, wl-summary-line-from) (wl-summary-line-subject, wl-summary-message-number) (wl-summary-redisplay): Declare as functions.
author Dan Nicolaescu <dann@ics.uci.edu>
date Fri, 30 Nov 2007 16:24:40 +0000
parents 38f93f3d00a2
children 07ace381dccd
line wrap: on
line source

# This is an alternative to dbsoextbl.rnc and dbcalstbl.rnc that
# allows the table model to be selected dynamically based on the
# definitions of cals.table.module and exchange.table.module.
#
# To use this copy, docbook.rnc to docbook-dyntbl.rnc replacing
# "dbcalstbl.rnc" by "dbdyntbl.rnc".  Then, you can override the
# choice of table model by doing
#
# include "docbook-dyntbl.rnc" {
#   cals.table.model = IGNORE
#   exchange.table.model = INCLUDE
# }

INCLUDE = empty
IGNORE = notAllowed
cals.table.module = INCLUDE
exchange.table.module = IGNORE

# Add common attributes and the Label attribute to Table and
# InformalTable.
bodyatt = common.attrib, label.attrib, tables.role.attrib

# Content model for Table.
tbl.table.mdl =
  blockinfo?,
  formalobject.title.content,
  ndxterm.class*,
  textobject*,
  (graphic+ | mediaobject+ | tgroup+)

table = cals.table | exchange.table

cals.table =
  cals.table.module,
  grammar {
    # Reference CALS Table Model
    include "calstbl.rnc" {
      # Add label and role attributes to table and informaltable
      bodyatt = parent label.attrib
      # Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
      # EntryTbl, and Entry (and InformalTable element).
      secur = parent common.attrib, parent tables.role.attrib
      tbl.table.mdl = parent tbl.table.mdl
    }
  }

exchange.table =
  exchange.table.module,
  grammar {
    # Reference OASIS Exchange Table Model
    include "soextbl.rnc" {
      # Add common attributes and the Label attribute to Table and
      # InformalTable.
      bodyatt = parent bodyatt
      tbl.table.mdl = parent tbl.table.mdl
    }
  }

tgroup = cals.tgroup | exchange.tgroup

cals.tgroup =
  cals.table.module,
  grammar {
    # Reference CALS Table Model
    include "calstbl.rnc" {
      start = tgroup
      # Add label and role attributes to table and informaltable
      bodyatt = parent label.attrib
      # Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
      # EntryTbl, and Entry (and InformalTable element).
      secur = parent common.attrib, parent tables.role.attrib
      # Allow either objects or inlines; beware of REs between elements.
      tbl.entry.mdl = parent para.char.mix | parent tabentry.mix
    }
  }

exchange.tgroup =
  exchange.table.module,
  grammar {
    # Reference OASIS Exchange Table Model
    include "soextbl.rnc" {
      start = tgroup
      bodyatt = parent bodyatt
      # Add common attributes to TGroup, ColSpec, TBody, THead, Row, Entry
      tbl.tgroup.att = parent common.attrib
      tbl.colspec.att = parent common.attrib
      tbl.tbody.att = parent common.attrib
      tbl.thead.att = parent common.attrib
      tbl.row.att = parent common.attrib
      tbl.entry.att = parent common.attrib
      # Allow either objects or inlines; beware of REs between elements.
      tbl.entry.mdl = (parent para.char.mix | parent tabentry.mix)*
    }
  }

tbl.table.att = cals.tbl.table.att | exchange.tbl.table.att

cals.tbl.table.att =
  cals.table.module,
  grammar {
    include "calstbl.rnc" {
      start = tbl.table.att
    }
  }

exchange.tbl.table.att =
  exchange.table.module,
  grammar {
    include "soextbl.rnc" {
      start = tbl.table.att
    }
  }

common.table.attribs = bodyatt

# end of table.module