Commit aae62bd5 authored by Chong Yidong's avatar Chong Yidong

File removed due to dependence on (apparently) non-free soextbl spec.

parent 2e7628d8
# 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
# Definitions specific to the OASIS XML Exchange Table Model.
# Reference OASIS Exchange Table Model
include "soextbl.rnc" {
# Override definition of start
start |= notAllowed
# Add common attributes and the Label attribute to Table and
# InformalTable.
bodyatt = common.attrib, label.attrib, tables.role.attrib
# Add common attributes to TGroup, ColSpec, TBody, THead, Row, Entry
tbl.tgroup.att = common.attrib
tbl.colspec.att = common.attrib
tbl.tbody.att = common.attrib
tbl.thead.att = common.attrib
tbl.row.att = common.attrib
tbl.entry.att = common.attrib
# Content model for Table.
tbl.table.mdl =
blockinfo?,
formalobject.title.content,
ndxterm.class*,
textobject*,
(graphic+ | mediaobject+ | tgroup+)
# Allow either objects or inlines; beware of REs between elements.
tbl.entry.mdl = (para.char.mix | tabentry.mix)*
}
common.table.attribs = bodyatt
# end of table.module
# Variant of docbook.rnc that allows the table model to be selected
# dynamically based on the definitions of cals.table.module and
# exchange.table.module. See dbdyntbl.rnc.
# Document (root) elements
include "dbstart.rnc"
# Notation declarations
include "dbnotn.rnc"
# Information pool
include "dbpool.rnc"
# Dynamic Table Model
include "dbdyntbl.rnc"
# Document hierarchy
include "dbhier.rnc"
# Variant of docbook.rnc that uses the OASIS XML Exchange Table Model
# rather than the CALS Table Model.
# Document (root) elements
include "dbstart.rnc"
# Notation declarations
include "dbnotn.rnc"
# Information pool
include "dbpool.rnc"
# OASIS XML Exchange Table Model
include "dbsoextbl.rnc"
# Document hierarchy
include "dbhier.rnc"
# XML EXCHANGE TABLE MODEL DECLARATION MODULE
# This set of declarations defines the XML version of the Exchange
# Table Model as of the date shown in the Formal Public Identifier
# (FPI) for this entity.
#
# This set of declarations may be referred to using a public external
# entity declaration and reference as shown in the following three
# lines:
#
# <!ENTITY % calstblx
# PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN">
# %calstblx;
#
# If various parameter entities used within this set of declarations
# are to be given non-default values, the appropriate declarations
# should be given before calling in this package (i.e., before the
# "%calstblx;" reference).
# The motivation for this XML version of the Exchange Table Model
# is simply to create an XML version of the SGML Exchange Table
# Model. By design, no effort has been made to "improve" the model.
#
# This XML version incorporates the logical bare minimum changes
# necessary to make the Exchange Table Model a valid XML DTD.
# The XML version of the Exchange Table Model differs from
# the SGML version in the following ways:
#
# The following parameter entities have been removed:
#
# - tbl.table.excep, tbl.hdft.excep, tbl.row.excep, tbl.entry.excep
# There are no exceptions in XML. The following normative statement
# is made in lieu of exceptions: the exchange table model explicitly
# forbids a table from occurring within another table. If the
# content model of an entry includes a table element, then this
# cannot be enforced by the DTD, but it is a deviation from the
# exchange table model to include a table within a table.
#
# - tbl.hdft.name, tbl.hdft.mdl, tbl.hdft.excep, tbl.hdft.att
# The motivation for these elements was to change the table
# header/footer elements. Since XML does not allow element declarations
# to contain name groups, and the exchange table model does not
# allow a table to contain footers, the continued presence of these
# attributes seems unnecessary.
#
# The following parameter entity has been added:
#
# - tbl.thead.att
# This entity parameterizes the attributes on thead. It replaces
# the tbl.hdft.att parameter entity.
#
# Other miscellaneous changes:
#
# - Tag ommission indicators have been removed
# - Comments have been removed from declarations
# - NUMBER attributes have been changed to NMTOKEN
# - NUTOKEN attributes have been to changed to NMTOKEN
# - Removed the grouping characters around the content model
# parameter entry for the 'entry' element. This is necessary
# so that an entry can contain #PCDATA and be defined as an
# optional, repeatable OR group beginning with #PCDATA.
# This entity includes a set of element and attribute declarations
# that partially defines the Exchange table model. However, the model
# is not well-defined without the accompanying natural language
# description of the semantics (meanings) of these various elements,
# attributes, and attribute values. The semantic writeup, also available
# from SGML Open, should be used in conjunction with this entity.
# In order to use the Exchange table model, various parameter entity
# declarations are required. A brief description is as follows:
#
# ENTITY NAME WHERE USED WHAT IT IS
#
# %yesorno In ATTLIST of: An attribute declared value
# almost all elements for a "boolean" attribute
#
# %paracon In content model of: The "text" (logical content)
# <entry> of the model group for <entry>
#
# %titles In content model of: The "title" part of the model
# table element group for the table element
#
# %tbl.table.name In declaration of: The name of the "table"
# table element element
#
# %tbl.table-titles.mdl In content model of: The model group for the title
# table elements part of the content model for
# table element
#
# %tbl.table.mdl In content model of: The model group for the content
# table elements model for table element,
# often (and by default) defined
# in terms of %tbl.table-titles.mdl
# and tgroup
#
# %tbl.table.att In ATTLIST of: Additional attributes on the
# table element table element
#
# %bodyatt In ATTLIST of: Additional attributes on the
# table element table element (for backward
# compatibility with the SGML
# model)
#
# %tbl.tgroup.mdl In content model of: The model group for the content
# <tgroup> model for <tgroup>
#
# %tbl.tgroup.att In ATTLIST of: Additional attributes on the
# <tgroup> <tgroup> element
#
# %tbl.thead.att In ATTLIST of: Additional attributes on the
# <thead> <thead> element
#
# %tbl.tbody.att In ATTLIST of: Additional attributes on the
# <tbody> <tbody> element
#
# %tbl.colspec.att In ATTLIST of: Additional attributes on the
# <colspec> <colspec> element
#
# %tbl.row.mdl In content model of: The model group for the content
# <row> model for <row>
#
# %tbl.row.att In ATTLIST of: Additional attributes on the
# <row> <row> element
#
# %tbl.entry.mdl In content model of: The model group for the content
# <entry> model for <entry>
#
# %tbl.entry.att In ATTLIST of: Additional attributes on the
# <entry> <entry> element
#
# This set of declarations will use the default definitions shown below
# for any of these parameter entities that are not declared before this
# set of declarations is referenced.
# These definitions are not directly related to the table model, but are
# used in the default CALS table model and may be defined elsewhere (and
# prior to the inclusion of this table module) in the referencing DTD.
yesorno = xsd:NMTOKEN
# no if zero(s), yes if any other value
pcd = text
paracon = pcd
# default for use in entry content
# The parameter entities as defined below change and simplify the CALS table
# model as published (as part of the Example DTD) in MIL-HDBK-28001. The
# resulting simplified DTD has support from the SGML Open vendors and is
# therefore more interoperable among different systems.
#
# These following declarations provide the Exchange default definitions
# for these entities. However, these entities can be redefined (by giving
# the appropriate parameter entity declaration(s) prior to the reference
# to this Table Model declaration set entity) to fit the needs of the
# current application.
#
# Note, however, that changes may have significant effect on the ability to
# interchange table information. These changes may manifest themselves
# in useability, presentation, and possible structure information degradation.
tbl.table-titles.mdl = title
tbl.table-main.mdl = tgroup+
tbl.table.mdl = tbl.table-titles.mdl | tbl.table-main.mdl
tbl.table.att = attribute pgwide { yesorno }?
bodyatt = empty
tbl.tgroup.mdl = colspec*, thead?, tbody
tbl.tgroup.att = empty
tbl.thead.att = empty
tbl.tbody.att = empty
tbl.colspec.att = empty
tbl.row.mdl = entry+
tbl.row.att = empty
tbl.entry.mdl = paracon*
tbl.entry.att = empty
# ===== Element and attribute declarations follow. =====
# Default declarations previously defined in this entity and
# referenced below include:
# ENTITY % tbl.table.name "table"
# ENTITY % tbl.table-titles.mdl "%titles;,"
# ENTITY % tbl.table.mdl "%tbl.table-titles; tgroup+"
# ENTITY % tbl.table.att "
# pgwide %yesorno; #IMPLIED "
table = element table { table.attlist, tbl.table.mdl }
table.attlist &=
attribute frame {
"top" | "bottom" | "topbot" | "all" | "sides" | "none"
}?,
attribute colsep { yesorno }?,
attribute rowsep { yesorno }?,
tbl.table.att,
bodyatt
# Default declarations previously defined in this entity and
# referenced below include:
# ENTITY % tbl.tgroup.mdl "colspec*,thead?,tbody"
# ENTITY % tbl.tgroup.att ""
tgroup = element tgroup { tgroup.attlist, tbl.tgroup.mdl }
tgroup.attlist &=
attribute cols { xsd:NMTOKEN },
attribute colsep { yesorno }?,
attribute rowsep { yesorno }?,
attribute align { "left" | "right" | "center" | "justify" | "char" }?,
tbl.tgroup.att
# Default declarations previously defined in this entity and
# referenced below include:
# ENTITY % tbl.colspec.att ""
colspec = element colspec { colspec.attlist, empty }
colspec.attlist &=
attribute colnum { xsd:NMTOKEN }?,
attribute colname { xsd:NMTOKEN }?,
attribute colwidth { text }?,
attribute colsep { yesorno }?,
attribute rowsep { yesorno }?,
attribute align { "left" | "right" | "center" | "justify" | "char" }?,
attribute char { text }?,
attribute charoff { xsd:NMTOKEN }?,
tbl.colspec.att
# Default declarations previously defined in this entity and
# referenced below include:
# ENTITY % tbl.thead.att ""
thead = element thead { thead.attlist, row+ }
thead.attlist &=
attribute valign { "top" | "middle" | "bottom" }?,
tbl.thead.att
# Default declarations previously defined in this entity and
# referenced below include:
# ENTITY % tbl.tbody.att ""
tbody = element tbody { tbody.attlist, row+ }
tbody.attlist &=
attribute valign { "top" | "middle" | "bottom" }?,
tbl.tbody.att
# Default declarations previously defined in this entity and
# referenced below include:
# ENTITY % tbl.row.mdl "entry+"
# ENTITY % tbl.row.att ""
row = element row { row.attlist, tbl.row.mdl }
row.attlist &=
attribute rowsep { yesorno }?,
attribute valign { "top" | "middle" | "bottom" }?,
tbl.row.att
# Default declarations previously defined in this entity and
# referenced below include:
# ENTITY % paracon "#PCDATA"
# ENTITY % tbl.entry.mdl "(%paracon;)*"
# ENTITY % tbl.entry.att ""
entry = element entry { entry.attlist, tbl.entry.mdl }
entry.attlist &=
attribute colname { xsd:NMTOKEN }?,
attribute namest { xsd:NMTOKEN }?,
attribute nameend { xsd:NMTOKEN }?,
attribute morerows { xsd:NMTOKEN }?,
attribute colsep { yesorno }?,
attribute rowsep { yesorno }?,
attribute align { "left" | "right" | "center" | "justify" | "char" }?,
attribute char { text }?,
attribute charoff { xsd:NMTOKEN }?,
attribute valign { "top" | "middle" | "bottom" }?,
tbl.entry.att
title |= notAllowed
start = table
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment