mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-14 16:50:58 +00:00
261 lines
11 KiB
Plaintext
261 lines
11 KiB
Plaintext
# 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
|