[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to etc/schema/dbdyntbl.rnc
From: |
Mark A. Hershberger |
Subject: |
[Emacs-diffs] Changes to etc/schema/dbdyntbl.rnc |
Date: |
Fri, 23 Nov 2007 06:58:04 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Mark A. Hershberger <hexmode> 07/11/23 06:58:00
Index: etc/schema/dbdyntbl.rnc
===================================================================
RCS file: etc/schema/dbdyntbl.rnc
diff -N etc/schema/dbdyntbl.rnc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ etc/schema/dbdyntbl.rnc 23 Nov 2007 06:57:44 -0000 1.1
@@ -0,0 +1,116 @@
+# 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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to etc/schema/dbdyntbl.rnc,
Mark A. Hershberger <=