mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-10 05:30:45 -08:00
116 lines
3.2 KiB
Text
116 lines
3.2 KiB
Text
# 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
|