322 lines
13 KiB
DTD
322 lines
13 KiB
DTD
|
<!-- 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.
|
||
|
|
||
|
It has been modified slightly for use in the combined HTML/CALS models
|
||
|
supported by DocBook V4.3 and later.
|
||
|
-->
|
||
|
|
||
|
<!-- 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. -->
|
||
|
|
||
|
<!ENTITY % yesorno 'NMTOKEN'> <!-- no if zero(s), yes if any other value -->
|
||
|
<!ENTITY % titles 'title?'>
|
||
|
<!ENTITY % pcd "#PCDATA">
|
||
|
<!ENTITY % 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.
|
||
|
-->
|
||
|
|
||
|
<!ENTITY % tbl.table.name "table">
|
||
|
<!ENTITY % tbl.table-titles.mdl "%titles;,">
|
||
|
<!ENTITY % tbl.table-main.mdl "tgroup+">
|
||
|
<!ENTITY % tbl.table.mdl "%tbl.table-titles.mdl; %tbl.table-main.mdl;">
|
||
|
<!ENTITY % tbl.table.att "
|
||
|
pgwide %yesorno; #IMPLIED ">
|
||
|
<!ENTITY % bodyatt "">
|
||
|
<!ENTITY % tbl.tgroup.mdl "colspec*,thead?,tbody">
|
||
|
<!ENTITY % tbl.tgroup.att "">
|
||
|
<!ENTITY % tbl.thead.att "">
|
||
|
<!ENTITY % tbl.tbody.att "">
|
||
|
<!ENTITY % tbl.colspec.att "">
|
||
|
<!ENTITY % tbl.row.mdl "entry+">
|
||
|
<!ENTITY % tbl.row.att "">
|
||
|
<!ENTITY % tbl.entry.mdl "(%paracon;)*">
|
||
|
<!ENTITY % tbl.entry.att "">
|
||
|
|
||
|
<!ENTITY % tbl.frame.attval "top|bottom|topbot|all|sides|none">
|
||
|
<!ENTITY % tbl.tbody.mdl "row+">
|
||
|
|
||
|
<!-- ===== 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 "
|
||
|
-->
|
||
|
|
||
|
<!--doc:???-->
|
||
|
<!ELEMENT %tbl.table.name; (%tbl.table.mdl;)>
|
||
|
|
||
|
<!ATTLIST %tbl.table.name;
|
||
|
frame (%tbl.frame.attval;) #IMPLIED
|
||
|
colsep %yesorno; #IMPLIED
|
||
|
rowsep %yesorno; #IMPLIED
|
||
|
%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 ""
|
||
|
-->
|
||
|
|
||
|
<!--doc:A wrapper for the main content of a table, or part of a table.-->
|
||
|
<!ELEMENT tgroup (%tbl.tgroup.mdl;) >
|
||
|
|
||
|
<!ATTLIST tgroup
|
||
|
cols NMTOKEN #REQUIRED
|
||
|
colsep %yesorno; #IMPLIED
|
||
|
rowsep %yesorno; #IMPLIED
|
||
|
align (left|right|center|justify|char) #IMPLIED
|
||
|
%tbl.tgroup.att;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Default declarations previously defined in this entity and
|
||
|
referenced below include:
|
||
|
ENTITY % tbl.colspec.att ""
|
||
|
-->
|
||
|
|
||
|
<!--doc:Specifications for a column in a table.-->
|
||
|
<!ELEMENT colspec EMPTY >
|
||
|
|
||
|
<!ATTLIST colspec
|
||
|
colnum NMTOKEN #IMPLIED
|
||
|
colname NMTOKEN #IMPLIED
|
||
|
colwidth CDATA #IMPLIED
|
||
|
colsep %yesorno; #IMPLIED
|
||
|
rowsep %yesorno; #IMPLIED
|
||
|
align (left|right|center|justify|char) #IMPLIED
|
||
|
char CDATA #IMPLIED
|
||
|
charoff NMTOKEN #IMPLIED
|
||
|
%tbl.colspec.att;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Default declarations previously defined in this entity and
|
||
|
referenced below include:
|
||
|
ENTITY % tbl.thead.att ""
|
||
|
-->
|
||
|
|
||
|
<!--doc:A table header consisting of one or more rows.-->
|
||
|
<!ELEMENT thead (row+)>
|
||
|
|
||
|
<!ATTLIST thead
|
||
|
valign (top|middle|bottom) #IMPLIED
|
||
|
%tbl.thead.att;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Default declarations previously defined in this entity and
|
||
|
referenced below include:
|
||
|
ENTITY % tbl.tbody.att ""
|
||
|
-->
|
||
|
|
||
|
<!--doc:A wrapper for the rows of a table or informal table.-->
|
||
|
<!ELEMENT tbody (%tbl.tbody.mdl;)>
|
||
|
|
||
|
<!ATTLIST tbody
|
||
|
valign (top|middle|bottom) #IMPLIED
|
||
|
%tbl.tbody.att;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Default declarations previously defined in this entity and
|
||
|
referenced below include:
|
||
|
ENTITY % tbl.row.mdl "entry+"
|
||
|
ENTITY % tbl.row.att ""
|
||
|
-->
|
||
|
|
||
|
<!--doc:A row in a table.-->
|
||
|
<!ELEMENT row (%tbl.row.mdl;)>
|
||
|
|
||
|
<!ATTLIST row
|
||
|
rowsep %yesorno; #IMPLIED
|
||
|
valign (top|middle|bottom) #IMPLIED
|
||
|
%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 ""
|
||
|
-->
|
||
|
|
||
|
<!--doc:A cell in a table.-->
|
||
|
<!ELEMENT entry (%tbl.entry.mdl;)*>
|
||
|
|
||
|
<!ATTLIST entry
|
||
|
colname NMTOKEN #IMPLIED
|
||
|
namest NMTOKEN #IMPLIED
|
||
|
nameend NMTOKEN #IMPLIED
|
||
|
morerows NMTOKEN #IMPLIED
|
||
|
colsep %yesorno; #IMPLIED
|
||
|
rowsep %yesorno; #IMPLIED
|
||
|
align (left|right|center|justify|char) #IMPLIED
|
||
|
char CDATA #IMPLIED
|
||
|
charoff NMTOKEN #IMPLIED
|
||
|
valign (top|middle|bottom) #IMPLIED
|
||
|
%tbl.entry.att;
|
||
|
>
|