You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
312 lines
12 KiB
312 lines
12 KiB
<!-- |
|
=========================================================================== |
|
OASIS XML Exchange Table Model Declaration Module |
|
=========================================================================== |
|
:Date: 1999-03-15 |
|
--> |
|
|
|
<!-- 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 |
|
4 <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 % paracon '#PCDATA'> <!-- 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 ""> |
|
|
|
<!-- ===== 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 " |
|
--> |
|
|
|
<!ELEMENT %tbl.table.name; (%tbl.table.mdl;)> |
|
|
|
<!ATTLIST %tbl.table.name; |
|
frame (top|bottom|topbot|all|sides|none) #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 "" |
|
--> |
|
|
|
<!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 "" |
|
--> |
|
|
|
<!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 "" |
|
--> |
|
|
|
<!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 "" |
|
--> |
|
|
|
<!ELEMENT tbody (row+)> |
|
|
|
<!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 "" |
|
--> |
|
|
|
<!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 "" |
|
--> |
|
|
|
<!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; |
|
>
|
|
|