1 # This is an alternative to dbsoextbl.rnc and dbcalstbl.rnc that
2 # allows the table model to be selected dynamically based on the
3 # definitions of cals.table.module and exchange.table.module.
5 # To use this, copy docbook.rnc to docbook-dyntbl.rnc replacing
6 # "dbcalstbl.rnc" by "dbdyntbl.rnc". Then, you can override the
7 # choice of table model by doing
9 # include "docbook-dyntbl.rnc" {
10 # cals.table.model = IGNORE
11 # exchange.table.model = INCLUDE
16 cals
.table
.module
= INCLUDE
17 exchange
.table
.module
= IGNORE
19 # Add common attributes and the Label attribute to Table and
21 bodyatt
= common
.attrib, label
.attrib, tables
.role
.attrib
23 # Content model for Table.
26 formalobject
.title
.content,
29 (graphic
+ | mediaobject
+ | tgroup
+)
31 table
= cals
.table | exchange
.table
36 # Reference CALS Table Model
37 include "calstbl.rnc" {
38 # Add label and role attributes to table and informaltable
39 bodyatt
= parent label
.attrib
40 # Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
41 # EntryTbl, and Entry (and InformalTable element).
42 secur
= parent common
.attrib, parent tables
.role
.attrib
43 tbl
.table
.mdl
= parent tbl
.table
.mdl
48 exchange
.table
.module,
50 # Reference OASIS Exchange Table Model
51 include "soextbl.rnc" {
52 # Add common attributes and the Label attribute to Table and
54 bodyatt
= parent bodyatt
55 tbl
.table
.mdl
= parent tbl
.table
.mdl
59 tgroup
= cals
.tgroup | exchange
.tgroup
64 # Reference CALS Table Model
65 include "calstbl.rnc" {
67 # Add label and role attributes to table and informaltable
68 bodyatt
= parent label
.attrib
69 # Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
70 # EntryTbl, and Entry (and InformalTable element).
71 secur
= parent common
.attrib, parent tables
.role
.attrib
72 # Allow either objects or inlines; beware of REs between elements.
73 tbl
.entry
.mdl
= parent para
.char
.mix | parent tabentry
.mix
78 exchange
.table
.module,
80 # Reference OASIS Exchange Table Model
81 include "soextbl.rnc" {
83 bodyatt
= parent bodyatt
84 # Add common attributes to TGroup, ColSpec, TBody, THead, Row, Entry
85 tbl
.tgroup
.att
= parent common
.attrib
86 tbl
.colspec
.att
= parent common
.attrib
87 tbl
.tbody
.att
= parent common
.attrib
88 tbl
.thead
.att
= parent common
.attrib
89 tbl
.row
.att
= parent common
.attrib
90 tbl
.entry
.att
= parent common
.attrib
91 # Allow either objects or inlines; beware of REs between elements.
92 tbl
.entry
.mdl
= (parent para
.char
.mix | parent tabentry
.mix)*
96 tbl
.table
.att
= cals
.tbl
.table
.att | exchange
.tbl
.table
.att
101 include "calstbl.rnc" {
102 start
= tbl
.table
.att
106 exchange
.tbl
.table
.att
=
107 exchange
.table
.module,
109 include "soextbl.rnc" {
110 start
= tbl
.table
.att
114 common
.table
.attribs
= bodyatt
116 # end of table.module